sxwm

Minimal. Fast. Configurable. Tiling Window Manager for X11
By Abhinav Prasai (2025)

--- ## Features - **Tiling & Floating**: Switch seamlessly between layouts. - **Workspaces**: 9 workspaces, fully integrated with your bar. - **Live Config Reload**: Change your config and reload instantly with a keybind. - **Easy Configuration**: Human-friendly `sxwmrc` file, no C required. - **Master-Stack Layout**: Productive, DWM-inspired workflow. - **Mouse Support**: Move, swap, resize, and focus windows with the mouse. - **Zero Dependencies**: Only `libX11` and `Xinerama` required. - **Lightweight**: Single C file, minimal headers, compiles in seconds. - **Bar Friendly**: Works great with [sxbar](https://github.com/uint23/sxbar). - **Xinerama Support**: Multi-monitor ready. - **Fast**: Designed for speed and low resource usage. --- ## Screenshots
--- ## Patch Notes
Click to expand #### v1.1.1 - **NEW**: Xinerama support, swap windows with Mod + Shift + Drag. - **FIXED**: New windows in `global_floating` mode spawn centered.
--- ## Default Configuration All options are in `sxwmrc` (which uses a simple DSL). Keybindings are easy to read and edit. No recompiling, no C code, just edit and reload! --- ## Default Keybindings ### Window Management | Combo | Action | | ---------------------------- | ------------------------- | | Mouse | Focus under cursor | | `MOD` + Left Mouse | Move window by mouse | | `MOD` + Right Mouse | Resize window by mouse | | `MOD` + `j` / `k` | Focus next / previous | | `MOD` + `Shift` + `j` / `k` | Move in master stack | | `MOD` + `Space` | Toggle floating | | `MOD` + `Shift` + `Space` | Toggle all floating | | `MOD` + `=` / `-` | Increase/Decrease gaps | | `MOD` + `f` | Fullscreen toggle | | `MOD` + `q` | Close focused window | | `MOD` + `1-9` | Switch workspace 1–9 | | `MOD` + `Shift` + `1-9` | Move window to WS 1–9 | ### Programs | Combo | Action | Program | | -------------------- | ---------- | ---------- | | `MOD` + `Return` | Terminal | `st` | | `MOD` + `b` | Browser | `firefox` | | `MOD` + `p` | Launcher | `dmenu_run`| --- ## Dependencies - `libX11` (Xorg client library) - `Xinerama` - GCC or Clang & Make --- ## Build & Install ### Arch Linux (AUR) ```sh yay -S sxwm ``` ### Build from Source ```sh git clone --depth=1 https://github.com/uint23/sxwm.git cd sxwm/ make sudo make clean install ``` ### Run Add to your `~/.xinitrc`: ```sh exec sxwm ``` --- ## Makefile Targets | Target | Description | | --------------------- | --------------------------------------------------- | | `make` / `make all` | Build the `sxwm` binary | | `make clean` | Remove object files and build artifacts | | `make install` | Install `sxwm` to `$(PREFIX)/bin` (default `/usr/local/bin`) | | `make uninstall` | Remove the installed binary | | `make clean install` | Clean and then install | > Override install directory with `PREFIX` or `DESTDIR`: > ```sh > make install PREFIX=$HOME/.local > ``` --- ## Thanks & Inspiration - [dwm](https://dwm.suckless.org) — Tiling & source code - [i3](https://i3wm.org) — Easy configuration - [sowm](https://github.com/dylanaraps/sowm) — README inspiration - [tinywm](http://incise.org/tinywm.html) — Minimal X11 WM ---

Contributions welcome! Open issues or submit PRs.