« noblank: A Generic Screensaver Preventer | Main | Thanks, Hans, Again... »

noblank: Part Deux

When I logged in this afternoon, I discovered that Hans Fugal had left me a little feedback:

(16:50:28) Hans: nice script, BUT...
(16:51:00) Hans: you cut off stdin
(12:07:44) Stuart Jansen: good point

My new version fixes that problem, as well as removing the dependency on a Linux style /proc (download file):

#!/bin/bash
kscreensaver=$(dcop kdesktop KScreensaverIface isEnabled 2>/dev/null)
if [ -n $kscreensaver ]; then
  dcop kdesktop KScreensaverIface enable false &>/dev/null
fi
(exec "$@") <&0 &
PID=$!
( while : ; do
    xscreensaver-command -deactivate &>/dev/null
    gnome-screensaver-command --poke &>/dev/null
  done
  if [ -n $kscreensaver ]; then
    dcop kdesktop KScreensaverIface enable $kscreensaver &>/dev/null
  fi
  sleep 60
) &> /dev/null &
wait $PID
kill $!