
release: v1.7
license: GPLv3
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
- libX11
- Xinerama
- XCursor
- CC (C compiler)
- Make
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
- dwm — tiling and clean code
- i3 — sensible configuration
- sowm — README inspiration
- tinywm — tiny X11 WM
uint [2025]