GUI wallpaper manager for Wayland and Xorg Linux systems
Go to file
2024-01-04 12:21:13 +01:00
data Updating icon 2024-01-04 10:59:20 +01:00
waypaper Fixing crash on non-rendering images 2024-01-04 12:21:13 +01:00
LICENSE Initial commit 2023-08-08 11:43:34 +09:00
pyproject.toml Initial commit 2023-08-08 12:44:27 +09:00
README.md Adding support to readme 2024-01-02 12:27:15 +01:00
screenshot.jpg Adding screenshot 2023-08-08 16:03:38 +09:00
setup.py Adding option for post command 2024-01-03 11:25:37 +01:00

Waypaper

GUI wallpaper setter for Wayland and Xorg window managers. It works as a frontend for popular wallpaper backends like swaybg, swww, wallutils and feh. You can check a demo on reddit.

screenshot

Features

  • Vim keys
  • Support for GIF animations (with swww)
  • Support for multiple monitors (with swww)
  • Works on both Wayland (with swww or swaybg or wallutils) and Xorg (with feh or wallutils)
  • Restores wallpaper at launch of your WM
  • Caching for fast loading

Installation

You need to install at least one of the backends and Waypaper, which works as a frontend.

1. Install a backend

Install a preferred backend from your package manager: swww or swaybg on Wayland or feh on Xorg or wallutils on both.

2. Install Waypaper

Waypaper is available as a package in different repositories listed below:

On all distributions

pipx install waypaper

If pipx is not found, you first need to install pipx from your package manager, it's sometimes called python-pipx.

On Arch-based distributions

yay -S waypaper-git

The waypaper-git package is available in AUR, thanks to metak. Please upvote to support the project.

On NixOS

The waypaper package is available thanks to Basil Keeler.

Dependencies

  • swww or swaybg or feh or wallutils
  • gobject python library (it might be called python-gobject or python3-gi or python3-gobject in your package manager.)
  • python-importlib_metadata
  • python-platformdirs

Usage

waypaper command will run GUI application. Make sure to choose the backend that you installed.

To restore your wallpaper at launch, add waypaper --restore to your startup config. For example:

In Hyprland

exec-once=waypaper --restore

In Sway or I3

exec waypaper --restore

To see the list of hotkeys, press ?.

Options

--restore - sets the last chosen wallpaper. Useful at launch of the window manager.

--random - sets a random wallpaper. Makes sense only together with --restore key.

--backend XXX - specifies which backend to use, which can be either swaybg, swww, feh, or wallutils. Useful if you use waypaper on both Wayland and Xorg on the same machine. By default, last used backend is used.

--fill XXX - specifies filling type, which can be eiher fill, stretch, fit, center, or tile.

If you wish to change language, change laguage variable in .config/waypaper/config.ini file. Supported options are en, de, fr, ru, pl, zh.

Troubleshooting

  • If wallpaper does not change, first, try to launch waypaper in the terminal and see the output. Also, try to change it via command line using chosen backend to make sure that backend by itself works correctly.
  • If application does not run, make sure to install gobject library (it might be called python-gobject or python3-gi in your package manager). Although it is supposed to be installed automatically with the package.
  • Please understand that not all backends work on all systems. feh is only for Xorg, while swww and swaybg are only for Wayland.
  • If you use different WMs on the same system, specify the backend when you restore the wallpaper at launch. For example: waypaper --restore --backend feh or use wallutils which works on both Wayland and Xorg.

Roadmap

  • Possible support for other backends like mpvpaper, and maybe hyprpaper.
  • Support for various swww options
  • Display animated previews of gif wallpapers

Contributions

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.

Support

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