LLMpediaThe first transparent, open encyclopedia generated by LLMs

Sway (window manager)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 66 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted66
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Sway (window manager)
NameSway
DeveloperMichael Stapelberg
Released2015
Operating systemLinux
PlatformWayland
GenreWindow manager
LicenseMIT License

Sway (window manager) is a tiling window manager for Linux that implements a drop-in replacement for i3 on Wayland, designed to run on modern Linux desktops and compositors. Sway aims to provide compatibility with existing i3 configurations while leveraging technologies such as Wayland, wlroots, and the X.Org compatibility layer to support legacy X11 applications. It is developed primarily in C and distributed under the MIT License.

Overview

Sway was initiated by Michael Stapelberg as a response to shifts toward Wayland in the freedesktop.org ecosystem and to provide an i3-compatible experience on systems using Wayland. It integrates with low-level projects including wlroots, libinput, and weston components, and interacts with display servers such as Wayland compositors and the Linux graphics stack. Sway supports multi-monitor setups involving technologies from Intel, AMD, and NVIDIA through drivers maintained by projects like Mesa and kernel subsystems like DRM.

Features

Sway provides dynamic tiling influenced by i3 while adding features enabled by Wayland and related projects. It supports input handling through libinput, GPU rendering via Mesa and EGL, and hardware-accelerated composition managed by wlroots. Sway includes support for Wayland protocols such as xdg-shell, layer-shell, and idle protocol, and can run X11 clients through compatibility layers like XWayland. It integrates with status and notification systems used by projects like systemd, Polkit, NetworkManager, and PipeWire for audio, and interoperates with desktop utilities from GNOME and KDE when needed.

Configuration

Sway uses a plaintext configuration file inspired by i3 syntax, allowing users familiar with i3 to migrate settings for keybindings, window rules, and workspace assignments. Configuration can reference executables and services such as systemd, bash, zsh, and shell utilities from GNU coreutils, and integrates with tools like rofi, dmenu, and wayland-utils for launching applications. Users often combine Sway configuration with compositors and helpers from projects like swaylock, swayidle, and grim for screen capture, along with notification daemons such as dunst.

Architecture and Compatibility

Sway is architected around the wlroots compositor library which abstracts backend differences among display servers and graphics drivers, enabling Sway to support DRM backends, Wayland protocols, and input backends like libinput. This architecture facilitates interoperability with windowing systems and toolkits such as GTK, Qt, and X.Org through XWayland. Sway interacts with desktop sessions managed by systemd-logind and display managers like GDM or SDDM when launched as a user session, and supports interaction with hardware managed by subsystems from Linux Kernel and graphics stacks maintained in Mesa and kernel drivers from Intel, AMD, and NVIDIA.

Development and Community

Sway's development is coordinated on platforms such as GitHub and engages contributors from across the Free software community, including maintainers of wlroots and adjacent projects. The project connects with packaging ecosystems like Debian, Arch Linux, Fedora, and NixOS for distribution packaging and with community resources such as Reddit, GitHub, and various IRC and Matrix channels for support. Contributors reference standards from freedesktop.org and collaborate with maintainers of wayland-protocols, libinput, and other foundational projects. Prominent maintainers and contributors include individuals and organizations invested in Open-source software and Linux desktop usability.

Reception and Use Cases

Sway has been adopted by users seeking a tiling window manager experience on Wayland with continuity from i3 workflows. It is commonly used by developers, system administrators, and enthusiasts on distributions such as Arch Linux, Fedora, Debian, and NixOS for lightweight, keyboard-driven desktop setups. Publications and community discussions often compare Sway alongside other Wayland compositors and window managers like wayfire, Hyprland, weston, and desktop environments including GNOME and KDE Plasma when evaluating modern Linux desktop options. Sway's compatibility with tools like Alacritty, wezterm, Firefox, Chromium, LibreOffice, and development environments such as Visual Studio Code and language toolchains makes it suitable for programming, writing, and general productivity on Linux.

Category:Window managers