________ __ __ ______ __
| | | |.---.-.| | | | | |--.---.-.-----.-----.-----.----.
| | | || _ || | | | ---| | _ | | _ | -__| _|
|________||___._||__|__| |______|__|__|___._|__|__|___ |_____|__|
|_____|
Wall Changer is an automatic wallpaper changer for GNU/Linux.
You can select the images that will be used as wallpapers, download
wallpapers from the web, set the commands used to change the wallpaper
and set the intervals between wallpaper changes.
The program works on GNU/Linux and FreeBSD.
Version: 1.7.0 (last update: 01.09.2026)
Supported wallpaper search pages:
Wall Changer can be installed from the program package or from the repository.
The program package can be downloaded directly:
wallchanger-1.7.0.tar.gz
or from the download section of the program workspace:
https://savannah.nongnu.org/projects/wallchanger/
Browse the repo:
https://github.com/mi-bb/wallchanger
Arch Linux package in the AUR:
https://aur.archlinux.org/packages/wallchanger/
Downloading the source code from GitHub:
git clone https://github.com/mi-bb/wallchanger.git
The program is built with CMake (>= 3.21). Use an out-of-source build directory (for example ./build) so that the generated files are kept separate from the source code.
To configure, build and install the program, go to the source code directory and type:
cmake -S . -B build cmake --build build sudo cmake --install build
The build type defaults to RelWithDebInfo. To choose a different build type or a custom installation prefix:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
The compiler and the compilation flags can be selected as well:
cmake -S . -B build -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-march=native -O2 -pipe"
with Clang:
cmake -S . -B build -DCMAKE_C_COMPILER=clang -DCMAKE_C_FLAGS="-march=native -O2 -pipe"
-DCMAKE_BUILD_TYPE=Release builds without the debugging information needed
by gdb, which also enlarges the output file,
-DCMAKE_INSTALL_PREFIX=/usr installs the program in the /usr directory
instead of /usr/local,
-DCMAKE_C_COMPILER=gcc sets the C compiler to gcc,
-DCMAKE_C_COMPILER=clang sets the C compiler to clang,
-march=native enables all instruction subsets supported by the
local machine,
-O2 sets the code optimization to level 2,
-pipe uses pipes rather than temporary files for
communication between the various stages of
compilation,
If the compilation completes without problems, two executable files will be created:
wchangercfg wchangerd
wchangerd works in the background and changes the wallpaper at specific intervals.
Working with the wchangerd daemon:
wchangerd --start Starts the wchangerd daemon wchangerd --stop Stops the wchangerd daemon wchangerd --restart Restarts the wchangerd daemon wchangerd --status Prints the wchangerd status wchangerd --once Changes the wallpaper once and exits wchangerd --config Loads the configuration from the given file
wchangercfg is a configuration window for adding images to and removing them from the lists, downloading images from the web, changing the intervals between wallpaper changes, etc.
The wallpaper change command is selected based on the window manager that is currently in use. The application has default wallpaper change commands for several window managers. The default commands can be changed through wchangercfg, using the Select button. It opens the wallpaper command dialog with a list of window managers and their commands. After checking and setting the commands, especially for Xfce, which has an unusual wallpaper set command, you can use this application with different window managers without changing the settings.
After changing the settings using wchangercfg, the wchangerd daemon will load them before the next wallpaper change. If you want to load the settings before that time, you need to restart the wchangerd daemon using the wchangerd --restart command.
Default locations of the configuration file:
(the application looks for it in the order shown below)
~/.config/wchanger/config.json ~/.config/wchanger.json ~/.config/wchanger/wchanger.json
To use a non-standard configuration file path, use the --config option:
wchangerd --config [FILENAME] wchangercfg --config [FILENAME]
In case of problems with the program, please contact me: michal.babik@pm.me
To check out my other apps visit: https://init6.pomorze.pl/