[MIRROR] a simple feature-rich dynamic tiling window manager
- C 98.8%
- Makefile 1.2%
| docs | update 1.8 changelog | |
| patches | fixed tabs | |
| src | replace ugly atoms implementation with cleaner list of atoms | |
| .gitignore | ignore .swp files | |
| default_sxwmrc | fixed typos in option keys in default config, resulting in unknown function errors | |
| LICENSE | Now using GPLv3 | |
| logo.png | update logo | |
| logo.psd | update logo | |
| Makefile | unify build for OpenBSD users | |
| README.md | update logo | |
A very SeXy WM
Contributions & Issues
Please read the contribution guide Please read the developer docs
Features & Configuration
Check the man page markdown for relevant info
Dependencies
libX11XineramaXCursorCCMake
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 will also need the X sets (xbase, xfonts, xserv and xshare) installed.
When you make the code, use gmake instead of make (which will be BSD make). Use the following command to build: gmake CFLAGS="-I/usr/X11R6/include -Wall -Wextra -O3 -Isrc" LDFLAGS="-L/usr/X11R6/lib -lX11 -lXinerama -lXcursor"
FreeBSD
# If you use doas or su instead of sudo, modify the following commands accordingly.
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
Build & Install
Note
I don't maintain any packages. Use with caution!
Arch Linux (AUR)
yay -S sxwm
OR for latest features
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
Run
Add to your ~/.xinitrc:
exec sxwm
Or use the sxwm.desktop file
Makefile Targets
| Target | Description |
|---|---|
make / make all |
Build the sxwm binary |
make clean |
Remove build artifacts |
make install |
Install sxwm to $(PREFIX)/bin (default /usr/local) |
make uninstall |
Remove installed binary |
make clean install |
Clean then install |
Override install directory with
PREFIX:make install PREFIX=$HOME/.local
Thanks & Inspiration
- dwm - Tiling & source code
- i3 - Easy configuration
- sowm - README inspiration
- tinywm - Minimal X11 WM
uint [2025]