Snag help › Snag for the desktop
Idle time
When there has been no keyboard or mouse input for a while, Snag opens an idle span. When input resumes it asks what that time was. Nothing is ever discarded without an explicit choice.
When it triggers
After 6 minutes with no input, by default. Change it with threshold under [idle]; see Settings.
Snag measures real input. A video player or call that holds off the screensaver does not count as activity.
The timer keeps running while idle.
The prompt
A window titled Idle time reports what was observed, for example "No input since 12:45, 85 minutes", and offers:
| Choice | Effect |
|---|---|
| Keep all | the idle time stays on the entry (default) |
| Discard idle, carry on | the entry closes at the last input and a new one starts now on the same task |
| Discard idle and stop | the entry closes at the last input and the timer stops |
| Move it to another task | the idle time moves to the task chosen in the list beside it, billable or not |
Keys:
| Key | Does |
|---|---|
| Enter | Keep all, when no button has focus |
| Esc | closes the prompt without answering |
| Tab | moves between buttons |
The two discard choices have no shortcut. They need a click, or Tab to the button then Enter.
The window does not take focus when it appears (with the rules from contrib/hypr/), so a returning keystroke is not swallowed by it.
Unanswered prompts
If the prompt is ignored for 10 minutes (the grace setting), it closes and the span moves to the unresolved list, with the time still on the entry. Esc does the same straight away. The tray menu then shows "N idle spans still asking"; clicking it, or Answer it in the timer window, brings the prompt back.
There is no length of idle time after which Snag discards it on its own.
Advisory mode
With advisory_only = true under [idle] (or snag run --idle-advisory), idle spans are recorded but never prompted for.
snag run --no-idle turns idle detection off entirely.
Support
| Session | Mechanism |
|---|---|
| Wayland | the compositor's input-idle protocol (ext-idle-notify-v1) |
| X11 | the XScreenSaver idle counter |
A Wayland compositor without the protocol has no idle detection. snag doctor reports which applies and why.
Every idle span and its answer is kept in the local database.
Next: Observation