Well, I decided to issue one additional beta. It is here: https://dl.dropbox.com/s/hw36l5ttfo51s53/mathomir_beta.zip

What happened is that I finally obtained my new laptop with Windows 7 installed on it (until now I worked on WinXP). The Windows 7 insight showed me some bugs and awkward behaviors that I wanted to address. I solved some bugs and implemented several features:

  • I added an option to choose for ‘Very Large’ toolbox/toolbar/context menus. This is to support small-size-high-resolution displays. See under “View->Toolbox and context menu”.
  • It is now possible to select the default zoom level (80%, 100%, 120% or 150%). Until now the default zoom level was always fixed to 100%. See under “Options->Font sizes & Zoom”… This is also made to support various display resolutions.
  • You can still select from small, medium, large and very large default font sizes. However instead of 80%, 100%, 150% and 185% these options will now map to 85%, 100%, 120% and 150% relative font sizes, respectively. Obviously anyone who used the ‘large’ font size in previous version will now have to use the ‘very large’ font size to obtain the same effect… I decided to make this change to allow for finer gradation among possible font sizes.
  • I moved two options from the “View->Zoom” menu into the new  “Options->Mouse” menu.  These two options are “Mouse wheel zooms only if CTRL is held” and “Zooming with mouse wheel adjusts pointer”. I also added one new option “Reverse direction for mouse wheel scrolling”… I hope somehow that these options can help users that use a touchpad instead of a real mouse.
  • You can now close a popup context menu by simple left-click anywhere outside of it (until now left-clicking outside of an opened context menu produced an annoying beep sound).

However the main motivation to release this beta7 version is a bug I noticed on my new windows 7 machine: after installation, every time the program is started an error message box would appear saying “cannot open file!”. The remedy is to choose “Options->Save settings->Save as default”, but I suppose that most users did not even try it. I addressed this problem by changing the installation procedure to provide ‘modify’ permissions for the Math-o-mir application folder. I am not however sure this will work smoothly on every computer. Therefore I am issuing this beta 7.

To keep Math-o-mir as portable as possible, I am saving the default settings (the mathomir.set file) into the same folder where the mathomir.exe file resides. This way anyone can simply copy these two files on an USB stick and have the software ready. The problem with this solution is that two users on the same computer cannot adjust Math-o-mir default settings independently (because both will save their settings into the same mathomir.set file). Independent settings are only possible if each user makes its own copy of the software (it is 1.3MB per user)…. something to think about.

 

The clickpad

Now, mostly unrelated to Math-o-mir, I want to comment on the clickpad (a clickable touchpad) that came with my new laptop (a Lenovo ThinkPad). This is the first time I had a chance to work with a clickpad, and I cannot tell I am too happy. I think I would prefer separate buttons (if you don’t know yet, a clickpad has no separate buttons for left/right mouse clicks. Instead the whole surface of the touchpad is one gigantic button that can be clicked). In any case, because the Math-o-mir uses the right mouse button heavily, I am now slower than on my old laptop. I hope to improve my performance with some practice.

The clickpad is a multi-touch touchpad. This is good and I like some gestures like two-finger-scrolling and two-finger-right-clicking. There are many more gestures that the device can recognize, but the human user is a weak link here – we humans can only make a limited number of gestures in a recognizable manner. This is why I had to disable most of them.

This particular clickpad has some disadvantages:

  • It is not possible to separately set sensitivity for finger-glide and for finger-tap. I think I would prefer lighter touch when gliding, but heavier to tap.
  • It generates WM_HSCROLL messages when horizontal-scroll gesture is applied. Fine… But it generates WM_MOUSEWHEEL messages when the vertical-scroll is applied. Why? What is wrong with WM_VSCORLL messages? I suppose that this is because the WM_MOUSEWHEEL can provide smoother scrolling than the WM_VSCROLL. But the problem is that the zoom-in/zoom-out gesture also generates the WM_MOUSEWHEEL messages (now with the CTRL key pressed). This would confuse the Math-o-mir because by default  it uses the mouse wheel for zooming, not for scrolling. You can enable the “Mouse wheel zooms only if CTRL is held” option in Math-o-mir to resolve this, but the question is should I then enable this option by default?
  • When clicked, the clickpad travels a long way down (a shorter travel would be better) and a very loud and embarrassing clang sound is produced.
  • It takes some large force to produce the click. I suppose that this is inherent to all clickpads – otherwise too many accidental clicks would happen by placing a hand on it while one is typing.

In any case, I price multi-touch capability of the touchpad. I only wish to have separate buttons.