X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fxscreensaver.kss;h=1b22f0b30709292b5f18cae4d94298232f485d6a;hb=93f25dc6827112d98b8b855ea85c8f5eb8123086;hp=98ad08ebfbc8a2469cccee7108d7598b787b534e;hpb=5832fe184606766fef23369159306c0a5799aeb0;p=xscreensaver diff --git a/driver/xscreensaver.kss b/driver/xscreensaver.kss index 98ad08eb..1b22f0b3 100755 --- a/driver/xscreensaver.kss +++ b/driver/xscreensaver.kss @@ -104,23 +104,17 @@ while [ -n "$1" ]; do done if [ -n "$Install" ] ; then - rm $HOME/.kss-preview* # Remove old preview files PID_FILE=$HOME/.kss-install.pid.`hostname` - kill `cat $PID_FILE` # Kill old screensaver + if [ -r "$PID_FILE" ] ; then + kill `cat $PID_FILE` # Kill old screensaver + fi echo "$$" > $PID_FILE # Write PID of this script /usr/X11R6/bin/xscreensaver -no-splash $timeout $lockmode $Nice & # Start XScreenSaver daemon trap "kill $!" SIGTERM # Set these to kill the daemon trap "kill $!" SIGKILL - if [ -f "/etc/shadow" ]; then - # xscreensaver is run as the user, which has no access to the /etc/shadow file. Other - # .kss screensavers use kcheckpass, which would have to be hacked into xscreensaver to - # work correctly. This just activates the screensaver with no password lock. - trap "/usr/X11R6/bin/xscreensaver-command -activate" SIGUSR1 - else - # xscreensaver can be locked, because it can read the /etc/passwd file. - trap "/usr/X11R6/bin/xscreensaver-command -lock" SIGUSR1 - fi +# KDE sends SIGUSER1 to indicate the user has hit the "lock" button. + trap "/usr/X11R6/bin/xscreensaver-command -lock" SIGUSR1 wait $! # Do not exit, just wait for signals.