Skip to main content

Random wallpaper change script for Linux

This script would change wallpaper at regular intervals in a random manner. The script can also be killed at any time from any terminal. just like pulseaudio.
#For eg. my-laptop>$ ./wallpaper-changer.sh kill

Usage: wallpaper-change.sh [option]
[option] = kill : Kill all running instances of the script
= change : Change the wallpaper
= dir : Change the wallpaper directory to
= -h : Display this help.

===============================================
#!/bin/bash
# Wallpaper randomizer script
# written by JOnes v4.1.5
# this script keeps rotating the wallpapers at a fixed interval and does it randomly.
# It goes into background. You can either kill it manually or use the "kill" switch as a command line parameter.


# location of wallpapers / pics.
wallpaperdir="$HOME/Pictures"

# wallpaper change interval time in seconds. Cannot changed during runtime.
changetime=1800



# do not have to edit beyond this line
#------------------------------------------

helpme(){
# help menu
echo
echo "Usage: " `basename $0` "[option] "
echo "[option] = kill : Kill all running instances of the script "
echo " = change : Change the wallpaper"
echo " = dir : Change the wallpaper directory to "
echo " = -h : Display this help."
exit
}

if [ "$1" != "" ]
then
# if no command line parameter supplied then move on.

if [ "$1" == "kill" ]
then
# if command line parameter is "kill" then kill all running instances of this script.

nnn=`ps aux | grep $0 | tr -s " " | cut -d" " -f2 `
echo -e $$ "\n====" # prints PID of this instance of script. make sure not to kill itself.
for ii in `echo $nnn`
do
if [ "$ii" -ne "$$" ]
then
echo "Killing PID:" $ii
kill -9 $ii
fi
done
exit
# else if echo $1 | grep '^[0-9]*$' ] ; then
# changetime=$1
# echo $changetime
# exit
# fi
# modify wallpaer rotation time

elif [ "$1" == "change" ]
then
# if command line parameter is "change" then change the wallpaper.

cd $wallpaperdir
pic=`ls | sort -R | tail -n1 `

picfullname="$PWD/$pic"
echo "Changing wallpaper to :" $picfullname
echo
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$picfullname"
exit
elif [ "$1" == "dir" ]
then
# if CLI parameter is "dir" then change the wallpaper directory.

if [ "$2" == "" ]
then
echo "No directory name given."
helpme
echo
exit
elif [ ! -d "$2" ]
then
echo "Directory does not exist."
echo
exit
else
wallpaperdir="$2" # set wallpaper directory temporarily
# kill running instances and spawn a new one with modified wallpaper directory

nnn=`ps aux | grep $0 | tr -s " " | cut -d" " -f2 `
for ii in `echo $nnn`
do
if [ "$ii" -ne "$$" ]
then
kill -9 $ii
fi
done
fi
elif [ "$1" == "-h" ]
then
# -h : help menu
helpme
else
helpme
fi
fi

cd $wallpaperdir
hrs=$(($changetime/3600))
mins=$(($changetime/60))

echo
echo "Wallpaper directory : " $wallpaperdir
echo "Wallpaper change interval time:" $hrs "h" $mins "m"
echo

{
while [ 1 ]
do

pic=`ls *.jpg *.png *.bmp *.gif| sort -R | tail -n1 `

picfullname="$PWD/$pic"
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$picfullname"
echo "Changing wallpaper to :" $picfullname
echo

sleep $changetime

done
}&

Comments

Popular posts from this blog

Use apple DVD drive (superdrive) in Linux

Attach DVD drive See if it is recognized $ dmesg | tail [357251.566256] scsi 8:0:0:0: CD-ROM            Apple    SuperDrive       2.00 PQ: 0 ANSI: 0 [357251.594859] sr 8:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray [357251.594867] cdrom: Uniform CD-ROM driver Revision: 3.20 [357251.595222] sr 8:0:0:0: Attached scsi CD-ROM sr0 [357251.595424] sr 8:0:0:0: Attached scsi generic sg1 type 5 Now check the dev folder to see what device id is assigned to the apple drive $ cd /dev/ $ ls -l sr* brw-rw----+ 1 root cdrom 11, 0 May 22 20:49 sr0 See if the device showed up as sr0. If the drive is identified as sr1 (in case you have another DVD drive plugged in already) then replace sr0 by sr1 in the following commands. Make sure sg_raw is installed ($ which sg_raw). If it is not installed then install it first by $ sudo apt-get install sg3-utils Use the following command to send bytes to ...

LYRICS OF CHANDRABINDOO

___________________________________________________________________ SWEET HEART FROM AAR JAANI NAA(T-SERIES) -- SWEETHEART -- Pratham college-er din ta Aajo thik e mone poRey scene ta Dada didi haath dhorey siNRi tei bose poRey Aamar chokh ta ghorey bon bon bon bon Sweetheart, I am seating alone Sweetheart, for me there is none DhoNk gile chole gelo pratham maas Meye dekhlei feli deergho-shwash DhoNk gile chole gelo pratham maas Meye dekhlei othe nabhishwash Meyera bheeshan smart poRey chhoto mini-skirt Aamar e je sheet korey kon kon kon kon Sweetheart, I am seating alone Sweetheart, for me there is none Taarporey kete gelo maas chaar Fuse holo je kato future Bandhura purse khule eke oke taake tole Aamar pran ta korey chon mon chon mon Sweetheart, I am seating alone Sweetheart, for me there is none Ekdin lawn theke beriye Ek tanayaar dike taakiye Hawt korey ki je holo magaj ta ghurey gelo Taar kaaner saamne kori ghyan ghyan ghyan ghyan Sweetheart, I am seating alone Sweethea...

Fastest way to send multiple drafts from gmail

People claim that the fastest way to send multiple email drafts is to use Gmail IMAP with email client like Outlook or Evolution or Thunderbird. But I have found this is not true. Because Thunderbird and Evolution etc. email clients treats the drafts as emails still to be edited. So it is not just simple select all and hit send. Each email draft has to be opened and sent separately. That is a lot of clicks and mouse movements, wasting precious time and energy. I have a better solution which involves minimum keystrokes and mouse usage. Efficiency booster technique for sending emails. If someone is feeling adventurous and want to try it from the Gmail interface itself, here's how to do it in the fastest possible manner. It involves using the mouse once. Select the first draft. Gmail would open a new email box and put the cursor inside the box to write. Press TAB once to go the Send button. Press ENTER to send. Now Gmail sends it and the box is gone but the highlight goes to the last...