http://ftp.x.org/contrib/applications/xscreensaver-3.25.tar.gz
[xscreensaver] / driver / xscreensaver.kss
index 98ad08ebfbc8a2469cccee7108d7598b787b534e..1b22f0b30709292b5f18cae4d94298232f485d6a 100755 (executable)
@@ -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.