name sewn/wawa
description simple wayland wallpaper setter
last change 2026-07-26
clone url
https://srcdump.net/sewn/wawa.git

commit briefs

e6d23e7
Rose Hellsing  ·  2026-07-26
master
249f438
koru  ·  2026-05-20
845d3f6
koru  ·  2026-05-20
988c5d1
chld  ·  2026-05-19
14d3024
sewn  ·  2026-05-14
mistress
c4c3286
sewn  ·  2026-05-14
3ea0875
sewn  ·  2026-05-10
df7339c
sewn  ·  2026-05-08
1d98ad2
sewn  ·  2026-05-08
6a95d3e
sewn  ·  2026-05-08
fe95612
sewn  ·  2026-05-07

branches

refs

tree

readme

wawa

A simple, hackable, and distinctive Wayland wallpaper setter utilizing stb_image that targets wlr-layer-shell supported compositors, featuring tiling, spreading across monitors, along with fill, fit and stretching the wallpaper, with less SLOC than your average wallpaper setter.

In wawa, the image is loaded only for monitors that need it, and is immediately freed when all monitors have been configured; this keeps the memory usage of wawa extremely low (7x less than wbg, almost 24x less than swaybg), which may be a performance hit if youre constantly resizing the monitor. Please open an issue if this concerns you, in which case a specific flag can be added to keep the image in memory, unless it is a design flaw.

Comparison

swaybg uses cairo, and has a significant amount of customization, with a slightly larger codebase. wbg is more sophisticated, but is simpler than swaybg, and relies on speed using minimal third-party libraries for loading images, much like wbg. It also has support for defining multiple images for each monitor specified on the command line.

Unfortunately, wbg is so simple, while supporting modern libraries, it has only two modes, fit (with -s flag) and fill (default), which makes it undesireable for those who want to tile or etc.

No other wallpaper setter supports tiling out of the box.