swayidle(1)
swayidle - Idle manager for Wayland
swayidle [options] [events...]
-C The config file to use. By default, the following paths are checked in the following order: $XDG_CONFIG_HOME/swayidle/config, $HOME/.swayidle/config. Config file entries are events as described in the EVENTS section. Specifying events in the config and as arguments is not mutually exclusive.
-h Show help message and quit.
-d Enable debug output.
-w Wait for command to finish executing before continuing, helpful for ensuring that a before-sleep command has finished before the system goes to sleep.
Note: using this option causes swayidle to block until the command finishes.
-S Specify which seat to use. By default, if no name is specified, an arbitrary seat will be picked instead.
swayidle listens for idle activity on your Wayland compositor and executes tasks on various idle-related events. You can specify any number of events at the command line and in the config file.
timeout [resume ] Execute timeout command if there is no activity for seconds.
If you specify "resume <resume command>", _resume command_ will be run when
there is activity again.
before-sleep If built with systemd support, executes command before systemd puts the computer to sleep.
Note: this only delays sleeping up to the limit set in *logind.conf(5)* by
the option InhibitDelayMaxSec. A command that has not finished by then will
continue running after resuming from sleep.
after-resume If built with systemd support, executes command after logind signals that the computer resumed from sleep.
lock If built with systemd support, executes command when logind signals that the session should be locked
unlock If built with systemd support, executes command when logind signals that the session should be unlocked
idlehint If built with systemd support, set IdleHint to indicate an idle logind/elogind session after seconds. Adding an idlehint event will also cause swayidle to call SetIdleHint(false) when run, on resume, unlock, etc.
All commands are executed in a shell.
swayidle responds to the following signals:
SIGTERM, SIGINT Run all pending resume commands. When finished swayidle will terminate.
SIGUSR1 Immediately enter idle state.
swayidle -w \\
timeout 300 'swaylock -f -c 000000' \\
timeout 600 'swaymsg "output * power off"' \\
resume 'swaymsg "output * power on"' \\
before-sleep 'swaylock -f -c 000000'
This will lock your screen after 300 seconds of inactivity, then turn off your displays after another 300 seconds, and turn your screens back on when resumed. It will also lock your screen before your computer goes to sleep.
To make sure swayidle waits for swaylock to lock the screen before it releases the inhibition lock, the -w options is used in swayidle, and -f in swaylock.
Maintained by Drew DeVault sir@cmpwn.com, who is assisted by other open source contributors. For more information about swayidle development, see https://github.com/swaywm/swayidle.
sway(5) swaymsg(1) sway-input(5) sway-output(5) sway-bar(5) loginctl(1)