Updating branch refs/heads/master
         to 597a19ad0af55978b2d98cb94874901921ffb5dd (commit)
       from 5992ea6bbfd19ec44df276e704b403320cfe6779 (commit)

commit 597a19ad0af55978b2d98cb94874901921ffb5dd
Author: Nick Schermer <[email protected]>
Date:   Fri Apr 13 19:31:42 2012 +0200

    Improve xflock4 script (bug #3770).

 scripts/xflock4 |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/scripts/xflock4 b/scripts/xflock4
index fcf3323..ec4d05d 100644
--- a/scripts/xflock4
+++ b/scripts/xflock4
@@ -3,6 +3,8 @@
 #  xfce4
 #
 #  Copyright (C) 1999, 2003 Olivier Fourdan ([email protected])
+#  Copyright (C) 2011       Guido Berhoerster ([email protected])
+#  Copyright (C) 2011       Jarno Suni ([email protected])
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -19,13 +21,30 @@
 #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #
 
-if test x"`which xscreensaver-command 2>/dev/null`" != x""; then
-    xscreensaver-command -lock 
-elif test x"`which gnome-screensaver-command 2>/dev/null`" != x""; then
-    gnome-screensaver-command --lock
-elif test x"`which slock 2>/dev/null`" != x""; then
-   slock
-else
-    xlock $*
-fi
-exit 0
+PATH=/bin:/usr/bin
+export PATH
+
+# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
+for lock_cmd in \
+    "xscreensaver-command -lock" \
+    "gnome-screensaver-command --lock"
+do
+    $lock_cmd >/dev/null 2>&1 && exit
+done
+
+# else run another access locking utility, if installed
+for lock_cmd in \
+  "xlock -mode blank" \
+  "slock"
+  do
+    set -- $lock_cmd
+    if command -v -- $1 >/dev/null 2>&1; then
+        $lock_cmd >/dev/null 2>&1 &
+       # turn off display backlight:
+       xset dpms force off
+        exit
+    fi
+done
+
+# else access locking failed
+exit 1
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to