Skip to content

Commit

Permalink
Add option to not kill saver when DPMS kicks in
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentbernat committed Dec 26, 2021
1 parent 591b2a7 commit 49ff9c9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,8 @@ Options to XSecureLock can be passed by environment variables:
locking) when above xss-lock command line is used. Should be at least as
large as the period time set using "xset s". Also used by `wait_nonidle` to
know when to assume dimming and waiting has finished and exit.
* `XSECURELOCK_SAVER_STOP_ON_DPMS`: specifies if saver is stopped
when DPMS blanks the screen (to save power).
* `XSECURELOCK_XSCREENSAVER_PATH`: Location where XScreenSaver hacks are
installed for use by `saver_xscreensaver`.
Expand Down
6 changes: 5 additions & 1 deletion main.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ int force_grab = 0;
int debug_window_info = 0;
//! Whether to reset the saver module when auth closes.
int saver_reset_on_auth_close = 0;
//! Whetever stopping saver when DPMS is running
int saver_stop_on_dpms = 0;

//! The PID of a currently running notify command, or 0 if none is running.
pid_t notify_command_pid = 0;
Expand Down Expand Up @@ -339,6 +341,7 @@ void LoadDefaults() {
debug_window_info = GetIntSetting("XSECURELOCK_DEBUG_WINDOW_INFO", 0);
saver_reset_on_auth_close =
GetIntSetting("XSECURELOCK_SAVER_RESET_ON_AUTH_CLOSE", 0);
saver_stop_on_dpms = GetIntSetting("XSECURELOCK_SAVER_STOP_ON_DPMS", 1);
}

/*! \brief Parse the command line arguments, or exit in case of failure.
Expand Down Expand Up @@ -1036,7 +1039,8 @@ int main(int argc, char **argv) {
select(x11_fd + 1, &in_fds, 0, 0, &tv);

// Make sure to shut down the saver when blanked. Saves power.
enum WatchChildrenState requested_saver_state = IsBlankedByDPMS(display) ?
enum WatchChildrenState requested_saver_state =
(saver_stop_on_dpms && IsBlankedByDPMS(display)) ?
WATCH_CHILDREN_SAVER_DISABLED : xss_requested_saver_state;

// Now check status of our children.
Expand Down

0 comments on commit 49ff9c9

Please sign in to comment.