whatisgithub

What is swww?

lgfae/swww — explained in plain English

Analysis updated 2026-05-18

3,614RustAudience · developerComplexity · 2/5Setup · moderate

In one sentence

swww (now renamed awww) sets and animates desktop wallpapers on Wayland Linux systems, with smooth transitions and support for animated GIFs.

Mindmap

mindmap
  root((swww))
    What it does
      Sets wallpapers
      Animates transitions
      Runs as a daemon
    Tech stack
      Rust
      Wayland
      wlr-layer-shell
    Use cases
      Script wallpaper changes
      Show animated GIFs
      Fade between images
    Audience
      Linux desktop users
      Wayland compositor fans
      Script writers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Set a desktop wallpaper on a Wayland compositor and change it from a script

USE CASE 2

Animate transitions between wallpapers with fades or directional wipes

USE CASE 3

Display an animated GIF as a live desktop background

USE CASE 4

Automate wallpaper changes on a schedule using shell scripts

What is it built with?

RustWaylandwlr-layer-shell

How does it compare?

lgfae/swwwglium/gliumgodot-rust/gdnative
Stars3,6143,6103,631
LanguageRustRustRust
Setup difficultymoderatemoderatemoderate
Complexity2/54/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Only works on wlr-layer-shell compositors, will not run on GNOME.

So what is it?

Note: this project has since been renamed to "awww" and moved to Codeberg. The GitHub repository now points to the new location. The description below is based on the original swww readme. swww is a wallpaper tool for Wayland, the display system used by many modern Linux desktop environments. Its main job is to set background images on your desktop and to animate between them with smooth transitions when you switch from one image to another. Unlike some alternatives, it does this through a small background process called a daemon that keeps running and can be controlled with commands at any time, so you can change your wallpaper from a script without restarting anything. The tool supports a wide range of image formats including JPEG, PNG, GIF, WebP, BMP, and SVG, and it can display animated GIFs on your desktop as a live wallpaper. When you switch images, it offers several transition styles: a simple fade, wipes from different directions, or effects that expand from the center or edges of the screen. You can control the speed and smoothness of those transitions. swww is designed specifically for compositors that support a protocol called wlr-layer-shell, which is common in setups built around the wlroots library. It will not work on GNOME, which uses a different approach for managing the desktop layer. The author built swww partly because an earlier tool called oguri had become unmaintained and had memory problems with animated GIFs, and partly because no existing Wayland wallpaper tool allowed changing the wallpaper live without restarting the daemon. The tool is intentionally kept minimal, and the maintainer has stated that new features will generally not be added. For anything beyond setting and transitioning wallpapers, the expectation is that users combine swww with shell scripts.

Copy-paste prompts

Prompt 1
Show me how to run swww as a background daemon and change my wallpaper from a shell script.
Prompt 2
Explain which Wayland compositors support wlr-layer-shell and can run swww.
Prompt 3
Help me write a script that cycles through wallpapers using swww with a fade transition.
Prompt 4
Why doesn't swww work on GNOME, and what alternative should I use there?

Frequently asked questions

What is swww?

swww (now renamed awww) sets and animates desktop wallpapers on Wayland Linux systems, with smooth transitions and support for animated GIFs.

What language is swww written in?

Mainly Rust. The stack also includes Rust, Wayland, wlr-layer-shell.

How hard is swww to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is swww for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.