# Rationale: # After xautolock -restart is called, it simply stops working. # I'm not exactly sure why that happens, but I'm not up for researching that. # This problem comes into play when xdg-screensaver uses the -restart option # simply because there is no other way to reset the lock timer. # Since a few well-known (video player) applications continuously keep calling # xdg-screensaver reset to avoid the lockscreen being triggered, this problem # can be observed after running those applications. # The expected behavior is resetting the lock timer, so instead of wasting # resources actually restarting the entire application, why not simply # actually reset the lock timer? +++ src/message.c @@ -100,12 +100,7 @@ static void restartByMessage (Display* d, Window root) { - if (!secure) - { - XDeleteProperty (d, root, semaphore); - XFlush (d); - execv (argArray[0], argArray); - } + if (!secure) resetTriggers(); } /* +++ src/options.c @@ -595,7 +595,7 @@ error0 (" -toggle : toggle a running xautolock.\n"); error0 (" -locknow : tell a running xautolock to lock.\n"); error0 (" -unlocknow : tell a running xautolock to unlock.\n"); - error0 (" -restart : tell a running xautolock to restart.\n"); + error0 (" -restart : tell a running xautolock to reset the lock timer.\n"); error0 (" -exit : kill a running xautolock.\n"); error0 (" -secure : ignore enable, disable, toggle, locknow\n"); error0 (" unlocknow, and restart messages.\n"); +++ xautolock.man @@ -270,8 +270,7 @@ .TP \fB\-restart\fR Causes an already running xautolock process (if there is one and -it does not have \fB\-secure\fR switched on) to restart. In any -case, the current invocation of xautolock exits. +it does not have \fB\-secure\fR switched on) to reset the lock timer. .SH RESOURCES .TP 16