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:

ChoiceEffect
Keep allthe idle time stays on the entry (default)
Discard idle, carry onthe entry closes at the last input and a new one starts now on the same task
Discard idle and stopthe entry closes at the last input and the timer stops
Move it to another taskthe idle time moves to the task chosen in the list beside it, billable or not

Keys:

KeyDoes
EnterKeep all, when no button has focus
Esccloses the prompt without answering
Tabmoves 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

SessionMechanism
Waylandthe compositor's input-idle protocol (ext-idle-notify-v1)
X11the 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