01. Overview & Architecture

Profile: 1.12
Schema validatedSource pinned
Purpose
Drop-in replacement for the i3 window manager designed specifically for Wayland.
Compatibility
Arch Linux, Debian, Fedora, Void Linux, Alpine (Server: WAYLAND)
Desktop Part
WM & compositors
Window Manager & Theme
Sway / Sway Charcoal Minimal
Key Components
Bar:Swaybar / Waybar•Terminal:Foot•Launcher:Dmenu / Wofi•Notifications:Mako•Editor:Vim•Shell:bash
Full Description
Sway provides a rock-solid, standards-compliant tiling Wayland environment. It works seamlessly with existing i3 configurations while offering tearing-free rendering, fractional scaling, and ultra-low CPU footprint.

02. Installation & Deployment

Before you installThis changes your desktop configuration and installs packages. Run it as your normal user, never with sudo: it asks for sudo only where a step needs it (listed below).The guided installer shows its plan first. Files it would replace are kept unless you approve. Everything it copies, clones or appends to in your home folder is backed up and verified first, and --rollback restores it. Packages, sudo changes and the other commands listed under Impact are not undone.
IntegrityEach release from main builds the installers in GitHub Actions and signs them with a GitHub build attestation. Verify your download against the repository, not this website (Option B, step 2). If it does not verify, don't run it.
ImpactPackages: sway, swaybg, swayidle, swaylock, foot, dmenuWrites: ~/.config/sway/config
RecoveryGuided: backups in ~/.local/state/0xtsoa/backups/, undo with bash install.sh --rollback.Manual: back up first (Option A, step 3).
Option A: manual installAdvanced
Read the source at the reviewed commit, back up, then run each step yourself.
$git clone https://github.com/swaywm/sway ~/0xtsoa-review/swaywm-sway-core# 1. clone to a review folder
$git -C ~/0xtsoa-review/swaywm-sway-core checkout --detach 1652c54b73f67df17b7b4ab0b0f7048204aa8104# 2. the reviewed commit
$for p in ~/.config/sway/config; do [ -e "$p" ] && cp -a "$p" "$p.bak-0xtsoa"; done# 3. back up what the steps write
Then the steps. Package commands are written for Arch; on other distros use your package manager.

Step-by-step deployment protocol

Step-by-step deployment
1Install Sway compositor and utils
$sudo pacman -S --needed sway swaybg swayidle swaylock foot dmenu
2Copy default sway config
$mkdir -p ~/.config/sway
$cp /etc/sway/config ~/.config/sway/config
3Reload Sway configuration
$swaymsg reload
Option B: guided installerRecommended
The same steps as one script for any distro. It shows the plan first, keeps files you already have unless you approve replacing them, and backs up everything it changes in your home folder. Never pipe it into a shell.
$curl -fsSLo install.sh 'https://www.0xtsoa.dev/configs/swaywm/sway-core/install.sh'# 1. download
$gh attestation verify install.sh --repo nyharena25/0xTsoa --signer-workflow nyharena25/0xTsoa/.github/workflows/attest-installers.yml# 2. verify (GitHub CLI 2.49+, signed in)
$less install.sh# 3. read it
$bash install.sh --dry-run# 4. preview: changes nothing
$bash install.sh# 5. install (asks first)
$bash install.sh --rollback# undo the file changes
View script in browserOther options: --force (replace conflicts, backed up first), --yes, --help

03. Screenshot Gallery // Sway Wayland Workstation

Capture 01 // Fullscreen
Sway Wayland compositor official branding and architecture
01 / 02

04. Documentation & Guide

Source: swaywm/swayRef: 1652c54b73
README.md|GitHub Flavored Markdown

sway

English - عربي - Azərbaycanca - Česky - Deutsch - Dansk - Español - Français - ქართული - Ελληνικά - हिन्दी - Magyar - فارسی - Italiano - 日本語 - 한국어 - Nederlands - Norsk - Polski - Português - Română - Русский - Српски - Svenska - Türkçe - Українська - 中文-简体 - 中文-繁體

sway is an i3-compatible Wayland compositor. Read the FAQ. Join the IRC channel (#sway on irc.libera.chat).

Release Signatures

Releases are signed with E88F5E48 and published on GitHub.

Installation

From Packages

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

Compiling from Source

Check out this wiki page if you want to build the HEAD of sway and wlroots for testing or development.

Install dependencies:

  • meson *
  • wlroots
  • wayland
  • wayland-protocols *
  • pcre2
  • json-c
  • pango
  • cairo
  • gdk-pixbuf2 (optional: additional image formats for system tray)
  • swaybg (optional: wallpaper)
  • scdoc (optional: man pages) *
  • git (optional: version info) *

* Compile-time dep

Run these commands:

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

Configuration

If you already use i3, then copy your i3 config to ~/.config/sway/config and it'll work out of the box. Otherwise, copy the sample configuration file to ~/.config/sway/config. It is usually located at /etc/sway/config. Run man 5 sway for information on the configuration.

Running

Run sway from a TTY or from a display manager.

GitHub Flavored Markdown (github-markdown-css)README snapshot at 1652c54b73

05. Keyboard Shortcuts

Total: 4 shortcuts
SUPER + RETURNShortcut
exec, foot
Spawn Foot terminal
SUPER + DShortcut
exec, dmenu_path | dmenu | xargs swaymsg exec --
Launch program
SUPER + SHIFT + QShortcut
kill
Close focused window
SUPER + SHIFT + CShortcut
reload
Reload Sway config