Workspace wallpaper backend patches and video
I’ve pretty much completed implementing the mechanisms in nautilus and gnome-settings-daemon to implement per workspace wallpapers. I’ve created a short video that shows the current state of the functionality:
As you can see the wallpaper is currently set for whichever workspace the appearance capplet is on.
I’ve put most of the patches (except the gnome-control-center one) into bugzilla:
gnome-desktop: http://bugzilla.gnome.org/show_bug.cgi?id=543596
http://bugzilla.gnome.org/show_bug.cgi?id=544241
gnome-settings-daemon: http://bugzilla.gnome.org/show_bug.cgi?id=544178
eel: http://bugzilla.gnome.org/show_bug.cgi?id=544223
nautilus: http://bugzilla.gnome.org/show_bug.cgi?id=544242
gnome-control-center patch is available here: http://git.jsharpe.net/ but is still a work in progress.
I’d appreciate feedback on the patches.
Tags: eel, gnome, gnome-desktop, gnome-settings-daemon, nautilus
July 23rd, 2008 at 3:04 pm
An option to apply the same wallpaper to all workspaces would be nice too
Anyway, well done, this bug was rather old!
July 23rd, 2008 at 3:08 pm
Nice work!
It will be great if we can specif different icons for different workspaces.
July 23rd, 2008 at 3:22 pm
I like the feature, but the default should definitely be to use the same image on all workspaces. I wouldn’t want to make the same change eight times (or whatever), once for each workspace.
July 23rd, 2008 at 3:29 pm
impressive and scary how many modules you had to patch for this. thanks!
July 23rd, 2008 at 3:43 pm
My next task is to add a drop down menu to the capplet to control which workspaces you are changing the preferences for, so that applying the same wallpaper will be straightforward.
July 23rd, 2008 at 4:08 pm
Did this work with Compiz too?
July 23rd, 2008 at 4:37 pm
Hey, that’s nice. While you’re at it, could you make it handle correctly per-screen backgrounds on multihead setups ? The current situation is really, really annoying.
July 23rd, 2008 at 4:40 pm
Bart: Unfortunately it doesn’t work with compiz because compiz uses viewports whereas gnome uses virtual workspaces to implement workspaces. I think to make it work libwnck would need to be patched to handle viewports changes.
July 23rd, 2008 at 4:56 pm
Nice to see this
I recently moved to Gnome and wallpapers settings left me a bit confused
May I hope for having also per-screen settings in the future?
It comes handy with xinerama/xrandr 
July 23rd, 2008 at 5:10 pm
Hey the youtube video was pulled, can you repost?
July 23rd, 2008 at 5:32 pm
sharms: the youtube video seems to be working fine here
Here is the url if the embedded version isn’t working for you:
http://www.youtube.com/watch?v=e1QHs-STcHs
July 23rd, 2008 at 5:35 pm
“Nice work!
It will be great if we can specif different icons for different workspaces.”
ah for this u have to use the next kde4.2, that’s what containment is for
July 23rd, 2008 at 5:59 pm
@bart: for compiz there is a plugin called wallpaper. It works only if you disable show_desktop in nautilus, so open gconf-editor and go to apps->nautilus->preferences then uncheck show_desktop
If you use Ubuntu here are the instructions:
http://forum.compiz-fusion.org/showthread.php?p=56851
July 23rd, 2008 at 6:20 pm
So can we select screensavers, translucent .svg, and videos yet, or is it just the same old pictures deal?
July 23rd, 2008 at 7:00 pm
@ethana2: no its the same old pictures still but translucent svg is possible - gnome ships with some by default.
July 23rd, 2008 at 7:18 pm
> My next task is to add a drop down menu to the capplet to control which
> workspaces you are changing the preferences for, so that applying the same
> wallpaper will be straightforward.
I think a simple “Apply to all workspaces” checkbox is better.
A combobox is much to complicated for this.
July 23rd, 2008 at 7:18 pm
Also, just to make sure: this all works with animated backgrounds too, right ?
July 23rd, 2008 at 8:12 pm
Hmm… cool…
I use Viewports so this isn’t as usefull for me though
What I really would like to see is native support for Wallpaperclocks.
http://www.vladstudio.com/wallpaperclock/
There is a Screenlet that does it for me now.
http://gnome-look.org/content/show.php?content=66717
July 23rd, 2008 at 8:14 pm
@Matthias Clasen: I’ve not checked that, there may need to be some more small changes to support the animated backgrounds.
July 23rd, 2008 at 8:28 pm
@Mårten Woxberg: The trouble with viewports is there isn’t really a way to enumerate them consistently since they can be placed and sized anywhere. If you can come up with a way of enumerating the viewports to create a consistent gconf key name then it wouldn’t be much work to add viewport support.
July 23rd, 2008 at 8:29 pm
It’s cool but it could use some more work - wallpaper should switch without lagging after chaning the workspace IMO. Would that be possible?
July 23rd, 2008 at 9:40 pm
On changes between workspaces, the code looks like it reloads the background even if the same background? Bad.
July 23rd, 2008 at 10:23 pm
It looks pretty tiresome to be opening that dialog for each workspace. One little tweak you could do is set the wallpaper dialog to become visible on all workspaces (sticky, I believe).
Nice work
July 23rd, 2008 at 11:28 pm
Thsnks for implementing this; now the UI in appearance needs some work.
Maybe a mini view of the backgrounds of all the workspaces next to each other, and you can drag and drop any of the pictures on the workspace you want?
July 24th, 2008 at 3:02 am
COOL! Love to see this in 2.24. Is this some kind of quick hack?
July 24th, 2008 at 9:03 am
The xfce project has this very long time ago.
July 24th, 2008 at 11:28 am
@Alan: the gnome-bg code has a cache of pixbufs so it doesn’t actually reload the pixbuf; it just retrieves it from the cache.
@Jones Lee: No, its properly integrated and not a quick hack. I don’t know if it’ll be ready in time for the 2.24 freeze though, but I’ll try my best to get it ready asap.
July 24th, 2008 at 4:47 pm
> “Maybe a mini view of the backgrounds of all the workspaces next to each other, and you can drag and drop any of the pictures on the workspace you want?”
Looks like an excellent idea, but there’s a tiny detail to take into account: when you design the UI, you don’t know how much workspaces the user will have. Imagine the UI you have in mind with 10 mini workspaces… Scary :-/
July 24th, 2008 at 6:20 pm
I have no clue on how to enumerate them, but I suspect this guy has solved it in Windows.
http://www.binaryfortress.com/displayfusion/
July 25th, 2008 at 7:23 am
I think that your method of implementation is a little flawed.
It appears that you change the background image after switching to a workspace. When in reality each workspace should have its own background image at all times, so that it works with compiz and any coming metacity compositor.
Without a _real_ per workspace wallpaper then you’re just re-implementing wallpapoz inside of gnome.
Surely there is a way of having a different background image associated with a workspace so that when you flip to cube it shows the correct wall papers? Compiz has some kind of plugin for this but that still isn’t a proper solution.
July 25th, 2008 at 5:19 pm
Nice work!
I love nona’s suggestion about the mini view of the viewports + drag & drop. As long as it scales well (follow the workspace switcher applet settings?), UI space shouldn’t be an issue.
Keep it up!
July 25th, 2008 at 7:53 pm
Great work James
Go Digg it
http://digg.com/linux_unix/Gnome_Different_Wallpapers_for_Workspaces_complete
July 26th, 2008 at 3:15 pm
do these patches work on current gnome? or git version only?
July 26th, 2008 at 11:54 pm
[...] bookmarks tagged patches Workspace wallpaper backend patches and video saved by 1 others gano15300 bookmarked on 07/26/08 | [...]
July 27th, 2008 at 1:16 am
@james sharpe: glad it’s integrated solution. And let’s hope it will make it for 2.24. Though I think you need some people lobbying for the code to be merged upstream early.
I have one suggestion for capplet GUI, IMHO I do no think drop down box is a very good idea. What if the users has let’s say 99 workspaces (this might lower number), the drop down list would list 99 workspaces?!! Imagine that! Well, so a check box Apply to all workspaces would be enough.
Besides, I think the capplet should have some kind of way to preview what bg is used on each workspace rather than let user change workspace by workspace to figure out only if someone can come up with a neat and simple GUI. Else just leave it as it is.
July 28th, 2008 at 2:29 pm
Excellent work. I hope it makes it into 2.24.
In the video, however, it looks like there is a small lag between the time you switch workspace and the time the wallpaper shows up. Are you seeing this?
Also, I think it’s really important to have this capability work with compiz. I know it may not be easy, but compiz is one of the big drivers for people trying Ubuntu for the first time.
Thanks again!
July 28th, 2008 at 5:45 pm
Great work so far!
Please make sure to check this bug:
http://bugzilla.gnome.org/show_bug.cgi?id=444320
Some notes:
- Add a checkbox “[] Apply to all workspaces”
- Make nautilus use a RGBA colormap and draw a transparent background in case of a composite manager taking over (see patches in the bug)
- Adjust/Fork the compiz wallpaper plugin to use the new background gconf keys instead of it’s own to set the drawn wallpapers
This would allow multiple wallpapers on non-composited and composited environments and integrate with GNOME.
August 7th, 2008 at 5:06 am
You are a stud! Thanks for getting this working!
August 19th, 2008 at 12:07 am
It looks like you have to open the capplet on each workpace individually. So two related questions/comments:
* Hopefully it works as expected if you open the capplet on one workspace, then move it to a different workspace before closing it? (Where ‘as expected’ means the selection updates to reflect the new workspace background, and I can set the new workspace background as well?)
* Is it possible to set hints to make the appearance capplet automatically appear “Always on Visible Workspace” (as I can do manually via its titlebar), and would it make sense to do so, to simplify changing multiple workspace backgrounds in one go? (That’s what happens on MacOS X, but for multiple monitors rather than different workspaces– just like GNOME, different workspaces are stuck with the same background, in Leopard…) Even if it’s possible, would certainly need a little usability testing to see if people liked that, though, as it’s obviously different to how every other app/window on the desktop behaves…
September 4th, 2008 at 11:22 pm
Excellent work !
Can someone explain me how to set up those patches ?
Thanks !