# Paperchanger ## Introduction `Paperchanger` is a program aimed to assist one using the `xwallpaper` tool. Hence xwallpaper provides no comprehensive way of changing the wallpaper through a graphical selector, paperchanger is there to fix this flaw. Of course paperchanger offers fuctionality to change the wallpaper by passing a path to a file, just like you would with xwallpaper. Additionally, paperchanger gives you the option of specifying a default directory where all your wallpapers are stored. This is nice, as it provides an easier workflow for changing wallpapers. It is important to know that paperchanger is using the `--zoom` flag provided by xwallpaper internally, although this might be adjusted or extended at some point in the future. ## Installation ### Arch Based Systems #### With an AUR Manager If you are using an arch based system, you can install the `paperchanger` package from the [AUR](https://aur.archlinux.org/) (Arch User Repository). (Not yet available!) An AUR manager like `yay` may be used for an easy installation: ```shell $ yay -S paperchanger ``` #### Without an AUR manager If you do not want to use an AUR manager, here is how to compile and install the package manually: Download the `PKGBUILD` file from this repository or from the paperchanger AUR site and move it to some folder. Navigate into this folder using: ```shell $ cd path-to-the-folder ``` Now use the `makepkg` command to download the source files and compile the package: ```shell $ makepkg ``` After you are done creating the package, you should have many files including a `.pkg.tar.zst` archive. This is your compressed ready to use paperchanger package, which can now be installed using `pacman`. ```shell $ sudo pacman -U path-to-your-archive ``` The folder and its contents used for the installation process may now be deleted. ### Other Systems (PKGBUILD file is not used) A `dpkg-buildpackage` file might be added at some point, but for now the installation must be done manually. Make sure `git` is installed on your system. First clone the source files from this git repository: ```shell $ git clone https://git.kske.dev/DieGurke/paperchanger.git ``` Navigate into the folder using: ```shell $ cd paperchanger/ ``` Now copy the shell script into the `/usr/bin/` folder on your system: ```shell $ sudo cp paperchanger.sh /usr/local/bin/paperchanger ``` Now the `README.md`, the `LICENSE` and the `paperchanger.1` files have to be copied to the appropriate folders on your system: ```shell $ sudo mkdir /usr/share/doc/paperchanger $ sudo cp README.md /usr/share/doc/paperchanger/README.md $ sudo mkdir /usr/share/licenses/paperchanger $ sudo cp LICENSE /usr/share/licenses/paperchanger/LICENSE $ sudo cp paperchanger.1 /usr/local/man/man1/paperchanger.1 ``` Paperchanger is now installed on your system, thus the folder you are in right now used for the installation might be deleted. ## Usage Paperchanger has some flags that can be used. A breef overview about the functionality can be accessed by looking into the help output: ```shell $ paperchanger -h or just $ paperchanger ``` This will look something like this: ```shell A tool to help change the wallpaper in a more comfortable way. Uses xwallpaper to load the specified wallpaper. Usage: paperchanger [OPTION] [PATH] -h, --help, help Print this help. -d, --display, display Display the specified wallpaper. -s, --set, set Set the wallpaper with the path as parameter. -S, --Set, Set Set the wallpaper with a graphical file chooser. -ds, --display-and-set, display-and-set Set the wallpaper with an path as parameter AND display the specified wallpaper. -dS, --display-and-Set, display-and-Set Set the wallpaper with a graphical file chooser AND display the specified wallpaper. -p, --path, path Set the path of the default directory as parameter, where the file chooser to select a wallpaper is initially opened. -P, --Path, Path Set the path of the default directory with a graphical file chooser, where the file chooser to select a file chooser is initially opened. ``` For further information about what every flag is doing, feel free to look into the `man` page for the package.