Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

`gcc-14` added a new `-Walloc-size` warning that makes sure that size of
an individual element matches size of a pointed type:

`swaybg` triggers it on `calloc()` calls where member size is used as
`1` (instead of member count):

    ../main.c:492:32: error: allocation of insufficient size '1' for type 'struct swaybg_output_config' with size '48' [-Werror=alloc-size]
      492 |                         config = calloc(sizeof(struct swaybg_output_config), 1);
          |                                ^

Git stats


Failed to load latest commit information.


swaybg is a wallpaper utility for Wayland compositors. It is compatible with any Wayland compositor which implements the wlr-layer-shell protocol and wl_output version 4.

See the man page, swaybg(1), for instructions on using swaybg.

Release Signatures

Releases are signed with E88F5E48 and published on GitHub. swaybg releases are managed independently of sway releases.


From Packages

swaybg is available in many distributions. Try installing the "swaybg" package for yours.

If you're interested in packaging swaybg for your distribution, stop by the IRC channel or shoot an email to for advice.

Compiling from Source

Install dependencies:

  • meson *
  • wayland
  • wayland-protocols *
  • cairo
  • gdk-pixbuf2 (optional: image formats other than PNG)
  • scdoc (optional: man pages) *
  • git (optional: version information) *

* Compile-time dep

Run these commands:

meson build/
ninja -C build/
sudo ninja -C build/ install