I'm controlling screensaver (well, locking in my case) via xss-lock and xset:
$ xset s 600 30 $ xss-lock --notifier=screenlock-notifier.sh --transfer-sleep-lock -- locker.sh where
- screenlock-notifier.sh provides dimming and other logic, gets executed after 600s of inactivity;
- locker.sh switches the screens off via
xset dpms force offand launches xsecurelock; this happens after 30s of inactivity upon screenlock-notifier execution:$ xset dpms force off $ /usr/bin/env XSECURELOCK_SAVER=saver_blank xsecurelock
My question is, why do xset dpms * commands also trigger the execution of locker.sh, given dpms flags should have nothing to do with screensaver?
E.g. executing xset dpms 5 0 0 will cause locker.sh to run in 5seconds, although the command should've simply set the standby flag to 5 seconds -- nothing to do with screensaver.
xss-lock manual states:
The locker is executed in response to events from these two sources: • X signals when screen saver activation is forced or after a period of user inactivity (as set with xset s TIMEOUT). In the latter case, the notifier command, if specified, is executed first. • The login manager can also request that the session be locked; as a result of loginctl lock-sessions, for example. Additionally, xss-lock uses the inhibition logic to lock the screen before the system goes to sleep. xset manual states the following regarding dpms:
The dpms option allows the Display Power Management Signaling (DPMS) parameters to be set. The option can take up to three numerical values, or the
forceflag followed by a DPMS state. Theforceflags forces the server to immediately switch to the DPMS state specified. The DPMS state can be one ofstandby,suspend,off, oron. When numerical values are given, they set the inactivity period (in units of seconds) before the three modes are activated. The first value given is for thestandbymode, the second is for thesuspendmode, and the third is for theoffmode. Setting these values implicitly enables the DPMS features. A value of zero disables a particular mode.
From here I gather xss-lock runs locker only upon screen saver activation flags (and login manager events), and xset dpms does not modify screensaver flags.
What's going on?