A Quickshell wallpaper picker for Hyprland with support for image and video wallpapers, smooth animated transitions, and optional dynamic theming powered by matugen.
- Local wallpaper browsing
- Image and video wallpaper support
- Animated transitions via
awww - Video wallpaper support via
mpvpaper - Optional dynamic colors using
matugen - Optional Hyprland reload
- Optional Waybar reload
- Fully configurable behavior via
config/Settings.qml
Core:
HyprlandQuickshell
Wallpaper handling:
awww(image transitions)mpvpaper(video wallpapers)
Optional:
matugen(dynamic colors)Waybar(auto reload support)
Clone the repository:
git clone https://github.com/magetsu002/qs-wallpaper-picker.git
cd qs-wallpaper-pickerCreate your local configuration:
cp config/Settings.qml.example config/Settings.qmlEdit your configuration:
nano config/Settings.qmlSet your wallpaper directory:
property string wallpaperDir: homeDir + "/Wallpapers"Run the picker:
quickshell -p Main.qmlExample keybind:
bind = SUPER, W, exec, quickshell -p ~/path/to/qs-wallpaper-picker/Main.qmlAll behavior is controlled through:
config/Settings.qml
- Dynamic color generation
- Matugen integration
- Hyprland reload behavior
- Waybar reload behavior
- System integrations (kitty, cava, swaync, etc.)
Enable full dynamic theming:
property bool enableDynamicColors: true
property bool enableMatugen: true
property bool enableHyprReload: true
property bool enableWaybarReload: trueDisable for wallpaper-only usage:
property bool enableDynamicColors: false
property bool enableMatugen: false
property bool enableHyprReload: false
property bool enableWaybarReload: false-
Do not edit
Settings.qml.exampledirectly.
Copy it toSettings.qmland edit that file instead. -
Your
Settings.qmlis user-specific and should not be committed.
-
Do not run multiple theming tools simultaneously (e.g. pywal, other matugen scripts, custom watchers).
This can cause race conditions and unexpected color overrides. -
If colors change even when disabled, check for:
- Background matugen processes
- File watchers
- External scripts modifying:
~/.config/waybar/colors.css~/.config/hypr/colors.conf
-
This tool assumes it is the single source of truth for:
- wallpaper changes
- dynamic color generation (if enabled)
-
If using custom Waybar launch scripts, ensure the path in
Settings.qmlis correct.
Wallpaper picker UI design adapted from:
https://github.com/ilyamiro/nixos-configuration
Ported and extended for Arch Linux, Hyprland, and Quickshell.
MIT License — see the LICENSE file for details.