Nautilus 3.7.92 breaks desktop background on Unity

Bug #1159430 reported by Adam Dingle on 2013-03-24
This bug affects 80 people
Affects Status Importance Assigned to Milestone
Ubuntu GNOME
Unity for Arch Project
Andrew Gunnerson
ubuntu-themes (Ubuntu)

Bug Description

I'm on Ubuntu 13.04 (Raring), running Nautilus 3.7.92 from the GNOME 3 PPA ( This version of Nautilus doesn't draw the desktop background - actually that capability was removed in 3.7.91. So the desktop background appears plain white on my system.

Related branches

dino99 (9d9) wrote :

get the same issue on i386 with that ppa activated

tags: added: i386 raring
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nautilus (Ubuntu):
status: New → Confirmed
Jeremy Bicha (jbicha) wrote :

Please paste the output of
gsettings get org.gnome.settings-daemon.plugins.background active


gsettings get org.gnome.desktop.background show-desktop-icons

Adam Dingle (adam-yorba) wrote :

adam@lime:~$ gsettings get org.gnome.settings-daemon.plugins.background active
adam@lime:~$ gsettings get org.gnome.desktop.background show-desktop-icons

Zwulf (zwulf) wrote :

I get the same problem.

air@atmosphere:~$ gsettings get org.gnome.settings-daemon.plugins.background active
gsettings get org.gnome.desktop.background show-desktop-icons

Sebastien Bacher (seb128) wrote :

thank you for your bug report, I'm setting it invalid though since we don't track ppa bugs as ubuntu bugs

Changed in nautilus (Ubuntu):
status: Confirmed → Invalid
importance: Undecided → Low
Adam Dingle (adam-yorba) wrote :

Moving this bug to the ubuntu-gnome project as Sebastien suggested.

affects: nautilus (Ubuntu) → ubuntu-gnome
Changed in ubuntu-gnome:
status: Invalid → New
dino99 (9d9) wrote :

note: latest Apport allow to report from gnome3-team ppa, and should now tag it accordingly.

tags: added: gnome3-ppa
Changed in ubuntu-gnome:
status: New → Incomplete
status: Incomplete → Confirmed
Adam Dingle (adam-yorba) wrote :

Since GNOME has removed the background drawing code from Nautilus, is there a plan about how to proceed here? Are you planning to patch Nautilus to draw the desktop background anyway, or to have some other process draw it?

dino99 (9d9) on 2013-03-26
tags: added: gnome3
removed: gnome3-ppa
dino99 (9d9) on 2013-03-26
tags: added: gnome3-ppa third-party-packages
removed: gnome3
Adam Dingle (adam-yorba) wrote :

As a workaround, I just tried using the Compiz Wallpaper plugin (available in compiz-plugins) to draw the background since Nautilus won't any more. That worked, but unfortunately now I don't see any icons on my desktop. I'd like Nautilus to draw its icons on top of the Compiz wallpaper, but that doesn't seem to be happening.

Jeremy Bicha (jbicha) wrote :

Adam in my testing, GNOME Shell seems to work ok. ubuntu-gnome-default-settings sets org.gnome.settings-daemon.plugins.background active to true by default which looks needed, at least with the way we're packaging things in the GNOME3 PPA.

It looks like things break in Unity though if org.gnome.desktop.background show-desktop-icons is set to true.

As a workaround, run

gsettings set org.gnome.settings-daemon.plugins.background active true
gsettings set org.gnome.desktop.background show-desktop-icons true

This will disable icons on the desktop but changing the default wallpaper should work fine.

summary: - Nautilus 3.7.92 does not display desktop background
+ Nautilus 3.7.92 breaks desktop background on Unity
Adam Dingle (adam-yorba) wrote :

Jeremy, thanks for this info. I didn't realize there was a gnome-settings-daemon plugin that could draw the desktop background - fascinating. In Raring we have gnome-settings-daemon 3.6.4 where the background plugin is present, but it looks like vanilla GNOME removed it in 3.7.90:

So we'll need to patch it back in if we want still want it when we move to a newer gnome-settings-daemon.

I thought that in GNOME Shell mutter draws the background with a bit of direction from gnome-shell. At least that's the way it seemed to me from looking around the code a bit. So I'm not sure why the gnome-settings-daemon background plugin would be needed in that environment, though you say it actually might be.

As for me, I want to run Unity with a background wallpaper and icons on my desktop, all in a world with GNOME 3.8 packages from your PPA. As you pointed out, that doesn't seem to work yet - if show-desktop-icons is true then I see a white background even when org.gnome.settings-daemon.plugins.background active is true. Hm - not sure why that is.

Adam Dingle (adam-yorba) wrote :

I tried running with gnome-settings-daemon drawing the background and show-desktop-icons set to false so that I could see a pretty background even if I had to give up icons on the desktop. Unfortunately, I found that in that configuration Compiz frequently freezes when I close or minimize a window: the system stops responding to mouse input and I need to switch to another virtual terminal and kill my session. Actually the freezes happen whether or not gnome-settings-daemon is drawing the background: they are a consequence of setting show-desktop-icons to false. So now I've set show-desktop-icons to true and have no background again, alas.

Adam Dingle (adam-yorba) wrote :

Here are some more thoughts about this. Nautilus 3.8.0 still sets its desktop window to have type _NET_WM_WINDOW_TYPE_DESKTOP. (See set_wmspec_desktop_hint() in nautilus-desktop-window.c.) Since this apparently works fine in GNOME Shell, I can only assume that Mutter allows such windows to be transparent, and to be layered on top of a background below. I tried writing a small test program in C that displays a transparent window. If I modify the program to set the window type to _NET_WM_WINDOW_TYPE_DESKTOP, then in Compiz the window is transparent no more.

One way to work around this might be to patch Nautilus to use a different window type, e.g. _NET_WM_WINDOW_TYPE_NOTIFICATION . Back in the ancient times of GNOME 2 there was a transparent background patch for Nautilus floating around which did exactly that; see . But that seems a bit hacky and would be a futher divergence from the vanilla Nautilus source base. A better approach might be to fix Compiz to allow transparent desktop windows as Mutter apparently does.

Adam Dingle (adam-yorba) wrote :

I investigated a bit more. Compiz performs compositing via the Composite plugin, found in plugins/composite. The code there does check for desktop windows (i.e. of type _NET_WM_WINDOW_TYPE_DESKTOP) and prevents them from being transparent. I removed those checks so that all windows can be transparent and rebuilt Compiz. (I'll attach a patch with those changes in case anyone else wants to try this out.) With those changes, I ran a small test program which shows that a window of type _NET_WM_WINDOW_TYPE_DESKTOP does appear transparent over Compiz wallpaper, i.e. the changes worked. But unfortunately when I ran Nautilus and a Compiz wallpaper plugin together, I still saw only the Compiz wallpaper, not the Nautilus icons. Perhaps this is a z-ordering problem, i.e. the Nautilus window is behind the wallpaper. Or maybe something else is going on.

It would also be interesting to try to make this work with gnome-settings-daemon's background plugin drawing the wallpaper. That might require a couple of changes to the background plugin code. Currently that plugin checks whether Nautilus is displaying a desktop window and declines to draw the background in that case, so we'd need to change that. Also, from glancing at the code it appears that that plugin doesn't set its own window to type _NET_WM_WINDOW_TYPE_DESKTOP. Maybe it would need to for this to work; I'm not sure.

Jeremy Bicha (jbicha) wrote :

Adam, thanks for the additional work you've put into this. In the GNOME3 Staging PPA we have temporarily reverted GNOME's decision to drop the background plugin in gnome-settings-daemon 3.8; ideally Compiz would be able to handle drawing the desktop *without* the g-s-d background plugin.

That would still leave metacity users with missing wallpaper support but at that point I believe it is the GNOME Flashback team's responsibility to either figure out how to get metacity to handle drawing the desktop or to split the background plugin into a separate g-s-d-flashback package.

Adam Dingle (adam-yorba) wrote :

That makes sense. I agree that the right path forward for Unity users is probably to have a Compiz plugin draw the background, ideally getting the wallpaper path and other attributes from the same GSettings keys that vanilla GNOME uses. Perhaps we could adapt the existing Compiz wallpaper plugin to do that.

Adam Dingle (adam-yorba) wrote :

I've continued investigating this. For Nautilus to draw a transparent desktop on top of wallpaper drawn by Compiz, we'll need two things besides the Compiz patch I posted above:

1. We need to modify the Ambiance theme, which is causing Nautilus to draw the desktop background non-transparently. Here's the line that's causing that, in themes/Ambiance/gtk-3.0/gtk-widgets.css:

* {
    /* inherit the color from parent by default */
    color: inherit;
    background-color: @bg_color; // <-- this line

Removing that line will make Nautilus draw a transparent background (though I'm not sure what consequences it might have in other applications).

2. We need Nautilus's desktop window to appear above the Compiz wallpaper window in the z-order. In my experiments so far it generally comes out the other way around: the wallpaper is on top of Nautilus (and so the Nautilus icons are invisible). Both those windows have type _NET_WM_WINDOW_TYPE_DESKTOP, so we need some other way for Compiz to distinguish them when stacking. I propose modifying the Compiz wallpaper plugin to set _NET_WM_STATE_BELOW on its window (this is like calling gdk_window_set_keep_below), and modifying Compiz so that desktop windows with that state bit set will be kept below others. To do that I think we'll need to modify PrivateWindow::findLowestSiblingBelow() and/or related functions in src/window.cpp in Compiz.

Adam Dingle (adam-yorba) wrote :

I've taken a first stab at implementing the above:


With these changes, Nautilus will display icons over wallpaper from the Compiz wallpaper plugin.

There's still (at least) one bug. When you first log in, you won't see any desktop icons because the Nautilus desktop will be behind the Compiz wallpaper. If you click once on the desktop, the Nautilus icons will come forward and remain there for the remainder of your session. If you exit Nautilus and run it again, on the next startup the icons will correctly appear in front. It appears that when Nautilus first runs at login, its desktop window sinks to the bottom of the z-order because even though the Compiz wallpaper window has already been created, that window is not (yet) in the screen->serverWindows () list traversed in PrivateWindow::findLowestSiblingBelow() in window.cpp in Compiz. I'm not sure why that is.

Also, if you set this up you'll quickly run into bug #1168636 (compiz resets active plugin list on every startup): if you enable the wallpaper plugin and then log out and log back in again, it's no longer active. The easiest way to work around that is to add 'wallpaper' and 'imgjpeg' (which the wallpaper plug depends on) to /etc/compizconfig/unity.ini.

no longer affects: archlinux
Andrew Gunnerson (cxl) wrote :

I don't know if this is useful to anyone, but in the Unity-for-Arch project, I just reverted the changes that removed background support.

The patches are available here: Just reverse apply them with "patch -p1 -R -i /path/to/patch"

They're slightly different from the upstream git commits in that they don't re-add the gnome_bg_set_draw_background() call (from old versions of gnome-desktop) and therefore work with libgnome-desktop 3.8.

Changed in unity-for-arch:
assignee: nobody → Xiao-Long Chen (cxl)
status: New → Fix Released
Russ Adams (rustushki) wrote :

I'm running Gnome 3.8.1 with Ubuntu 13.04 via the GNOME3 PPA. Per Adam's notes, I've been able to workaround this problem by using the Adwaita GTK theme rather than Ambiance.

I can also confirm that Radiance reproduces the same wallpaper behavior.

Tim Lunn (darkxst) on 2013-04-26
Changed in light-themes:
status: New → Confirmed
affects: light-themes → light-themes (Ubuntu)

The attachment "compiz patch to allow transparent desktop windows" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Alexandre BELLONI (abelloni) wrote :

I actually seems enough to modify /usr/share/themes/Radiance/gtk-3.0/gtk-widgets.css to get back the correct behavior.

So it seems to nly be an issue with light-themes and not nautilus.

Adam Dingle (adam-yorba) wrote :

Alexandre, when you say "the correct behavior" do you mean that Nautilus is displaying icons on top of a desktop background? What version of Nautilus are you running? What change have you made to gtk-widgets.css, exactly? Have you enabled the Compiz wallpaper plugin?

Abdul (absando) wrote :

had the same problem after upgrade to Ubuntu 13.04 and update Gnome to 3.8.1. Ran gnome-tweak-tool from terminal and under Desktop: Have file manager handle the desktop to OFF. Lots of options here ..

Alexandre BELLONI (abelloni) wrote :

I'm actually using gnome-shell 3.8.1-0ubuntu1~raring1.2, nautilus 1:3.8.1-0ubuntu1~raring1. I'm attaching the patch I'm using now as it has a lot less implications on the other applications. I have my icons over the desktop background.

Adam Dingle (adam-yorba) wrote :

Alexandre, thanks for the additional information. In GNOME Shell this is known not to be a problem, as Jeremy pointed out in his comment #11 above. GNOME Shell uses a different window manager (Mutter) which can draw the background itself and which apparently allows desktop windows to be transparent. The problem for Ubuntu is that Unity runs in a different window manager (Compiz) which will probably need some changes for Nautilus desktop icons to work; see my comments #12-#20 above for details.

Alexandre BELLONI (abelloni) wrote :

Yeah right, I got confused at some point and didn't remember that bug was about unity. Still, the ubuntu light-themes will have to be modified to be working well on gnome 3.8. Maybe it is worth making two separate bugs.

Adam Dingle (adam-yorba) wrote :

I suspect that the theme changes required will be the same for GNOME Shell and Unity, so probably there's no need for two bugs. This bug has already been marked as affecting light-themes, which addresses that aspect of the problem. For Unity the problem is larger: we'll probably need to make some changes to Compiz, and possibly enhance the existing Compiz wallpaper plugin or write a new one.

affects: light-themes (Ubuntu) → ubuntu-themes (Ubuntu)
Luc Pi (oluc) wrote :

I confirm: on upgraded raring, with gtk+ theme Ambiance or Radiance, the desktop background is not drawn under desktop icons (just plain white color). With other themes, the desktop background is drawn under desktop icons.

Following on comment #24,
What needs to be modified in [1]?

[1] /usr/share/themes/Radiance/gtk-3.0/gtk-widgets.css to get back the correct behavior.

Adam Dingle (adam-yorba) wrote :

Luc, you're running GNOME Shell, right? All you should need to do is apply the patch Alexandre attached in comment #27.

Jeremy Bicha (jbicha) wrote :

Alexandre, could you patch Radiance too? Also, could you submit the change as a merge proposal to lp:ubuntu-themes ?

I think there's some information at about how to do that. Thanks!

Adam Dingle (adam-yorba) wrote :

Note that the theme fix I proposed in #19 above (also present in my ubuntu-themes branch in #20) solves the theme problem in a different way: rather than adding a background-color: transparent rule to NautilusWindow, it removes a more general rule about inheriting background colors. I think I like this better since it's more similar to how the Adwaita styles work. In Adwaita, the Nautilus background transparency doesn't come from a theme rule; it comes from the Nautilus application itself. And I think staying closer to Adwaita will make things more maintainable in the future.

With that said, I haven't thought hard about this, and I don't know why Ambiance's background inheritance rule was added in the first places. I think the ubuntu-themes designers should think about this and decide which theme fix is best.

Alexandre BELLONI (abelloni) wrote :

Jeremy, I just did the merge proposal, please bear with me as this is the first time I'm really using bzr.

Adam: I tried what you proposed but it actually break some other applications, in particular evince, you end up with black text over a black background (drop down list a the top left). That is also mainly why I'm using Radiance instead of Adwaita.

NanoWar (nanowar) wrote :

I am using "background-color: inherit;" as in post #19 and this works for me. Also the problem of post #34 is then solved.

Adam Dingle (adam-yorba) wrote :

NanoWar, do you mean that you changed "background-color: @bg_color" to "background-color: inherit" in the theme file?

Adolfo Jayme (fitojb) on 2013-05-03
Changed in ubuntu-themes (Ubuntu):
importance: Undecided → High
gmosx (george-moschovitis) wrote :

I have the same issue, *very* annoying!

Carles Sentis (heepie202) wrote :

removing "background-color: @bg_color" as suggested in 19[1] didn't work for me, neither changing @bg_color for inherit on the same line.

Denis Gorodnichev (d-g) wrote :

better is to overwrite background color only for NautilusDesktopWindow

NautilusDesktopWindow GtkWidget {
 background-color: @transparent;

Alexandre BELLONI (abelloni) wrote :

Indeed, that is much better. I was looking for a way to select NautilusDesktopWindow but could find it. I didn't try to hard.
I update my branch accordingly but feel free to create your own branch so that you get the credits.

Sid Verma (mavidser) wrote :

Another peculiar thing that happens to me : When I select themes like Adwaita or Numix, the background starts drawing all the images of the dash, the windows ( like ). Does that occur with anyone else?

tetament (tetament) wrote :

mon fond d'ecran est tout blanc et mon ubuntu software center s'arrete seul

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-themes - 13.04daily13.05.31-0ubuntu1

ubuntu-themes (13.04daily13.05.31-0ubuntu1) saucy; urgency=low

  [ Alexandre Belloni ]
  * Fix desktop background not showing (LP: #1159430). (LP: #1159430)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 289
 -- Ubuntu daily release <email address hidden> Fri, 31 May 2013 00:03:23 +0000

Changed in ubuntu-themes (Ubuntu):
status: Confirmed → Fix Released
Dmitry Shachnev (mitya57) wrote :

Re compiz part, it will be nice if you fixed indentation and proposed a merge against lp:compiz.

MC Return (mc-return) on 2013-06-03
Changed in compiz:
assignee: nobody → MC Return (mc-return)
Adam Dingle (adam-yorba) wrote :

Dmitry, in your comment who do you mean by "you"? Was that comment meant for me, since I posted a link to a branch with some Compiz changes in comment #20 above? If so, I'll say that I don't think those changes are ready to be merged into Compiz - they were preliminary and need more testing and bug fixing. (I mentioned one outstanding issue in that same comment). They might be a good starting point for someone who wants to study this more deeply and come up with a solid fix.

Adam Dingle (adam-yorba) wrote :

It's great to see someone assigned to this bug. What, roughly, is Ubuntu's plan for solving this in 13.10? Do you plan to ship Nautilus 3.8 in 13.10? If so, who will draw the desktop background - Compiz, Nautilus, gnome-settings-daemon or some other process? If Compiz, do you plan to adapt the existing Compiz wallpaper plugin, or write a new one? Do you plan to adapt the patch I posted above, or take some other approach?

On Tue, Jun 4, 2013 at 4:17 AM, Adam Dingle <email address hidden> wrote:
> Dmitry, in your comment who do you mean by "you"? Was that comment
> meant for me, since I posted a link to a branch with some Compiz changes
> in comment #20 above?

I didn't notice comment #20, sorry. Now that MC Return assigned
himself here, it's no longer relevant I think.

The bug is still present with Nautilus 1:3.8.1-0ubuntu1~raring1 AMD64 and Gnome-shell 3.8.2-1ubuntu2~raring2 AMD64.

I'm using ubuntu-gnome fresh install, upgraded to Gnome-shell 3.8 using the ppa.

The only workaround I found is to use Places extension applet or a keyboard shortcut (such as Ctrl+Alt+H); this way, nautilus is launched without any problem. Nautilus can't be in the dash menu otherwise it may crash gnome-shell or may lost the background.

By the way, I can't find ANY OTHER theme besides adwaita that works... Gnome-shell becomes very unstable with any other theme than the official one... It's very annoying...

Sebastien Bacher (seb128) wrote :

waouh, quite some comments on that bug, I just ran accross it while looking at the nautilus update for saucy...

So it seems to get that fixed we need:

- the new nautilus (being worked)

- have gnome-settings-daemon's background plugin, to drop its checks that make it bail out if nautilus renders the background (I've a patch for that)

- have compiz deal nicely with rgba desktop windows (Sam is looking at it)

- the themes update (seems to be in already)

Thanks everyone for the work on those issues, it seems like we are in a good path to get things resolved and the new version in the archive this cycle.

@Adam: you asked about the plan, I think we will do that:

- upload nautilus 3.8 soon, with the desktop changes reverted temporary (so we can get the new version without breaking anything)

- work on getting the issues listed earlier resolved

- drop the nautilus patch and let either compiz or gnome-settings-daemon display the background.

I think I would prefer g-s-d background rendering to be enabled as a fallback in any case, even if we have a working compiz plugin, since it has been proved hard to make sure new plugins get activated/added to the user config on upgrade... we also know that the g-s-d codepaths have been tested and support all the options from the control center. (we will need to add back that code to g-s-d 3.8 though, but that should be an easy patch, just add back the directory). Over time unity will likely to the wallpaper rendering anyway, then we can stop patch g-s-d

MC Return (mc-return) wrote :

Compiz has quite advanced capabilities to display the background, which are already separated from Nautilus already.

You can try them out yourself -> CCSM Wallpaper plugin.

See a screenshot with 4 3200x1200 wallpapers, each spanned over 2 screens here:

The only problem is that those are configurable via CCSM, which is not installed by default, only.
Also the average background color still gets calculated from the Nautilus wallpaper.

Changed in compiz:
assignee: MC Return (mc-return) → nobody
milestone: none →
importance: Undecided → High
Sam Spilsbury (smspillaz) wrote :

Linked branch handles the ARGB desktop windows both for the wallpaper plugin and for the root window background case.

Changed in compiz:
assignee: nobody → Sam Spilsbury (smspillaz)
MC Return (mc-return) on 2013-06-21
Changed in compiz:
status: New → In Progress
Changed in compiz:
milestone: →
MC Return (mc-return) on 2013-07-24
Changed in compiz:
milestone: →
Ruben Undheim (saltmakrell) wrote :

Could you please also add the patch in #885989 so that multiple x screen users also get the background drawn correctly by nautilus?

Patch from bug #885989 has nothing to do with this bug. Nautilus 3.7.91 and up does not draw background anymore.

Seems that now compiz will draw background. But as compiz doesn't work with multiple x screens, background bug will still be problem for multiple x screen users.

Ruben Undheim (saltmakrell) wrote :

Nautilus 3.7.91 and up does not draw background anymore, but the nautilus version provided via the GNOME 3 PPA has a patch which "re-adds" to background drawing again (on nautilus 3.8.2). This means that the patch from #885989 still makes sense. This is at least what I experienced.

But it is a valid point that since compiz does not support multiple x screens properly, we will still have a problem once the "re-added" background-drawing is removed again and compiz will take care of the background drawing..

I know that ubuntu currently use patch to add back background drawing to nautilus. That is why I have created this branch -

Question to Sam Spilsbury.
How hard it could be to bring back multiple x screen (separate x screens) support to compiz? Can you do it? Or help with some info on how to do it?

kenn (whatnext) wrote :

I don't know it's related to that patch; whenever wallpaper switches desktop icons disappear. That began to happen after I upgraded to 13.10. Nautilus version now is 3.8.2. I suspect that it's related to patch. Would anybody test it with wally wallpaper switcher and post the result?

Ubuntu GNOME (ug-bot) wrote :

Thank you for reporting this bug to Ubuntu. raring reached EOL on Jan 27, 2014.
Please see this document for currently supported Ubuntu releases:

Please feel free to report any other bugs you may find.

Changed in ubuntu-gnome:
status: Confirmed → Expired
Adolfo Jayme (fitojb) on 2015-01-27
Changed in compiz:
status: In Progress → Invalid
assignee: Sam Spilsbury (smspillaz) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions