Load and keep around wallpaper images as a reference counted object
usable by multiple outputs and workspaces to reduce memory use
Equality of wallpapers are determined by
equal wallpaper image file and equal output width, height and transform
Equality of wallpaper image files are determined by
equal canonical path and equal modification time
Change wl_shm based wl_buffers to use per-wallpaper raw shm pools
instead of per-output slot pools of the smithay_client_toolkit dependency
This allows freeing memory when a reference counted wallpaper is destroyed
at the expense of having to keep open a file descriptor for every wallpaper
Tries to address the suggestions from issue:
https://github.com/gergo-salyi/multibg-sway/issues/13
Start separating image loading logic from wl_shm buffer handling
Add fast path decoding directly to wl_shm buffers if possible
Add auto-vectorized RGB to BGRA swizzling
Implement unix signal handling using a basic self pipe
Shutdown gracefully on termination signals TERM, INT or HUP
Reserve signals USR1 and USR2 for future use
Implement niri support
Try to autodetect running compositor based on environment variables
XDG_SESSION_DESKTOP, XDG_CURRENT_DESKTOP, SWAYSOCK, NIRI_SOCKET in this order
Add the --compositor command line option
Add niri as optional dependency to the Arch Linux PKGBUILD
Update README and --help to include niri support
Merges the changes from
https://github.com/gergo-salyi/multibg-sway/pull/12
Thanks to the co-author for the contribution
Co-authored-by: Florian Finkernagel <finkernagel@imt.uni-marburg.de>
Disable receiving pointer, touch, and tablet events
by setting an empty input region for our surfaces.
This prevents a sometimes disappearing or hidden cursor when a normal window
closes below the pointer leaving it above our surface.
Swap the physical width and height of an output for our calculations
if the output has a transform that includes a 90 degree rotation
This tries to fix the issue with broken wallpapers on rotated outputs
https://github.com/gergo-salyi/multibg-sway/issues/9