A lightweight and visually appealing wallpaper selection menu built for Hyprland (or other Wayland compositors).
This tool allows you to preview and apply wallpapers quickly through a minimal popup interface.
⚙️ Built using C++ and Qt, the original design and logic is from RyuZinOh's dotfiles.
- 🖼️ Scrollable wallpaper preview row
- ⚡ Instant wallpaper apply
- 🔧 Uses Swww as backend to set wallpaper
- 🔧 Configurable bindings via Hyprland keybinds
- 🧩 Lightweight and fast
preview.mp4
Make sure you have the following installed before building:
| Dependency | Description |
|---|---|
| Qt5/Qt6 | Required for GUI development |
| qmake | Qt build tool (used to generate Makefiles) |
| swww | Wallpaper daemon for Wayland/Hyprland |
| make / g++ | For building and linking |
| pkg-config | To detect dependencies |
| qt5-wayland | For wayland support |
| qt6-wayland | For wayland support |
sudo pacman -S qt5-base qt5-tools swww make gcc pkgconf qt5-wayland qt6-waylandSwifty expects all wallpapers to be stored in:
~/Pictures/WallpapersMake sure your wallpaper files are placed in that directory, or the selector will not detect them.
(Make sure the dir name is also same as above otherwise it wont detect wallpapers also you can have multiple dirs inside the above dir and swifty will fetch walls recursively.)
git clone https://github.com/<your-username>/swifty.git
cd swifty
./swiftyAdd this to your hyprland.conf
bind = $mainMod+Shift, S, exec, pkill -x swifty || <path/to/swifty-binary>Make sure you add
pkill -x swiftyotherwise the swifty will always run as background process. You will also need to set windowrules as per your prefrence.
Add this to your hyprland.conf
windowrulev2 = float, class:^swifty$
windowrulev2 = move 5.5% 100%-220, class:^swifty$Original work by RyuZinOh