sxwm
fast & minimal
dynamic tiling window manager


release: v1.7
license: GPLv3

Source on GitHub

Contributing & issues

Thinking of hacking on sxwm or filing a bug? Start here:

Features & configuration

sxwm is a compact, dynamic tiling window manager for X11. For keybindings, layouts, and configuration options, see the man-page style docs: docs/sxwm.md.

Requirements

Get the deps per distro

Debian / Ubuntu / Linux Mint
sudo apt update
sudo apt install libx11-dev libxcursor-dev libxinerama-dev build-essential
Arch Linux / Manjaro
sudo pacman -Syy
sudo pacman -S libx11 libxinerama gcc make
Gentoo
sudo emerge --ask x11-libs/libX11 x11-libs/libXinerama sys-devel/gcc sys-devel/make
sudo emaint -a sync
Void Linux
sudo xbps-install -S
sudo xbps-install libX11-devel libXinerama-devel libXcursor-devel gcc make
Fedora / RHEL / AlmaLinux / Rocky
sudo dnf update
sudo dnf install libX11-devel libXcursor-devel libXinerama-devel gcc make
OpenSUSE (Leap / Tumbleweed)
sudo zypper refresh
sudo zypper install libX11-devel libXinerama-devel gcc make
Alpine Linux
doas apk update
doas apk add libx11-dev libxinerama-dev libxcursor-dev gcc make musl-dev linux-headers
NixOS
buildInputs = [
  pkgs.xorg.libX11
  pkgs.xorg.libXinerama
  pkgs.libgcc
  pkgs.gnumake
];
sudo nixos-rebuild switch
Slackware
slackpkg update
slackpkg install gcc make libX11 libXinerama
OpenBSD
doas pkg_add gmake

You also need the X sets: xbase, xfonts, xserv, xshare. Build with GNU make: gmake CFLAGS="-I/usr/X11R6/include -Wall -Wextra -O3 -Isrc" LDFLAGS="-L/usr/X11R6/lib -lX11 -lXinerama -lXcursor"

FreeBSD
# Using doas or su? Adjust the sudo below.
sudo pkg update
sudo pkg install gcc gmake libX11 libXinerama
Termux
pkg install x11-repo
pkg update
pkg install clang make xcb-util-keysyms xorgproto libxcursor libx11 libxinerama libandroid-wordexp
# add `LDFLAGS="${LDFLAGS} -landroid-wordexp"` in the make command

Install & run

Packages may be community-maintained. Use at your own discretion.

Arch Linux (AUR)

yay -S sxwm
# or for latest
yay -S sxwm-git

Void Linux

sudo xbps-install -S sxwm

Build from source

git clone --depth=1 https://github.com/uint23/sxwm.git
cd sxwm/
make
sudo/doas make clean install

Start sxwm

Add to your ~/.xinitrc:

exec sxwm

Alternatively, use the provided sxwm.desktop file.

Make targets

Target What it does
make / make all Compile the sxwm binary
make clean Remove build artifacts
make install Install to $(PREFIX)/bin (default /usr/local)
make uninstall Remove the installed binary
make clean install Clean then install

Change the install prefix if you like:

make install PREFIX=$HOME/.local

Thanks & inspiration

uint [2025]