News about Variety Wallpaper Changer

September 26, 2013
by Peter Levi

Variety 0.4.17 released

Variety 0.4.17 was released today with some important fixes.
(Note: There was a short-lived release version 0.4.16 before it, which I had deployed in an incorrect way)

Vastly improved quotes fetching. Quote plugins.

When I initially added the quotes feature to Variety, lots of people liked it. But with time QuotesDaddy, the quote source I had chosen to use, turned out to be a poor choice – they changed the behaviour of their RSS feeds and the quote selection that Variety was getting was way too limited. Additionally some people asked for quotes in their native language, not in English.

Variety 0.4.17 supports quote plugins and comes by default with plugins for quotes from, Goodreads, QuotesDaddy, and from local files. This means that quotes are now way more interesting and varied.

If anyone is interested in creating additional quote sources, please start with the plugin writing tutorial at, or just use the existing quote plugins as an example. If you do write a plugin – please update the wiki and link to your creations, so the other users of Variety can use them too.

Fixed and improved support for and

As I wrote in the previous post, and were both updated recently, which broke Variety’s support for them. This is now fixed and you can again use them as image sources.

What’s more, Wallbase support is now both simpler and more comprehensive: the new site exposes a proper URL when searching and setting criteria, so now the user can setup the search criteria on the site and then paste the URL in Variety. This means that you can now filter by more things than before, like aspect ratio, resolution, etc. You can also use collection URLs, e.g.

Variety Wiki

I set up a wiki for Variety, where users can exchange knowledge about Variety in a more free-form way: You will notice a link to specific parts of the Wiki here and there in Variety’s interface. Please use it in a civilized manner.

Adding more translations

This version includes localized strings for two more languages – Japanese and Ukrainian. Thanks to all Launchpad translators.

Various minor subtleties

There are some other small details touched and improved here and there, there is no need to list them here.

June 14, 2013
by Peter Levi

Variety 0.4.15 is here

Variety 0.4.15 was released a couple of days ago (after a very short-lived 0.4.14 before it that had an erroneous dependency listed).

This is again a release focusing preliminary on fixing existing bugs, with only a couple of new features added.

Lots of bugs fixed

The full list can be seen here.

Support for the newest MATE and Cinnamon editions

MATE 1.6 and Cinnamon 1.8 both changed their ways for setting the wallpaper. Variety 0.4.15′s set_wallpaper script is updated to reflect these changes so Variety works with these out of the box.

LightDM support

As most of you know, the login manager in Ubuntu – LightDM, has a feature to display the user’s wallpaper when selecting a username. However, for this to work there are a load of requirements that need to be met, mainly related to file permissions, so in practice images downloaded by Variety or simply placed in some random folder were not displayed in LightDM.

Variety now has an option to make LightDM “happy” – you can find it in the Customize tab. If this setting does not work for you, please read carefully here before reporting bugs.

More easily themeable icon

This is targeted mainly at distribution maintainers and icon theme creators. Variety’s indicator icon can now be themed in the standard XDG way – just provide an icon named “variety-indicator” in the theme and if the icon option is left at the default “Light” value, Variety will use it instead of the default.

February 15, 2013
by Peter Levi

Variety 0.4.13 released

Variety 0.4.13 was released yesterday. This release focuses predominantly on fixing bugs and polishing some rough edges, so there are relatively few changes visible on the surface. This version is a highly recommended upgrade.

Many bugs fixed

Several potential freezing situation addressed, some issues with the thumbnails bar fixed, some edge cases which prevented proper startup addressed, some issues on XFCE and KDE resolved, etc. etc.

First translations added

This is the first release to include some of the user-contributed translations from Launchpad, specifically Spanish, Russian and Bulgarian. A big “Thank you!” to all the translators who contributed, and I hope more people will join the translation efforts so that future releases ship with more languages included. To run Variety in one of these three languages either set your Ubuntu language preferences globally (a restart might be needed), or launch using a similar command:

LANGUAGE=ru /opt/

Better Remove functionality

In Variety 0.4.12 it was quite easy to remove an image source by mistake with no easy way to get it back. I personally made this mistake several times. Removing a source now shows a popup menu which offers two options: to remove the source, or to remove both the source and the downloaded images. This also makes it much harder to remove sources by mistake.

Avoid “hammering” the servers

Variety is getting more popular and with more people using it, we are getting close to the Flickr API usage limits. We are also collectively putting a bit too much stress on the other wallpaper servers. There are changes in this release targeting this problem. Also the minimal interval between downloads was increased from 30 seconds to 1 minute.

Better protection when changing the download location

Variety allows you to specify a custom download location, and also to set a limit for its size. Making a mistake with these two could mean you could lose files, so version 0.4.12 had a measure against this – when changing the download location, it disabled the limit. This was not enough, so now Variety has stronger measures against data loss – if you specify an existing folder, Variety would use a subfolder inside it instead of working directly with it.

Pressing Enter works in dialogs

Dialogs can now be much more easily operated with the keyboard only – pressing “Enter” in the dialog serves the same as clicking “OK”.

I wish you many pleasant moments with Variety,
Peter Levi

November 27, 2012
by Peter Levi

Variety 0.4.12 released, adding Quotes support

Variety 0.4.12 was released today with several very nice new features and improvements.

Quotes support

Variety can now fetch quotes from QuotesDaddy and display them in a very beautiful way on the desktop. Users can configure almost everything related to the type of quotes they would see and the way they would be displayed – keywords, authors, font, colors, placement, etc. Sharing the best quotes on Facebook is one click away. Check the screenshots and the video for a demonstration of quotes goodness. I believe a lot of users will like and use this feature.

Preferences are applied immediately

Variety’s preferences now behave the “Ubuntu” way – once you click an option, it becomes active immediately, there is no need to press a dedicated “Save” button. This makes it much easier to work with some of the “visual” features like filters, quotes, clock. And losing changes by forgetting to press Save is now also a thing of the past.

Customizable indicator icon

Users can now configure the indicator icon that Variety displays, so that it blends best with their desktop looks. There are five options:

  • “Light” is the default icon, suitable for dark themes like Ubuntu’s Ambiance.
  • “Dark” is the inversed version, which is best for light themes like Ubuntu’s Radiance.
  • Users can choose a custom image which better suits their icon theme
  • The current wallpaper can be used as an icon, changing dynamically as the wallpaper changes. I am sure a lot of users will like this option.
  • Or the icon can be completely hidden. Variety can still be controlled from the command line, via keyboard shortcuts, or from the Launcher icon quicklist. To facilitate this I have added support for several additional command line arguments.
Clock font options

Until now the clock was only configurable in a hacky way via the clock_filter property in variety.conf. This still remains an option, but I have added user-friendly options in the GUI for the most important aspect of the clock – the fonts (name and size) of the clock and date texts. The default clock filter was also updated to provide a more refined look to the clock. NOTE: If you have modified the clock_filter property you will not see the new version, unless you comment it out or delete it from variety.conf. Read more on clock configuration here and here.

Copy to Favorites vs. Move to Favorites

This release introduces a user-friendly way to choose which operation you prefer to have in the menu – Copy to Favorites, Move to Favorites or both.

Support for XMP/EXIF image ratings

Variety can now filter images based on their EXIF ratings, and also provides means for editing image ratings (without cluttering the menu for users who don’t use this feature). EXIF ratings can also be used or changed in external photo-management applications like Shotwell, Darktable, etc.

A Donate tab in Preferences

I have added a way for users to give back to Variety. If you like and use Variety, please consider a small donation. I don’t expect to become rich from donations, but they will show me Variety is valued by you – the users – and will motivate me to continue working actively on it.

Video Demo

Here is a video demonstrating the most important new features.

I wish you many pleasant moments with Variety,
Peter Levi

November 22, 2012
by Peter Levi

Configuring the Clock

The clock_filter setting

Clock’s appearance and placement are determined by the clock_filter setting in Variety’s config file ~/.config/variety/variety.conf. There are comments there to guide you. If you don’t see any comments there, please find them in ~/.config/variety/variety_latest_default.conf (but make changes in variety.conf, not here – this file is there just for your reference).

The clock filter is quite hairy, but don’t get scared, you don’t need to edit everything. Here it is, as of version 0.4.12:

clock_filter = "-density 100 -font `fc-match -f '%{file[0]}' '%CLOCK_FONT_NAME'` -pointsize %CLOCK_FONT_SIZE -gravity SouthEast -fill '#00000044' -annotate 0x0+[%HOFFSET+58]+[%VOFFSET+108] '%H:%M' -fill white -annotate 0x0+[%HOFFSET+60]+[%VOFFSET+110] '%H:%M' -font `fc-match -f '%{file[0]}' '%DATE_FONT_NAME'` -pointsize %DATE_FONT_SIZE -fill '#00000044' -annotate 0x0+[%HOFFSET+58]+[%VOFFSET+58] '%A, %B %d' -fill white -annotate 0x0+[%HOFFSET+60]+[%VOFFSET+60] '%A, %B %d'"

The clock and date texts appear twice, at slightly offset positions – this is to get a slight shadow effect.

Note: If you have come up with something original and nice-looking for the clock, please share it in the comments below along with a link to a screenshot. Thanks.


On a recent installation (after version 0.4.12), you will see several %FONT variables – these are replaced with the fonts and sizes for the clock and the date, as configured in Variety’s preferences GUI. If these variables are not present and specific font names and sizes are used instead, then the font settings in the GUI won’t work.

Clock and date text format

The variables %H, %M, etc. in the clock filter are replaced with hours, minutes, etc. from the current date and time (localized for your computer’s locale setting). The full list of variables you can use there can be seen here:

The most common request is to have 12-hour format clock: You need to replace %H:%M with %I:%M %p in clock_filter – %I is for hours (12), %p – for the locale-specific string for AM or PM.


Clock placement is determined by the gravity parameters – SouthEast means the lower right corner, and the offset from the edge specified by X and Y in the 0x0+[%HOFFSET+X]+[%VOFFSET+Y] parameters.

A full-blown ImageMagick command

After all the variables are filled in, the line is sent to ImageMagick, so you may be really creative here, use this guide to get ideas and as a reference:
You can get a very uniquely looking clock with some of the more advanced techniques (e.g. circle-shaped text, interesting colors and shading, etc….).

Here are the comments from variety.conf, if you don’t find them:

# clock_filter = <an ImageMagick filter, read below>
# The filter defines the ImageMagick command that Variety uses to render the clock on the wallpaper.
# First some scaling is applied to get the image down to the screen size – this ensures
# the final drawn clock won’t be rescaled by the desktop wallpaper system.
# Easiest way to see what’s happening is to run variety with -v, enable clock and see what ImageMagick
# commands Variety dumps in the log.
# The user may want to customize the following aspects:
# fill – color of “filling”
# stroke – color of outline
# strokewidth – width of outline
# gravity – in which corner to display the clock – SouthEast, NorthEast, SouthWest, NorthWest
# annotate – these must be in the form 0×0+[%HOFFSET+X]+[%VOFFSET+Y], where you can edit X and Y – distance from the screen corner defined by gravity. Write them in even if they are 0.
# The %HOFFSET and %VOFFSET parameters are there for Variety to replace in order to compensate for the diferent dimensions of every image and screen
# The several %FONT parameters are there for Variety to replace with the font settings from the GUI.
# The texts can contain these symbols:
# %H – hours (24), %I – hours (12), %p – am or pm, %M – minutes,
# %A – day of week (full), %a – day of week abbreviation, %B – month name, %b – month abbreviation, %d – day of month, %Y – year.
# The full list for these can be seen here:
# Have in mind that Variety will not update the clock more often than once every minute, so using seconds (%S) for example is pointless
# A tutorial on “annotating” with ImageMagick that you may use as a reference:
# You can get a very uniquely looking clock with some of the more advanced techniques (e.g. circle-shaped text, interesting colors and shading, etc….).

October 16, 2012
by Peter Levi
1 Comment

Variety 0.4.11 released!

Variety 0.4.11 was released today. This is mainly a bugfix release. Version 0.4.10 greatly increased the exposure of Variety and with many more users giving it a go, naturally more bugs are being found and reported. Thumbs up to everyone who took the time to report a bug!

Here is an overview of the most important fixes and additions in 0.4.11:

  • Added an option to have Move to Favorites or both Copy and Move to Favorites in the menu instead of just Copy to Favorites. This can be configured on a folder by folder basis. Thus the user can for example have Move to Favorites for folders with randomly collected images and Copy to Favorites for organized albums.
  • Move to Trash was not working correctly. It was moving the files to the trash folder, but in a way that did not make it possible to restore them from the Trash window and emptying trash was not actually removing them. Please check if you have any leftover files in ~/.local/share/Trash and delete them manually.
  • It was possible for the thumbnails display to continue using CPU after closing it from the window manager (e.g. via Gnome Shell’s overview).
  • Preferences dialog was too high for netbooks with 600 px screen height. It now sizes more dynamically, so netbook users should be fine.
  • There were some issues with the right-click popup menu in the thumbnail area that were making it inconvenient in some situations

If you have installed Variety via its ppa – ppa:peterlevi/ppa – then you will get the upgrade via Update Manager or you may do it manually by calling sudo apt-get update && sudo apt-get upgrade.

The updated DEB file is here.

Have fun using Variety and expect great new features in the releases to follow!

October 7, 2012
by Peter Levi

Variety 0.4.10 released!

Variety 0.4.10 was released today with several major new features, most of which were requested by users during the previous weeks:

Support for Media RSS feeds

Media RSS dialog
This means that now Variety can fetch images from sites like Picasa, deviantART, interfaceLIFT, SmugMug, and can make use of much more aspects of Flickr (e.g. user’s favorites). This massively increases the diversity of image sources that can be used in Variety.

Support for World Sunlight Map

World Sunlight Map is great as a live wallpaper that shows realtime clouds and sunlight information and changes during the day. This also works great together with the clock feature.

Option to display current image source

There is now a menu item Display Source – when you click it it will focus in the Preferences and visualize as thumbnails the image source from which the current image came from. This makes it much easier to decide which sources are worth keeping and which bring too much crap.

Visualization of recently downloaded images

Recent Downloads shows a thumbnail view with the recently downloaded images and makes it very easy to manually select previously unseen pictures for a wallpaper. The option is in the menu only when downloading is enabled.

Simplified menu

The indicator menu was getting quite hairy. Previous, Next and Pause/Resume are now in a separate submenu – scrolling over the indicator is a much faster way to perform these operations anyway.

Command-line options

A running instance can now be controlled from the command-line which makes it possible to define keyboard shortcuts or Unity quicklist items for the most common operations (e.g. Next, Previous, etc.). Run variety --help to show the available options:

Usage: variety [options] [files or urls]

Passing local files will add them to Variety's queue
Passing remote URLs will make Variety fetch them to Fetched folder and place them in the queue

To set a specific wallpaper: variety /some/local/image.jpg --next

--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose Show logging messages (-vv shows even finer debugging
messages, -vvv debugs variety_lib too)
-q, --quit Make the running instance quit
--get, --current, --show-current
Print the current wallpaper location. Used only when
the application is already running.
-n, --next Show Next wallpaper
-p, --previous Show Previous wallpaper
--fast-forward Show Next wallpaper, skipping the forward history
-t, --trash Move current wallpaper to Trash. Used only when the
application is already running.
-f, --favorite Copy current wallpaper to Favorites. Used only when
the application is already running.
--pause Pause
--resume Resume
--toggle-pause Toggle Pause/Resume state

Version 0.4.10 can be obtained from Variety’s PPA: ppa:peterlevi/ppa