screen saver kaffeine?
Basically .kde/share/config has some rc files that control screen saver power management of monitor - upon update krunner needs to be restarted
(this is all done via automated script below which runs on crontab and disables - screensaver powermanagement whilst u watch listen to audio)
You can modify as you like
I need to make a new version so it only stops locking screen for amarok this way I can still use remote control to control sound without having to enter password but I don't mind screen saver - for films it can remain in this current script so the new script would be a different if loop for amarok and films would remain as they are...
back to script...
As a default setup i preusme powerdevil and kscreensaver are used:
feel free to remove config for krandtray and kpowersave they are there just incase you use different methods to control PM.
in your home folder open a shell
mkdir scripts
cd scripts
first do
env|grep DISPLAY (ensure the display number matches first line of script also update username to match your username and make sure home folder paths etc match up to your setup)
then
vi watching-film.sh
esc i [ insert mode copy paste below into it then :wq then chmod 755 ./watching-films.sh and follow crontab entry below]
#!/bin/sh
export DISPLAY=:0
username="YOUR_USERNAME";
home="/home/$username";
rcfile="$home/.kde/share/config/kscreensaverrc";
powerdevil="$home/.kde/share/config/powerdevilprofilesrc";
kpowersave="$home/.kde/share/config/kpowersaverc";
krand="$home/.kde/share/config/kcmdisplayrc";
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
pp=`pgrep "(mplayer|kplayer|kaffeine|totem|kmplayer|dragon|amarok)" -d1`
if [ $pp > 0 ]
then
echo "checking Screensaver status";
#Disable kde-screensaver
ENABLED=`cat $rcfile |grep "^Enabled="|awk -F"^Enabled=" '{print $2}'`
if [ "$ENABLED" = "true" ]
then
echo "1"
ed -s $rcfile <<EOF
g/^Enabled=true/s/^Enabled=true/Enabled=false/g
g/^Lock=true/s/^Lock=true/Lock=false/g
.
w
q
EOF
echo "$rcfile disabled Lock=false Enabled=false"
if test -e $powerdevil
then
ed -s $powerdevil <<EOF
g/^DPMSEnabled=true/s/^DPMSEnabled=true/DPMSEnabled=false/g
.
w
q
EOF
echo "$powerdevil disabled DPMSEnabled=false"
fi
if test -e $krand
then
ed -s $krand <<EOF
g/^displayEnergySaving=true/s/^displayEnergySaving=true/displayEnergySaving=false/g
.
w
q
EOF
echo "$krand disabled - displayEnergySaving=false"
fi
num1=`grep -n specSsSettings=true $kpowersave |awk -F":" '{print $1}'`
if [ $num1 > 0 ]
then
ed -s $kpowersave <<EOF
$num1,$num1 d
w
q
EOF
echo "$kpowersave disabled specSsSettings=true removed"
fi
#Restart Krunner to pickup new config
killall krunner;
nohup /usr/bin/krunner
fi
else
ENABLED=`cat $rcfile |grep "^Enabled="|awk -F"^Enabled=" '{print $2}'`
if [ "$ENABLED" = "false" ]
then
ed -s $rcfile <<EOF
g/^Enabled=false/s/^Enabled=false/Enabled=true/g
g/^Lock=false/s/^Lock=false/Lock=true/g
.
w
q
EOF
echo "$rcfile restored Lock=true Enabled=true "
if test -e $powerdevil
then
ed -s $powerdevil <<EOF
g/^DPMSEnabled=false/s/^DPMSEnabled=false/DPMSEnabled=true/g
.
w
q
EOF
echo "$powerdevil restored DPMSEnabled=true"
fi
if test -e $krand
then
ed -s $krand <<EOF
g/^displayEnergySaving=false/s/^displayEnergySaving=false/displayEnergySaving=true/g
.
w
q
EOF
echo "$krand restored displayEnergySaving=true"
fi
#Restart Krunner to pickup new config
killall krunner;
nohup /usr/bin/krunner
echo "config changed - screensaver enabled"
fi
fi
############################################
:wq
then chmod 755 /home/USERNAME/scripts/watching-film.sh
crontab -l
# m h dom mon dow command
*/1 * * * * /home/USERNAME/scripts/watching-film.sh > /dev/null
add above crontab entry and screen saver is now controlled via this script
thanks
vahid
This post has been edited 6 times, last edit by "masterv" (Jun 19th 2009, 5:04pm)