Set wallpaper on workspaces and backdrop for Niri.
Find a file
2025-11-12 11:45:33 +01:00
external first commit 2025-07-08 10:22:06 +02:00
src first commit 2025-07-08 10:22:06 +02:00
.gitignore first commit 2025-07-08 10:22:06 +02:00
.gitmodules first commit 2025-07-08 10:22:06 +02:00
CMakeLists.txt first commit 2025-07-08 10:22:06 +02:00
README.md Add usage example for niri's config file 2025-11-12 11:45:33 +01:00

Niri Wallpaper

Display wallpapers on Niri, this is wrapper for swaybg, swaylock, swww and magick, they are required to run this utility.

Features

  • Set the backdrop wallpaper with a blur effect
  • Specify a directory containing all your wallpapers
  • Specify for which display
  • Set interval to automatically change wallpaper after some time
  • Wallpapers can be chosen randomly
  • Wallpapers can be chosen in alphabetical order
  • No "grey" flash when switching wallpapers

Usage

usage: niri-wallpaper [options] <path>

required:
  path                The path to the directory containing the wallpapers

options:
  -h, --help          Show help
  -i, --interval      Specify the interval between wallpapers in seconds
  --lock              Lock the screen using swaylock instead of applying a wallpaper
  --never-random      if set, wallpapers order is based on the names of the files
  -o, --output        The outputs as shown with the command `niri msg outputs`, by default the wallpaper will be applied to all outputs
--path-magick          Set the path for executing magick
--path-swaybg          Set the path for executing swaybg
--path-swaylock        Set the path for executing swaylock
--path-swww            Set the path for executing swww

Example in a terminal:

./niri-wallpaper /path/to/wallpapers -i 3600 -o DP-1

Example in the niri config file:

spawn-at-startup "/path/to/niri-wallpaper" "/path/to/wallpapers" "-i" "3600" "-o" "DP-1"

Installation

First, clone this repository git clone --recursive https://codeberg.org/vyn/niri-wallpaper.git (or download it the way you prefer).

You only need gcc and cmake, run these commands in the project directory:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

The executable should be located in build/niri-wallpaper