Skip to content

Choose a tag to compare

@github-actions github-actions released this 08 May 20:10
· 12 commits to main since this release

New features and improvements

  • Indicator fade animation: The indicator fades in and out when it appears or disappears, instead of popping abruptly. Enabled by default with a 100ms duration.

    normal-mode.indicator.fade-animation-enabled=true
    normal-mode.indicator.fade-animation-duration-millis=100
  • Hint fade animation: Hints fade in when they first appear and out when they disappear. Enabled by default with a 100ms duration.

    hint-mode.hint.fade-animation-enabled=true
    hint-mode.hint.fade-animation-duration-millis=100
  • Mutation cascade for indicator and hint styling: When a mutation changes a base font or indicator property, the related properties are automatically updated as well. For example, mutating hint.font-color also mutates selected-font-color, focused-font-color, and the prefix variants. Mutating indicator.idle.color also mutates the move, wheel, and mouse-press states. Properties explicitly set in the configuration are not overwritten.

  • Hint grid column count now works correctly with a single row (previously threw an exception in some configurations).

  • UI hint mode now skips thread-shared sibling windows that aren't on a monitor the focused window touches. Owned popups, dropdowns, and dialogs are still included regardless of monitor.

  • --version command line flag: Prints the version and commit id, then exits.

    > mousemaster.exe --version
    mousemaster v88 (abc1234)
    
  • The build commit id is now logged at startup, making it easier to identify which build is running.

  • Variable combo preconditions (experimental feature): Variables are boolean flags that persist across mode switches, settable from combos and usable as combo preconditions. This is a step up from key-based mode property mutations (introduced in v87), since a variable stays set until you clear it; surviving key releases.

    Variables are set, unset, or cleared with three new properties:

    mode.set-variable.iszoom=combo           set iszoom when combo matches
    mode.unset-variable.iszoom=combo         unset iszoom when combo matches
    mode.clear-variables=combo               unset all variables

    Variables are referenced in combo preconditions with the same _{} syntax as keys:

    # Toggle iszoom on/off with z, change zoom percent and hint cell size based on it
    hint-mode.set-variable.iszoom=_{!iszoom} +z
    hint-mode.unset-variable.iszoom=_{iszoom} +z
    hint-mode.zoom.percent=1 | _{iszoom} -> 30
    hint-mode.hint.grid-cell-width=10 | _{iszoom} -> 320
    hint-mode.hint.grid-cell-height=6 | _{iszoom} -> 180

    In the author configuration, variables are now used to model click-after-hint behavior, slow/zoom toggles, and the "no move" toggle, replacing several single-purpose modes that previously existed only to carry a flag.

    See documentation: https://github.com/petoncle/mousemaster/blob/main/configuration/combo-reference.md#variables

Installation

  1. Download mousemaster.exe (a portable executable).
  2. Download one of the existing configuration files:
  3. Place the executable and the configuration file in the same directory.
  4. Rename the configuration file to mousemaster.properties.
  5. Run mousemaster.exe: make sure to run it as administrator if you want the mousemaster overlay to be displayed on top of everything else.
  6. Feel free to open a GitHub Issue or join the Discord if you need help creating your own configuration. If you have ideas for a better configuration that you would like to share, I'd love to hear from you.
  7. If you enjoy mousemaster, consider making a donation or stop by the Discord to show your support!