diff options
author | Fathi Boudra <fabo@debian.org> | 2010-12-31 14:41:14 +0200 |
---|---|---|
committer | Fathi Boudra <fabo@debian.org> | 2010-12-31 14:41:14 +0200 |
commit | c9551d250722081cbf7d6611f417bc597765e5c9 (patch) | |
tree | fd17fd72ad8f011e0b9903af8b3d86d93001a0d3 | |
parent | 1a0f10dee6d0414c8f43e19bcfbb29cca91712fb (diff) |
xdg-screensaver: support X server blanking. Thanks to Ben Hutchings.
-rw-r--r-- | ChangeLog | 1 | ||||
-rwxr-xr-x | scripts/xdg-desktop-icon | 1 | ||||
-rwxr-xr-x | scripts/xdg-desktop-menu | 1 | ||||
-rwxr-xr-x | scripts/xdg-email | 1 | ||||
-rwxr-xr-x | scripts/xdg-icon-resource | 1 | ||||
-rwxr-xr-x | scripts/xdg-mime | 1 | ||||
-rwxr-xr-x | scripts/xdg-open | 1 | ||||
-rwxr-xr-x | scripts/xdg-screensaver | 48 | ||||
-rw-r--r-- | scripts/xdg-screensaver.in | 47 | ||||
-rwxr-xr-x | scripts/xdg-settings | 1 | ||||
-rw-r--r-- | scripts/xdg-utils-common.in | 1 |
11 files changed, 104 insertions, 0 deletions
@@ -5,6 +5,7 @@ Thanks to Christopher Yeleighton. (BR31441) * xdg-open: declare file variable as local. (BR32487) * xdg-open: decode file:// urls. Thanks to Henning Garus. + * xdg-screensaver: support X server blanking. Thanks to Ben Hutchings. 2010-11-18 Rex Dieter <rdieter@fedoraproject.org> * xdg-utils-common: fixup kfmclient_fix_exit_code() for newer kde-config diff --git a/scripts/xdg-desktop-icon b/scripts/xdg-desktop-icon index 2f9208f..5707e35 100755 --- a/scripts/xdg-desktop-icon +++ b/scripts/xdg-desktop-icon @@ -409,6 +409,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-desktop-menu b/scripts/xdg-desktop-menu index 2d0487a..8762c4f 100755 --- a/scripts/xdg-desktop-menu +++ b/scripts/xdg-desktop-menu @@ -605,6 +605,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-email b/scripts/xdg-email index 55dff2d..83090ab 100755 --- a/scripts/xdg-email +++ b/scripts/xdg-email @@ -361,6 +361,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-icon-resource b/scripts/xdg-icon-resource index 5580e29..211d947 100755 --- a/scripts/xdg-icon-resource +++ b/scripts/xdg-icon-resource @@ -401,6 +401,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-mime b/scripts/xdg-mime index 915cf0d..ce6c18e 100755 --- a/scripts/xdg-mime +++ b/scripts/xdg-mime @@ -431,6 +431,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-open b/scripts/xdg-open index ac336e3..b8db0aa 100755 --- a/scripts/xdg-open +++ b/scripts/xdg-open @@ -308,6 +308,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-screensaver b/scripts/xdg-screensaver index 4b2e709..d377f35 100755 --- a/scripts/xdg-screensaver +++ b/scripts/xdg-screensaver @@ -336,6 +336,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } @@ -430,6 +431,10 @@ perform_action() xscreensaver) screensaver_xscreensaver "$1" ;; + + '') + screensaver_xserver "$1" + ;; esac if [ "$1" = "suspend" ] ; then @@ -685,6 +690,49 @@ screensaver_kde() esac } +screensaver_xserver() +{ + case "$1" in + suspend) + xset s off > /dev/null + result=$? + ;; + + resume) + xset s default > /dev/null + result=$? + ;; + + activate) + xset s activate > /dev/null + result=$? + ;; + + reset) + xset s reset > /dev/null + result=$? + ;; + + status) + timeout=`xset q | sed '/^Screen Saver:/,/^[^ ]/ { s/.*timeout: *\([0-9]*\).*/\1/; t }; d'` + result=$? + if [ "$timeout" -gt 0 ]; then + echo "enabled" + elif [ "$timeout" -eq 0 ]; then + echo "disabled" + else + echo "ERROR: xset q did not report the screensaver timeout" >&2 + return 1 + fi + ;; + + *) + echo "ERROR: Unknown command '$1'" >&2 + return 1 + ;; + esac +} + screensaver_suspend_loop() { lockfile diff --git a/scripts/xdg-screensaver.in b/scripts/xdg-screensaver.in index 5e5736c..8839187 100644 --- a/scripts/xdg-screensaver.in +++ b/scripts/xdg-screensaver.in @@ -100,6 +100,10 @@ perform_action() xscreensaver) screensaver_xscreensaver "$1" ;; + + '') + screensaver_xserver "$1" + ;; esac if [ "$1" = "suspend" ] ; then @@ -355,6 +359,49 @@ screensaver_kde() esac } +screensaver_xserver() +{ + case "$1" in + suspend) + xset s off > /dev/null + result=$? + ;; + + resume) + xset s default > /dev/null + result=$? + ;; + + activate) + xset s activate > /dev/null + result=$? + ;; + + reset) + xset s reset > /dev/null + result=$? + ;; + + status) + timeout=`xset q | sed '/^Screen Saver:/,/^[^ ]/ { s/.*timeout: *\([0-9]*\).*/\1/; t }; d'` + result=$? + if [ "$timeout" -gt 0 ]; then + echo "enabled" + elif [ "$timeout" -eq 0 ]; then + echo "disabled" + else + echo "ERROR: xset q did not report the screensaver timeout" >&2 + return 1 + fi + ;; + + *) + echo "ERROR: Unknown command '$1'" >&2 + return 1 + ;; + esac +} + screensaver_suspend_loop() { lockfile diff --git a/scripts/xdg-settings b/scripts/xdg-settings index 9d7d489..a8c5ba3 100755 --- a/scripts/xdg-settings +++ b/scripts/xdg-settings @@ -316,6 +316,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in index 60d70c3..dd33f82 100644 --- a/scripts/xdg-utils-common.in +++ b/scripts/xdg-utils-common.in @@ -198,6 +198,7 @@ detectDE() elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; + else DE="" fi } |