GUI wallpaper setter for Wayland and Xorg window managers. It works as a frontend for popular wallpaper backends like swaybg
, swww
, wallutils
, hyprpaper
, mpvpaper
and feh
. See details in the documentation.
- Vim keys
- Support for GIF animations (with
swww
ormpvpaper
) - Support for videos (with
mpvpaper
) - Support for multiple monitors (with
swww
orswaybg
orhyprpaper
ormpvpaper
) - Works on Wayland (with
swww
orswaybg
orhyprpaper
orwallutils
ormpvpaper
) - Works on Xorg (with
feh
orwallutils
) - Restores wallpaper at launch of your WM
- Caching for fast loading
You need to install at least one of the backends and Waypaper, which works as a frontend.
Install a preferred backend from your package manager: swww or swaybg or hyprpaper on Wayland or feh on Xorg or mpvpaper or wallutils on both.
Waypaper is available as a package in different repositories listed below:
pipx install waypaper
If pipx
is not found, you first need to install pipx
from your package manager, it's sometimes called python-pipx
.
yay -S waypaper
The waypaper package and developer package waypaper-git are available in AUR, thanks to metak. Please upvote to support the project.
The waypaper
package is available thanks to Basil Keeler.
Users of OpenSUSE reported issue with installation via pipx install waypaper
. This can be resolved by installing the python311-pycairo-devel
and python312-gobject-devel
packages first.
Waypaper is available in an external repository owned by Solopasha. You can add this repository as sudo dnf copr enable solopasha/hyprland
and install as sudo dnf install waypaper
.
swww
orswaybg
orfeh
orwallutils
orhyprpaper
ormpvpaper
- gobject python library (it might be called
python-gobject
orpython3-gi
orpython3-gobject
in your package manager.) python-importlib_metadata
python-imageio
python-imageio-ffmpeg
python-screeninfo
python-platformdirs
waypaper
command will run GUI application.
To restore your wallpaper at launch, add waypaper --restore
to your startup config.
See more details on user arguments in the documentation.
See configuration details in the documentation.
See list of keybindings in the documentation.
See typical problems explained in the documentation
Feel free to propose PR and suggest the improvements. I'll highly appreciate help with packaging for various distributions. If you wish to contribute with translation into your language, please see the translations.py
file. Here a few guiding principles for creating pull requests:
- Please do not apply automatic code formatting tools on the entire code base.
- Please do separate pull requests for each feature, don't combine unrelated changes into one PR.
- For big changes, please open an issue first to discuss, otherwise PR might be declined.
I am not a professional developer and work on open-source projects in my free time. If you'd like to support the development, consider donations via buymeacoffee or cryptocurrencies:
- BTC
bc1qpkzmutdqfxkce34skt09vll97s5smpa0r2tyzj
- ETH
0x6f1Ce9cA181458Fc153a5f7cBF88044736C3b00C
- BNB
0x40f22c372758E35C905458cAF8BB17f51ac133d1
- LTC
ltc1qtu33qyv2xlzxda5mmrmk943zpksq8q75tuh85p