X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fxlockscreen;h=741d6f12cb8980f8c7c0895ee8a5079740d4b0cc;hb=21dae4464743ccb4b0f803bbd31d3e094a2f674c;hp=1bac3a19aadba22209858a50f97e02f2ed688331;hpb=b71680c55e6e492ed008f8ec5af3bf169b272f09;p=config%2Fdotfiles.git diff --git a/bin/xlockscreen b/bin/xlockscreen index 1bac3a1..741d6f1 100755 --- a/bin/xlockscreen +++ b/bin/xlockscreen @@ -50,7 +50,10 @@ if test x"$1" = xstart; then # [1]: https://stackoverflow.com/questions/3748432/insane-crond-behavior-keeps-making-defunct-bash-processes/3750028#3750028 if installed xscreensaver; then - echo "xscreensaver.lockTimeout: $lock_time_minutes" | xrdb -merge + printf 'xscreensaver.timeout: %d + xscreensaver.lock: True + xscreensaver.lockTimeout: 0 + ' "$lock_time_minutes" | xrdb -merge xscreensaver >/dev/null & echo xscreensaver elif installed xautolock; then @@ -78,11 +81,10 @@ elif test x"$1" = xlock; then # ensures xscreensaver is available for the current X session. xscreensaver-command -time >/dev/null 2>&1 || xscreensaver & - xscreensaver-command -lock # It can take a while for xscreensaver to start, wait until it's # ready. - while test $? -eq 255; do - xscreensaver-command -lock + while :; do + xscreensaver-command -lock || test $? -ne 255 && break done elif installed xtrlock; then # Sleep is necessary to allow xtrlock to grab the keyboard input.