Chwall {ʃwal} is tiny automatic wallpaper changer, written in python.

It's name is the contraction of change wallpaper, which may be pronounced as a twisted version of cheval, which means horse in french.

Goal and features

Easily change your wallpaper from time to time, benefiting from various online sources and your own wallpapers collections.

Chwall is currently able to retrieve pictures from the following sources:

  • your local folders
  • bing pictures of the day
  • National Geographic pictures of the day
  • NASA astronomical pictures of the day
  • deviantart RSS feeds
  • Unsplash random API (requires a free account to access their API)
  • Reddit
  • Smashing Magazine monthly wallpaper collection


Locally in a virtualenv

You must have previously installed GTK gi python library. This is very often already packaged for your distribution, in python-gobject on Archlinux or python3-gi for Debian based distributions.

python setup.py install
pip install vext
pip install vext.gi

or, maybe better for a development environment:

pip install -r requirements.txt
pip install vext.gi


sudo make install

There is also two AUR packages for archlinux:


Chwall is organized around 4 components:

  • chwall-app
  • chwall-icon
  • chwall
  • chwall-daemon

The chwall-app and chwall-icon are alternative graphical interface to the simple chwall command line client. These 3 programs are here to drive the chwall-daemon component, which is responsible to change the wallpaper at given interval of time.

After a system-wide installation, you should find a icon among your other programs, which starts chwall-app. From there, you'll be able to access the preferences window to customize the behavior of chwall.

You can also interact with the daemon through the system tray icon chwall-icon, which also let you customize Chwall with the preferences window.

In the case, where you want a totally headless experience, you should try the simple chwall command line client. If you don't want (or cannot) use the preferences window, you should read the configuration help document to know more about the chwall config file.



You can fetch the gettext files directly from the source code tree and send your changes as a pull request (see bellow) or by email, as you prefer.


The canonical repository is located at https://git.umaneti.net/chwall. Mirror exists on Framagit and on Github.

Merge request and issues are accepted on all mirrors or by mail to the main author.


Support using Liberapay Support using Paypal

You can help me a lot by giving me some tip, either through Liberapay or Paypal. Thank you very much!


The icon is resized from the work of Bernd Wachtmeister (Touchstone).