________         __ __      ______ __                                 
|  |  |  |.---.-.|  |  |    |      |  |--.---.-.-----.-----.-----.----.
|  |  |  ||  _  ||  |  |    |   ---|     |  _  |     |  _  |  -__|   _|
|________||___._||__|__|    |______|__|__|___._|__|__|___  |_____|__|  
                                                     |_____|           

About
------

Wall Changer is an automatic wallpaper changer for GNU/Linux.
You can select images that will be used as wallpapers,
select commands to set wallpaper, wallpaper change time interval.

Program works in GNU/Linux, FreeBSD.

Version: 1.5.3 (last update: 14.07.2020)

Screenshot
-----------

Requirements
-------------

Installation
-------------

Wall Changer may be installed from program package or from software repository.

Package version contains official program release with source code, configuration and build scripts.

Software repositories contains fresh, up to date program code, yet it still may be less stable than package version.

Program package can be downloaded directly:
wallchanger-1.5.3.tar.gz
or from download section at program workspace:
https://savannah.nongnu.org/projects/wallchanger/

Arch linux package in AUR:
https://aur.archlinux.org/packages/wallchanger/

Downloading source code from GIT or Mercurial:

git clone https://git.savannah.nongnu.org/git/wallchanger.git
hg clone https://hg.savannah.nongnu.org/hgweb/wallchanger/

Software repositories does not contain configure and build scripts, you must have autotools installed and run autogen.sh to link appropriate scripts.

Compiling program - go to source code directory and type:
./configure
make
make install
Although I suggest to configure and compile with more detailed options described below.

For a normal daily use of this program a good option should be:
./configure CFLAGS="-march=native -O2 -pipe"
or more specific:
./configure CC="gcc" CFLAGS="-march=native -O2 -pipe -std=gnu17" --prefix=/usr
with CLANG:
./configure CC="clang" CFLAGS="-march=native -O2 -pipe -std=gnu17" --prefix=/usr
It disables the standard -g option which produces debugging information
needed for gdb and enlarges the output file,
CC="gcc"       sets the C compiler to gcc,
CC="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          use pipes rather than temporary files for communication between
               the various stages of compilation,
-std=gnu17     sets the C standard to C17 with GNU extensions.
 --prefix=/usr installs program in /usr directory instead of /usr/local

Running
--------

If compilation ends without problems, 2 executable files will be created:

wchangercfg
wchangerd

wchangerd works in background and changes wallpaper in specified time intervals.

wchangercfg is a configuration window to set wallpaper change time intervals,
images on wallpaper list, the way wallpapers change, etc.

working with the wchangerd daemon:

wchangerd --start      Starts the wchangerd daemon
wchangerd --stop       Stops the wchangerd daemon
wchangerd --restart    Restarts the wchangerd daemon

wchangerd --once       Change wallpaper once and exit

wchangerd --config     Loads configuration from file provided here

The wallpaper change command is selected based on the currently used window manager. Application has default wallpaper change commands for several window managers. Default commands can be changed througn wchangercfg, using Select button. It opens wallpaper command set dialog with list of window managers and commands. After checking and setting commands, especially for Xfce, which has an unusual wallpaper set command, you can use this app with different window managers without changing settings.

Afer changing settings using wchangercfg, wchangerd daemon will load them before next wallpaper change. If you want to load settings before that time, you need to restart wchangerd daemon using wchangerd --restart command.

Default places for configuration file:
(application will look for it in order like on the list below)

~/.config/wchanger/config.json
~/.config/wchanger.json
~/.config/wchanger/wchanger.json
To use other than standard config path, use the --config option:
wchangerd --config [FILENAME]
wchangercfg --config [FILENAME]

Contact and help
-----------------

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/