A tiny Windows tray utility that keeps your machine awake by simulating subtle mouse activity.
When I'm working at my developer workstation, my laptop sits right beside me running Teams and Outlook. I don't want to keep tweaking sleep/lock settings on it every time, so this tool just keeps it active while I'm at the desk — no policy changes, no fuss. As a nice side effect, Teams also stays "Available" instead of flipping to Away, since Windows never sees the machine as idle.
- Lives in the Windows taskbar tray — once started it stays out of the way.
- Every 30 seconds, it nudges the mouse by 1 pixel and back, and signals Windows that the system and display are required (so the screen and machine stay awake).
- Right-click the tray icon to Start/Stop, toggle Run at Startup, or Exit.
- Double-click the tray icon to quickly toggle Start/Stop.
- The icon turns green while running, gray while stopped.
That's it. No telemetry, no network, no config files.
The project is already configured for single-file, self-contained publish. From the project folder:
dotnet publish -c Release -r win-x64The resulting MouseMover.exe will be in:
bin\Release\net10.0-windows\win-x64\publish\
Copy that single .exe anywhere — it has no dependencies and doesn't require .NET to be installed on the target machine.
The published .exe is fairly large (~150 MB) because SelfContained=true bundles the entire .NET runtime and the Windows Forms stack into one file. That's the trade-off for "no .NET install required on the target machine."
If you want a faster cold start (at the cost of an even bigger file), add ReadyToRun:
dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=trueIf you don't mind requiring .NET 10 to be installed on the target machine, you can drop SelfContained to get a tiny binary:
dotnet publish -c Release -r win-x64 --self-contained false