diff --git a/pkgs/desktops/xfce/core/xfce4-light-locker.patch b/pkgs/desktops/xfce/core/xfce4-light-locker.patch index 4e1dcc1efa71..0fabdffd7ed6 100644 --- a/pkgs/desktops/xfce/core/xfce4-light-locker.patch +++ b/pkgs/desktops/xfce/core/xfce4-light-locker.patch @@ -1,16 +1,25 @@ --- ./scripts/xflock4.orig 2017-08-06 23:05:53.807688995 +0100 +++ ./scripts/xflock4 2017-08-06 23:09:06.171789989 +0100 -@@ -24,10 +24,11 @@ +@@ -24,12 +24,19 @ PATH=/bin:/usr/bin export PATH - + -# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running -+# Lock by xscreensaver, gnome-screensaver or light-locker, if a respective daemon is running ++# First test for the command set in the session's xfconf channel ++LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand) ++ ++# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running for lock_cmd in \ ++ "$LOCK_CMD" \ "xscreensaver-command -lock" \ - "gnome-screensaver-command --lock" + "gnome-screensaver-command --lock" \ + "light-locker-command -l" do - $lock_cmd >/dev/null 2>&1 && exit +- $lock_cmd >/dev/null 2>&1 && exit ++ if [ ! -z "$lock_cmd" ]; then ++ $lock_cmd >/dev/null 2>&1 && exit ++ fi done + + # else run another access locking utility, if installed