--- xdg-screensaver.org 2009-02-10 02:21:25.000000000 -0800 +++ xdg-screensaver 2009-02-10 01:07:58.000000000 -0800 @@ -333,7 +333,15 @@ { if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; - elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; + # Consider "xscreensaver" a separate DE + elif xscreensaver-command -version 2> /dev/null | grep XScreenSaver > /dev/null ; then DE="xscreensaver" ; + elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1 ; then + # xfce DE may be set up with gnome-screensaver too beside xscreensaver tried above. + if gnome-screensaver-command -q > /dev/null 2>&1 ; then + DE=xfce-gnome-screensaver + else + DE=xfce + fi fi } @@ -424,6 +432,11 @@ xscreensaver) screensaver_xscreensaver "$1" ;; + + xfce-gnome-screensaver) + screensaver_gnome "$1" + ;; + esac if [ "$1" = "suspend" ] ; then @@ -608,7 +621,7 @@ fi $MV "$tmpfile" "$screensaver_file" unlockfile - (while [ -f "$screensaver_file" ]; do $*; sleep 59; done) > /dev/null 2> /dev/null & + (while [ -f "$screensaver_file" ]; do $*; sleep 50; done) > /dev/null 2> /dev/null & } screensaver_gnome() @@ -764,8 +777,6 @@ esac detectDE -# Consider "xscreensaver" a separate DE -xscreensaver-command -version 2> /dev/null | grep XScreenSaver > /dev/null && DE="xscreensaver" if [ "$action" = "resume" ] ; then do_resume