Smooth scrolling

The new 2.1 beta3 can be downloaded from here. (This is a Google-drive link. I don’t know what is happening with my Dropbox account and why Dropbox links do not work any more. Strange.)

My new laptop has this horrible trackpad and this got me motivated to implement smoother vertical scrolling in Math-o-mir. While smooth scrolling might slightly decrease responsiveness, it allows your eyes to more easily track document as it scrolls. If you have an erratic mouse/trackpad, I am sure you will benefit from it… And if you own a pointing device that behaves nicely, I hope there will be no drawbacks. In any case, let me know.

I slightly rearranged zoom levels.

Finally, I implemented auto-scrolling. It is when you are doing something with your mouse, like dragging objects, and your mouse pointer exits out of the client window borders, the document scrolls automatically into that direction. The scrolling is not aggressive (or should not be), but still some people might not like it. If so, let me know to add a menu option ‘disable auto-scrolling’.

Advertisements

Dropbox and Google Drive

Well, it seems that I am having some problems with Dropbox. If you are not able to download from Dropbox download links, maybe you can try following Google Drive links (let me know if it works):

Latest beta: https://drive.google.com/open?id=0ByyDBISP752EYTViNy0wT3BEeTg

Last official release: https://drive.google.com/open?id=0ByyDBISP752Ea0l2S3V1MjJjXzg

Key’s upper character

I just changed the way the software is determining the upper character of a keyboard key (the one that you can obtain with the Shift key) – you can download the beta2 from here. The previous solution was particularly bad because the software would actually generate keystrokes when it started to determine upper/lower character pairs.

I was warned that this might trigger accelerator keystrokes on some machines when the software starts. It should not happen any more. If you still find something wrong with the new solution, please report it to me.

(As you might know, when you long-press a keyboard key in Math-o-mir, the key turns uppercase. It is for this feature that the software needed to determine upper/lower character pairs.)

Toolbox ‘upgrade’ favors Linux users (2.1beta)

You can find the new 2.1 beta here. In comparison to the last official version, there are few bugs exterminated. The only new feature is a slight ‘upgrade’ of the toolbox and toolbar.

As mentioned in my former post, due to Wine compatibility issues I decided to configure toolbox and toolbar windows as child windows (not popup windows as it was before). Hopefully the user experience for Linux users will be somewhat better now; bearable perhaps.

The new toolbox is shrinkable – it will shrink to a degree if you make the window small. Because child windows cannot protrude from the main window, I had to make it shrinkable. You may see it as a step backward or a as a step forward – I cannot decide for myself… At least dragging (moving) the window around now looks cleaner.

If you are a Linux user, let me know if it got any better. If you are a Windows user, let me know if it got any worse.

Troubles with Wine (WS_POPUP window style)

More than once I received a warning that Math-o-mir does not behave perfectly under Wine (Wine is a software that enables running Windows programs on Linux machines). Specifically:

  • The toolbox and toolbar remain displayed at the top of the screen even if Math-o-mir main window gets deactivated and is buried below other windows
  • In addition, once the main window gets minimized and then restored again, the toolbox/toolbar will be missing and there is no action that will show them  except to restart the software.

The last precise bug report, with screenshots, came from Adam H. (thanks Adam). At the moment we found out that declaring a toolbox/toolbar window as a child window (WS_CHILD) will work fine, but declaring a windows as a popup window (WS_POPUP) causes the described problems in Wine. I can easily declare the overhead toolbar as WS_CHILD and this is what I will do. The left-side toolbox is more problematic as it should be drawn even outside the main window area and should be therefore declared WS_POPUP.

So, if anyone reading this have any idea what is going on with WS_POPUP style windows in Wine, please let me know.

The source code available on GitHub

Until now I did not distribute the software under any specific license. However this caused concerns in certain schools/academic institutions. I therefore decided that I will distribute the Math-o-mir under the MIT License from now on (this is actually the Expat License, to be more specific). I guess it is among the most permissible licenses around and is quite popular. You can thus still do whatever you want with the software.

Until now the software source code as available on request. Today I added it on GitHub and is publicly available from there… The reason I didn’t do this before is because I was hoping that I could find some time to make the code more beautiful. This never happened so I uploaded the software as is. (Haha… the code is not obfuscated, it just looks that way.)

I hope that with time I will slowly upgrade the source code and make it really readable to others. Then again, there might be some geniuses around that could decipher it even in the current state.

FYI, the MIT license text is here:

Copyright  2017, Danijel Gorupec

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

Math-o-mir 2.0 (official release)

You can download the new official Math-o-mir 2.0 from the download page or from the software homepage.

The main reason I increased the version number from 1.xx to 2.xx is because there are changes in the .mom file format that might compromise the backward compatibility. The new file format 2.xx is more compact and produces files half the size than the older 1.xx format. It is even much more efficient when storing documents that contain bitmaps – which is the main reason why I decided to change the file format in the first place.

However, being concerned about backward compatibility, I decided that the new MoM 2.0 will still store its files into 1.xx format by default (except bitmaps). If you explicitly want to use the new 2.xx format, you should choose “save as…” and then choose the 2.xx format… Maybe I was too much of a coward, I admit. Anyway, in the next version the Math-o-mir will save in 2.xx format by default. And in some even further version, it will loose the ability to save 1.xx format altogether…. The ability to read the 1.xx format will remain ‘forever’.

Other major news are as follows:

  • Toolbox options are rearranged. New symbols are added (corresponds to, D’Alambert, triangle, real part, imaginary part), some symbols are deleted
  • The “very large” toolbox size option is added to support high-resolution monitors
  • New commands: \varpi (inserts pi variant); \Ups, \ups (generates upsilon)
  • Spacebar+Enter keystroke can be used to toggle text/math typing mode (in addition to the Alt+Spacebar keystroke)
  • New variable decorations are available: triple dot, tilde, hacek
  • The function plotter is speed up and improved. Up to 4 functions can now be plotted simultaneously. Numerical integration of the plotted function is implemented.
  • The uppercase delta sign is handled in a special way – no automatic separation from the following variable. The double ‘u’ stroke generates Greek mi letter (not the upsilon)
  • Redesigned the drawing box handy menu
  • 45 degree lines can now be drawn using the section-line drawing tool
  • keyboard arrow key handling improvement

I eradicated some bugs. I also removed several features: the auto-clipboard-semi-transparent menu, snap-to-grid option (it is now always active when the grid is displayed), parentheses-height options… The documentation is updated: the Users Manual, the Brief Guide and the Tutorial. All in English language. (However the German version of the software itself is also released).

For following days I will be lurking for bugs that I generated with the new version. Please report any that you find… I wish a happy new year to everyone reading this!