Keeps your presence status active by making a small, imperceptible cursor movement every 30 seconds. The cursor always snaps back to exactly where you left it — so it never interrupts your work. Works with any app that reads mouse activity to determine idle status (Teams, Slack, Zoom, and others). No API keys required.
MouseController.location()— reads the current cursor position before movingMouseController.moveMouse(x, y, Coordinate.Abs)— moves the cursor to an absolute position, used to nudge and then restore
Prerequisites:
- Simulang installed (
simulang runavailable in your terminal) - No API key required
- Run
npm installonce in this folder
Run indefinitely (stop with Ctrl+C):
simulang run main.tsRun for a fixed duration:
NUDGE_DURATION_MIN=60 simulang run main.ts[Read cursor position] → [Move +30px right] → [Wait 300ms]
→ [Restore original position] → [Wait 30s] → [Repeat]
- Interval — the nudge interval is set by
INTERVAL_MSat the top ofmain.ts. Adjust to taste. - Nudge distance —
NUDGE_PXcontrols how far the cursor moves. Increase if your app needs more activity to register. - The cursor always comes back —
location()captures the original position before every nudge, so the cursor returns to exactly where it was regardless of whether you moved it between nudges.
