gitwtfhub

wtf is sway?

swaywm/sway — explained in plain English

Analysis updated 2026-06-24

16,903CAudience · ops devopsComplexity · 4/5Setup · hard

TL;DR

An i3-compatible tiling window manager and Wayland compositor for Linux. Existing i3 configs work with little or no change on a Wayland session.

Mindmap

mindmap
    root((sway))
      Inputs
        i3 config file
        Keyboard shortcuts
        Wayland session
      Outputs
        Tiled window layout
        Wayland compositor
        Status bar via swaybar
      Use Cases
        Replace i3 on Wayland
        Keyboard-driven Linux desktop
        Lightweight tiling setup
      Tech Stack
        C
        Wayland
        wlroots

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

Why would anyone build with this?

REASON 1

Run a keyboard-driven tiling desktop on Linux Wayland

REASON 2

Migrate an existing i3 setup to Wayland with the same config

REASON 3

Build a minimal dev workstation with sway plus a status bar and launcher

What's in the stack?

CWaylandwlrootsMeson

How it stacks up

swaywm/swaywoltapp/blurhashnvidia/open-gpu-kernel-modules
Stars16,90316,98016,991
LanguageCCC
Setup difficultyhardeasyhard
Complexity4/52/55/5
Audienceops devopsdeveloperops devops

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

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Needs Wayland-ready GPU drivers and an understanding of session managers, since most distros do not preconfigure sway.

Wtf does this do

Sway is a window manager, the software that controls how application windows are arranged on your screen, designed for the Linux desktop. It is compatible with i3, a popular keyboard-driven window manager, meaning users who already have an i3 setup can switch to sway with little or no reconfiguration. The key distinction is that sway runs on Wayland rather than X11. Wayland is a newer display system for Linux that is gradually replacing the older X11 protocol, it is generally considered more secure and efficient. Because sway mirrors i3's configuration and shortcuts, it lets existing i3 users move to Wayland without relearning their tools. Sway is written in C and is a compositor, meaning it handles both window arrangement and rendering (drawing windows on screen) in one program. It supports optional features like wallpapers and system tray icons through companion tools. You would use sway if you are a Linux user who wants a fast, keyboard-centric tiling window manager on a Wayland session, especially if you are already comfortable with i3 and want to take advantage of Wayland's benefits without changing your workflow. It is a developer-and-power-user tool, it is not a point-and-click desktop environment.

Yoink these prompts

Prompt 1
Give me a minimal Arch Linux install plan that boots straight into sway with a working status bar
Prompt 2
Convert my i3 config to a sway config and flag any keybindings that need changing
Prompt 3
Show me how to set up screen sharing in sway for Zoom and Google Meet
Prompt 4
Write a sway config that uses a dual monitor setup with one vertical and one horizontal display

Frequently asked questions

wtf is sway?

An i3-compatible tiling window manager and Wayland compositor for Linux. Existing i3 configs work with little or no change on a Wayland session.

What language is sway written in?

Mainly C. The stack also includes C, Wayland, wlroots.

How hard is sway to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is sway for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.