Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I wanna set 4 different wallpapers in my 4 workspaces by setting in CCMS (wallpaper plugin). It just only work if show_desktop (gconf-editor->apps/nautilus/preference) is unchecked. But after that I can not right-click on my desktop anymore. Is it possible to make wallpaper-plugin work without "disable" my desktop?

share|improve this question
add comment

2 Answers 2

up vote 3 down vote accepted

No.

And to make it possible to save my answer ("no" is a bit short) this a possible workaround that changes your actions to open a file on the desktop from 1 move with the mouse and 1 click on an icon to 2 clicks on icons and 1 mouse move:

You need to use places>desktop to get to your desktop icons. So you can add in an option to show desktop from the launcher. Rightclick desktop (w/o compiz wallpaper active ;) ) and choose 'add launcher'. See image...

enter image description here

(command nautilus "/home/your_username/Desktop")

Add in an icon, move this launcher from desktop to ~/.local/share/applications and pin this to the launcher.

enter image description here

share|improve this answer
    
Because you shared the gnarly root image, i'm giving a +1 –  lazyPower Jun 24 '11 at 10:03
add comment

i don't know if this helps or not, but i wanted to do the same thing. i have 3 different monitors (running via xinerama), and i want a different background on each one. i also want it to rotate every once in a while.

the problem is that a lot of the software out there needs randr to run. but we can get around that. i could never get anything to work properly as far as wallpapers go.

so i wrote a simple bash script that handles all of this for me. basically, i have a folder of images that i want to use for each background. then i use imagemagick to stitch 3 pics together from that directory, and then i can display that new single pic as a spanned pic on the desktop. so it is really one actual png file, but it appears as each desktop has its own background. the imagemagick portion doesn't hit your system hard. but for some reason, the call to gsettings will slow your box down for 10 seconds or so.

beware that this script could really be beefed up. it doesn't check to make sure that files are proper images (jpgs, pngs...), and makes a lot of assumptions.

here is the script i use:

#this is the directory that holds all of the pics you want to show
PIC_DIR=/home/myuser/Pictures/desktop

# We want indexes 1 and over
FLOOR=0

#We don't want to exceed the number of pics we have (upper bound)
RANGE=$(ls $PIC_DIR | wc -l)

#Initialize this
file_number=0

#Function to generate a random number using our bounds
function generate_random_number()
{
    file_number=0
    while [ "$file_number" -le $FLOOR ]
    do
        file_number=$RANDOM
        let "file_number %= $RANGE"
    done
}

# so we get a number that will represent the picture we want to use.
# We get the size of the directory, and generate a random number
# between 0 and that size.  Then, we get the file that
# corresponds to that number.
generate_random_number

# We have to add a 'p' to the file number to get it to
# work with sed, so we add it here
file_number=${file_number}"p"

#get the file name based upon the file number
FILENAME1=$(ls $PIC_DIR | sed -n "$file_number")

#Do it all over again for the second pic
generate_random_number
file_number=${file_number}"p"
FILENAME2=$(ls $PIC_DIR | sed -n "$file_number")

#Do it all over again for the third pic
generate_random_number
file_number=${file_number}"p"
FILENAME3=$(ls $PIC_DIR | sed -n "$file_number")

# Here is where we will stitch the pics together. 
# My monitors are turned vertically, so their resolution is
# 1050x1680.  We will always reuse the same name for the 
# output file, so that we aren't creating hundreds of files.
${montage -geometry 1050x1680+0+0 ${PIC_DIR}/${FILENAME1} ${PIC_DIR}/${FILENAME2} ${PIC_DIR}/${FILENAME3} ${PIC_DIR}/out.png

# Set the wallpaper.  
$(/usr/bin/gsettings set set org.gnome.desktop.background picture-uri file:///${PIC_DIR}/out.png >> /dev/null)

# Set the image to span
$(/usr/bin/gsettings set org.gnome.desktop.background picture-options "spanned" >> /dev/null)

so you can call this just via the command line, or you can set it up to be called via cron. in that case, use "crontab -e" to open your cron. this must be called in a special way though. say you want your background to change once an hour, you need to do this:

0 * * * * DISPLAY=:0.0 /home/myuser/path/to/my/script >> /dev/null

the key is to make sure to include the DISPLAY remark.

the beauty of this is that it runs in gnome2 or compiz, and is really easy to do. i don't know why the xorg process takes such a hit when you call the gsettings command, but it does, and it will lag your system for about 10 seconds. but this can be used on pretty much any gnome-based system.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.