- Rust - Built with Rust, so it's blazingly fast and memory-safe.
- No dependencies - Unlike other GUI wallpaper pickers, Hyprwall doesn't have any package dependencies (other than rust), so it's lightweight and easy to install.
- Minimalist - Hyprwall is minimalist, the source code is very small compared to other wallpaper pickers e.g. (waypaper).
- Wrapping - Hyprwall supports wrapping, so if you choose to you can have a lot of wallpapers shown in the GUI at once (wraps with window size).
- Performance - Hyprwall is designed to be performant, it uses a thread pool to load images in parallel and caches images.
- High capacity - Hyprwall can handle a large number of wallpapers (over 1000 at one time!) without any issues.
- Multiple monitors - Hyprwall supports setting wallpapers on Multiple monitors at once.
- True async - Hyprwall is built to be asynchronous, it uses tokio to run commands in this manner massively improving performance.
- Cross display protocol/server support - Hyprwall supports both wayland (swaybg, swww, hyprpaper, wallutils) and x11 (feh, wallutils).
- Cli args - Hyprwall supports command line arguments, to view these type
hyprwall --help
, --restore is one of them, if you wish you can restore your last used wallpaper in the gui with this argument. - GIF support - Hyprwall supports GIFs, but only if the swww backend is used.
- Search functionality - Hyprwall has search functionality that can filter through your wallpapers in real time.
- Previewable images - Hyprwall can preview images at a much larger scale via right clicking on an image: it will bring up a preview window.
- Supports swaybg, swww, wallutils, feh, and hyprpaper - Hyprwall supports a variety of wallpaper backends, so you can use it with your preferred wallpaper tool.
- IPC enabled (only for hyprland / hyprpaper users)
- any backend listed above installed
- GTK-4 installed
See Hyprwall's releases page for downloadable binaries.
There are 2 different AUR packages available:
- hyprwall - Latest release built from source
- hyprwall-bin - Latest release in binary form
Install the preferred package with:
git clone https://aur.archlinux.org/<package>.git
cd <package>
makepkg -si
Or, if you're using an AUR Helper, it's even simpler (using paru as an example):
paru -S <package>
- Install Rust (preferably
rustup
) through your distro's package or the official script - Install
git
,pango
, andgtk4
- Clone this repository:
git clone https://github.com/nnyyxxxx/hyprwall && cd hyprwall
- Compile the app with
cargo build --release
or run it directly withcargo run --release
- Implement GUI
- Implement wrapping