Shell – Adding wallpapers in GNOME Shell

gnomegnome-shellwallpaper

When executing Activities → Settings → Background, you can find three background tabs:

  • [Wallpapers]
  • [Pictures]
  • [Colors]

In [Wallpapers] you can find backgrounds under /usr/share/backgrounds/, but which have been previously added to an XML configuration file in /usr/share/gnome-background-properties/. If you put new backgrounds in /usr/share/backgrounds/, but you don't add them to an XML file, they won't be displayed.

On the other hand, in [Pictures] you can find backgrounds under ~/Pictures/ and any new addition will automatically be detected and displayed by the application (this folder is "reloaded" or "refreshed" every time).

Is there any way I could set the [Wallpapers] tab to automatically find new pictures under /usr/share/backgrounds/ as well?

If not, is there a way I could change the configuration, so that, when clicking on the [Pictures] tab, it will look under /whatever/i/want/ instead of ~/Pictures/?

I know I could just edit the XML configuration file (myself, with a script, or even with existing GUIs), but I am not looking for that. I just feel curious about the customization level of GNOME Shell.

I am using Fedora 20 with GNOME Shell 3.10.

Best Answer

Is there any way I could set the [Wallpapers] tab to automatically find new pictures under /usr/share/backgrounds/ as well?

There's no such option. The [Wallpapers] tab shows the default choice of wallpapers (which may vary depending on distros/admins) available to all users. Distros/admins may choose to alter the content of /usr/share/backgrounds/ (along with the corresponding entries in the .xml file). I don't think it was meant to be customized by regular users.

is there a way I could change the configuration, so that, when clicking on the [Pictures] tab, it will look under /whatever/i/want/ instead of ~/Pictures/?

Yes, the [Pictures] tab is, to some extent, customizable. Pictures is one of the XDG user directories and is defined in ~/.config/user-dirs.dirs. Change the default value XDG_PICTURES_DIR="$HOME/Pictures" to XDG_PICTURES_DIR="/whatever/i/want", restart the shell and next time you click on the [Pictures] tab in the [Background] settings, it'll look under /whatever/i/want.
The downside is that some other applications that use XDG_PICTURES_DIR will also default to /whatever/i/want instead of ~/Pictures.

Related Question