Change the wallpaper based on the weather
Latest commit d72ee1e Feb 15, 2017 @bharadwaj-raju committed on GitHub Merge pull request #32 from kasperkopf/master
Bugfixing for Xfce4 using
Failed to load latest commit information.
.gitignore Initial commit Apr 9, 2016 Merge pull request #32 from kasperkopf/master Feb 15, 2017
LICENSE Initial commit Apr 9, 2016 Awesome WM May 27, 2016 Add --one-time-run Feb 3, 2017


Change the wallpaper based on the weather and (optionally) the time.


Thanks to Martin Hansen for the original module.

Powered by Yahoo!


Just download the repository, get some wallpapers (see the Wallpapers section) and run the script.

NOTE: If you use OS X, see the note for OS X users.


$ python3 --help
usage: [-h] [-d directory] [-f format] [-w seconds]
                      [-t [{2,3,4}]] [-n] [-c name [name ...]]

WeatherDesk - Change the wallpaper based on the weather
    (Uses the Yahoo! Weather API)

optional arguments:
  -h, --help            show this help message and exit

  -d directory, --dir directory
                        Specify wallpaper directory. Default: ~/.weatherdesk_walls

  -f format, --format format
                        Specify image file format. Default: .jpg

  -w seconds, --wait seconds
                        Specify time (in seconds) to wait before updating. Default: 600

  -t {2,3,4}, --time {2,3,4}
                        Use different backgrounds for different times.

                          2 = day/night
                          3 = day/evening/night [Default]
                          4 = morning/day/evening/night

                        See --naming.

  -n, --naming          Show the image file-naming rules and exit.

  -c name, --city name
                        Specify city for weather. If not given, taken from


You can choose your own custom set, conforming to the naming rules. Either put them in the default ~/.weatherdesk_walls/ directory or specify a directory with the --dir option.

Ready-to-Go wallpaper set

Don't want to go hunting for wallpapers? I recommend this beautiful set (called FireWatch, named after a game) (download the set using the ZIP file link given below) made by redditor JuniorNeves.

A zip download of the FireWatch set, named according to the rules: ZIP download. Just extract it into ~/.weatherdesk_walls (or into any directory and pass its path with --dir)

Naming of Pictures

$ python3 --naming
This is how to name files in the wallpaper directory:

       WEATHER           |    FILENAME
 Clear, Calm, Fair:      | normal.jpg
 Thunderstorm:           | thunder.jpg
 Windy, Breeze, Gale:    | wind.jpg
 Drizzle, Rain, Showers: | rain.jpg
 Snow:                   | snow.jpg
 Cloudy:                 | cloudy.jpg
 Other:                  | normal.jpg

 If using with --time or --time 3, add:
 "day-", "night-" or "evening-" in front of filename.

 If using with --time 4, add:
 "morning-", "day-", "evening-" or "night-"

 If using with --time 2, add:
 "day-" or "night-"

Supported Platforms

  • Linux

    • AfterStep
    • Awesome WM
    • Blackbox
    • Cinnamon
    • Enlightenment
    • Fluxbox
    • Gnome 2
    • Gnome 3
    • i3
    • IceWM
    • JWM
    • KDE 3
    • LXDE
    • LXQt
    • Mate
    • Openbox
    • Pantheon
    • Razor-Qt
    • Trinity
    • Unity
    • Windowmaker
    • XFCE
  • Windows

  • OS X

In background mode (only for OS X and Linux)


$ nohup python3 > /dev/null &

Note for OS X users

Please disable the auto-reset/change of wallpaper in the "Desktop and Screen Saver" preferences.

Disable this

Note for KDE users

Since KDE 4 and above does not provide an interface to change the desktop background, KDE 4 and above is not supported.

Any contributions on this welcome.