[Xfce4-commits] [xfce/xfce4-session] 06/10: Update xflock4 (Bug 10217)
noreply at xfce.org
noreply at xfce.org
Thu Aug 28 17:53:07 CEST 2014
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository xfce/xfce4-session.
commit bb0cbd537d72be4dece2ade8a86d76335dfda2dc
Author: Jarno Suni <8 at iki.fi>
Date: Sun Jul 20 18:25:22 2014 +0300
Update xflock4 (Bug 10217)
Complete rewrite of xflock4 that aims to be more reliable and
support more screen savers and lockers.
Signed-off-by: Eric Koegel <eric.koegel at gmail.com>
---
scripts/xflock4 | 68 +++++++++++++++++++++++++++++++++----------------------
1 file changed, 41 insertions(+), 27 deletions(-)
diff --git a/scripts/xflock4 b/scripts/xflock4
index ec4d05d..9268e6a 100644
--- a/scripts/xflock4
+++ b/scripts/xflock4
@@ -4,7 +4,7 @@
#
# Copyright (C) 1999, 2003 Olivier Fourdan (fourdan at xfce.org)
# Copyright (C) 2011 Guido Berhoerster (guido+xfce.org at berhoerster.name)
-# Copyright (C) 2011 Jarno Suni (8 at iki.fi)
+# Copyright (C) 2014 Jarno Suni (8 at iki.fi)
#
# 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
@@ -20,31 +20,45 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-
-PATH=/bin:/usr/bin
+set -o nounset
+set -o errexit
+# OpenBSD and possibly some other OSs require
+# /usr/local/bin:/usr/X11R6/bin in PATH
+PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/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
+# Lock by a screensaver, if its daemon is running.
+if pidof "`command -v xscreensaver`" >/dev/null; then
+ xscreensaver-command -lock >/dev/null
+elif pidof "`command -v gnome-screensaver`" >/dev/null; then
+ gnome-screensaver-command --lock >/dev/null
+elif pidof "`command -v light-locker`" >/dev/null; then
+ light-locker-command --lock >/dev/null
+elif pidof "`command -v mate-screensaver`" >/dev/null; then
+ mate-screensaver-command --lock >/dev/null
+elif pidof "`command -v cinnamon-screensaver`" >/dev/null; then
+ cinnamon-screensaver-command --lock >/dev/null
+elif pidof "`command -v xautolock`" >/dev/null; then
+# Note: xautolock does not tell, if it succeeds in locking,
+# so be sure to start the daemon properly.
+ xautolock -locknow >/dev/null
+# No daemon was found; use some available utility to lock:
+elif command -v i3lock >/dev/null; then
+ i3lock --dpms --color=000000 >/dev/null
+else
+ for lock_cmd in \
+ "xlock -mode blank" \
+ "slock" \
+ "slimlock"
+ do
+ if command -v -- $lock_cmd >/dev/null; then
+ # Run the command in background
+ $lock_cmd >/dev/null &
+ # Turn off display backlight
+ xset dpms force off
+ exit
+ fi
+ done
+ # None of the above worked. Access locking failed.
+ exit 1
+fi
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list