Package: nrw
Nix Random WallpaperA simple program that sets random wallpaper images as desktop backgrounds in nix based operating systems / window managers. It fetches images from a local directory or Unsplash, composes a new image to match display size and arrangement, and sets the new image as the desktop background.This project was forked fromGnome Random Wallpaper, which while great at its original limited scope, is no longer maintained.Example arrangementExample wallpaperUsageNix Random Wallpaper (nrw) currently makes the following assumptions about the user:The user will configure some external scheduler to prompt thenrwcommand to run in the backgroundThe user doesn't usually want to keep the generated wallpaper images foreverThe last image that was generated is replaced by the newly generated imageThe default output directory is/tmp/random-/tmpis commonly a tmpfs filesystem and exists only in memory (while the system remains powered on)Note: The default output directory can and probably should be changed to a non-volatile location inconfiguration. Specifying a non-volatile directory will prevent temporary auto-selection of a system default wallpaper by the window manager on login after a fresh boot cycle, which can be disorienting.The user won't interact directly with the program often, making command line argument support unnecessarySimply runningnrwwill fetch images from either theUnsplash APIor the image directory (images_dir) defined in configuration, resize and compose the images on a spanned canvas matching your current display arrangement, save the resulting wallpaper image to the output directory (output_dir), and update your desktop background.Some suggested steps to take in your environment:Configure a cron job or timer of some sort to runnrwat regular intervals (every 15 minutes works well for me -*/15 * * * * /path/to/nrw)Configure a Startup Application to runnrwon loginInstallationUse the following command to install thenrwmodule from PyPi with pip:pip install nrwOr to install the latest version of the repository with pip:pip install git+https://github.com/miliarch/nrw.gitAfter installation, anrwexecutable link should be placed in your$HOME/.local/bindirectory (this may vary depending on distro). If this directory is included in your PATH environment variable, thenrwcommand should be available for use without any further steps. Otherwise, you'll need to either specify the full path to run the program, or add the$HOME/.local/bindirectory to your PATH environment variable.Alternatively, clone this repository to your preferred installation directory and manually link./nrw/nix_random_wallpaper.pyin the execution directory of your choice.ConfigurationDefault configuration can be found innrw/config.yaml. This file can be copied to$HOME/.config/nix_random_wallpaper/config.yamland modified to override the default options.Each configuration option in the file includes an in-line comment that details its function. If you have any questions about how existing options behave, or requests for new options, please raise an issue in this repository.Supported display configurationsAny number of displays that are arranged horizontally (side-by-side) within the vertical (height) bounds of the largest display should be supported.Unsupported display configurationsVertical arrangements, including mixed vertical/horizontal arrangements, are currently unsupported. Support may be implemented in the future.Tested configurationsWindow managersCinnamon 5.0.5-5.0.7awesome v4.3Wallpaper settersgnome (via gsettings)nitrogen(recommended)Resolutions1920x10802560x14403840x2160Display arrangementsDual monitor, landscape orientation, horizontal arrangement (side-by-side)