Change the wallpaper based on the weather
Python
Latest commit d3fd3dc Aug 3, 2016 @bharadwaj-raju committed on GitHub Merge pull request #28 from mprinvale/mprinvale-applescript-update
Updated Applescript to support multiple monitors
Permalink
Failed to load latest commit information.
.gitignore Initial commit Apr 9, 2016
Desktop.py Updated Applescript to support multiple monitors Aug 2, 2016
LICENSE Initial commit Apr 9, 2016
README.md Awesome WM May 27, 2016
WeatherDesk.py Fix restart_program() Jun 30, 2016

README.md

WeatherDesk

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

WeatherDesk

Thanks to Martin Hansen for the original Desktop.py module.

Powered by Yahoo!

Installation

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

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

Options

$ python3 WeatherDesk.py --help
usage: WeatherDesk.py [-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.

                        Variations:
                          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 ipinfo.io.

Wallpapers

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 WeatherDesk.py --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)

Run

$ nohup python3 WeatherDesk.py > /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.