Having a bright, blue wallpaper for day use and a darker, reddish wallpaper for evening/night is useful stay in synch with the real time of day. So, i wanted my windows xp machine automatically switch to the day wallpaper from 7-20 and to night from 20-7 hours. The following batch script does this, without any add-on software. To use, copy-paste the file and store it to your scripts directory (e:\etc in my case).
Advantages:
Notes:
#!/bin/bash # Change desktop background image depending on the time of day # Configuration: Change hourse in the case statements, and the images to load as background # # load variables for gconftool. These have to be written to Xdbus during login . $HOME/.config/Xdbus HOUR=$(date +%H) gconftool=/usr/bin/gconftool case "$HOUR" in 06|07) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0373.JPG ;; 08|09|10|11|12|13|14|15|16) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_1025.JPG ;; 17|18|19 ) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0959.JPG ;; *) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0776.JPG ;; esac
Note: gconftool needs some environment variables of the user to run. These can be saved during login for later use
#!/bin/sh # Export the dbus session address on startup so it can be used by cron # use in cron /home/brb/.config/Xdbus; xdbus=$HOME/.config/Xdbus touch $xdbus chmod 600 $xdbus env | grep DBUS_SESSION_BUS_ADDRESS > $xdbus echo 'export DBUS_SESSION_BUS_ADDRESS' >> $xdbus # Export XAUTHORITY value on startup so it can be used by cron env | grep XAUTHORITY >> $xdbus echo 'export XAUTHORITY' >> $xdbus
Add changedesktop to crontab, using crontab -e
# m h dom mon dow command @reboot /home/brb/bin/changedesktop.sh 0 * * * * /home/brb/bin/changedesktop.sh
~~LINKBACK~~ ~~DISCUSSION~~