github arkane-systems/mousejiggler 3.1.0

2 hours ago

New features

  • Global hotkey: press Ctrl+Shift+J at any time to toggle jiggling, even when Mouse Jiggler is minimized to the tray. (#132)
  • Respect lock state: a new "Respect lock state?" setting (and -l/--respect-locked-state CLI option) pauses jiggling while the workstation is locked, and resumes it automatically on unlock — the checkbox and tray menu always reflect what you actually asked for, never a transient lock-induced pause. Closes #48. (#131, with design credit to @balsa-asanovic for the intent-preserving approach adopted here)
  • --stop-jiggling: tells an already-running instance to stop jiggling, then exits, without starting a GUI of its own. Meant to be driven by Task Scheduler as a clean alternative to a built-in timer — see the new "Scheduling a stop" section in the README for an example. Closes #82. (#143)
  • Localization: strings are now resource-based, with a complete Simplified Chinese translation (简体中文说明). Contributions of additional languages are welcome. (#134)

Fixes

  • Fixed a crash (IndexOutOfRangeException) when switching jiggle mode or distance while jiggling was active and the new pattern was shorter than the current step index. Closes #140. (#136)
  • Added global exception handling around the Main entry point, so unexpected errors are reported instead of the process dying silently. (#137, thanks @youyou0625)
  • Hardened the stay-awake mechanism against Modern Standby (S0 low-power idle) laptops, where display-off could previously stop the jiggle timer permanently: the execution-state request now re-asserts on every tick, and the timer forces a real restart on resume broadcasts. Still looking for confirmation from S0 hardware that this fully resolves #130 — reports welcome.
  • Fixed the hotkey firing repeatedly while held down (missing MOD_NOREPEAT).
  • Widened the settings panel so "Respect lock state?" no longer crowds "Minimize on start?". (#144)

Other changes

  • Pull requests now actually get built (not just CodeQL-scanned) before merge. (#141)
  • Various internal cleanup: centralized Win32 interop in Helpers, consolidated the single-instance mutex handling, and general consistency fixes.

Installation

  • winget install ArkaneSystems.MouseJiggler
  • choco install mouse-jiggler --version=3.1.0
  • Or download MouseJiggler-mainline-x64.zip / MouseJiggler-mainline-arm64.zip below (requires the .NET 10 Desktop runtime), or the self-contained MouseJiggler-standalone-*.zip if you can't install that runtime.

Full Changelog: 3.0.0...3.1.0

Don't miss a new mousejiggler release

NewReleases is sending notifications on new releases.