Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShakeToZoom

Release License: MIT Platform

Shake-to-enlarge cursor for Windows 11 — move the mouse quickly back and forth and the cursor grows for a moment so you can find it again, just like on macOS. When the shaking stops, the cursor smoothly shrinks back to its normal size.

Runs quietly in the system tray. Native C++/Win32, no runtime dependencies — a single portable ShakeToZoom.exe.

Demo: shaking the cursor enlarges it, then it shrinks back smoothly

Download

Get the latest release from the Releases page.

  • Installer (recommended) — ShakeToZoomSetup-<version>.exe. Installs for the current user only, no admin rights required, to %LocalAppData%\Programs\ShakeToZoom, with a Start Menu entry, an optional desktop shortcut, and a proper uninstaller.
  • PortableShakeToZoom.exe. Run it from anywhere, no installation needed.

If you enable "Start with Windows" from the tray menu, it registers whichever copy is currently running. If you switch between the portable exe and the installed copy (in either direction), re-enable "Start with Windows" from the tray menu of the copy you want to keep using, so the autostart entry points at it.

The installer is unsigned (no code-signing certificate), so Windows SmartScreen will show an "unrecognized app" warning on first run — click More info → Run anyway to proceed.

How it works

  • A low-level mouse hook (WH_MOUSE_LL) samples global mouse movement.
  • ShakeDetector scores rapid direction reversals; the score decays over time. The effect is all-or-nothing: as soon as the score passes the activation threshold the cursor goes straight to the configured maximum size, reaching it in 0.1 s so it reads as an instant jump rather than a gradual ramp-up.
  • CursorOverlay is a transparent, click-through, top-most layered window that draws the current cursor enlarged over the real one (which stays fully functional underneath — the click hotspot is unchanged). Per-pixel alpha is recovered by drawing the cursor over both black and white backgrounds, so it works for every cursor type. The animation timer only runs while the cursor is enlarged, so idle CPU usage is ~0 %.
  • The effect stays dormant while a full-screen application owns the foreground (games, video players, presentation mode) and inside remote desktop sessions. If either starts while the cursor is enlarged, it drops back immediately.

Settings (tray icon → right-click)

  • Enabled — toggle the effect on/off
  • Settings… — a small dialog whose sliders apply live while you drag them:
    • Sensitivity (0–100 %, higher = easier to trigger)
    • Maximum cursor size (150–900 %)
    • Shrink animation speed (how gently the cursor shrinks back; growing is always the fixed 0.1 s ramp)
    • Stay enlarged for at least (0.1–3.0 s) — once triggered, the cursor keeps its size for at least this long after the last shake before shrinking
  • Start with Windows — add/remove the autostart entry
  • About / Exit

Settings are stored under HKCU\Software\ShakeToZoom; autostart under HKCU\Software\Microsoft\Windows\CurrentVersion\Run.

Build

Requires MSVC (Build Tools) and CMake + Ninja (both ship with Visual Studio).

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build

The executable is produced at build\ShakeToZoom.exe. Run it from a "x64 Native Tools" command prompt, or configure the toolchain paths as needed.

Building the installer (optional)

Also requires Inno Setup 6.

"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" ^
  /DMyAppVersion=1.1.0 installer\ShakeToZoom.iss

Pass the same version currently set in res/resource.h. The installer is produced at build\installer\ShakeToZoomSetup-1.1.0.exe. Release builds are produced automatically by CI on every version tag — see .github/workflows/release.yml.

License

Released under the MIT License.

About

Shake-to-enlarge cursor for Windows — find your mouse pointer instantly, just like on macOS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages