Wayland compositor based on bswpm, with floating, tiling and scrolling layouts.
  • C 97.5%
  • GLSL 1.7%
  • Meson 0.5%
  • Nix 0.3%
Find a file
CreeperFace 762bc7be13
Merge pull request #7 from anispwyn/master
chore: add nix flake for nix users to be able to install
2026-05-09 19:15:51 +02:00
bmsg feat: inital ipc 2026-02-16 19:14:07 +00:00
examples feat: merge monitor and output commands into output 2026-05-08 20:15:55 +01:00
include chore: improvements to refraction 2026-05-07 22:17:44 +01:00
protocols feat: output config etc 2026-02-20 16:21:45 +00:00
src fix: use env perl instead of path 2026-05-09 17:30:42 +01:00
.editorconfig feat: workspace handling and formatting 2026-02-16 16:15:00 +00:00
.gitattributes chore: add gitattributes 2026-04-03 20:48:57 +01:00
.gitignore feat: initial commit 2026-02-15 21:45:42 +00:00
bwm-portals.conf feat: implement toplevel screenshare 2026-02-25 18:16:47 +00:00
bwm.desktop feat: add desktop file 2026-02-22 01:02:58 +00:00
flake.lock chore: add nix flake for nix users to be able to install 2026-05-10 00:05:40 +07:00
flake.nix chore: add nix flake for nix users to be able to install 2026-05-10 00:05:40 +07:00
LICENSE.md feat: add LICENSE 2026-02-22 01:32:04 +00:00
meson.build feat: add per-output tearing support 2026-04-29 17:51:23 +01:00
README.md chore: update deps list in README 2026-04-19 01:28:46 +01:00

bwm

Wayland compositor based on bspwm

Building

Ensure you have the following dependencies installed:

  • wlroots-git (latest git)
  • wayland
  • wayland-protocols
  • xkbcommon
  • libinput
  • pixman-1
  • xcb
  • xcb-icccm
  • glesv2
  • egl
  • cairo
  • pangocairo

Build with meson:

meson setup build
ninja -C build

Configuration

You can use the example config under examples. These should be placed under $XDG_CONFIG_HOME/bwm/ (or $HOME/.config/bwm/), or you can pass the directory you have put them in with the -c arg like:

bwm -c ./examples/

The bwmrc is a bash file that is run at startup, and can be used to configure settings and launch applications (like an .xinitrc).

The bwmhkrc is a config file for your hotkeys, and is reloaded on every save. It uses a config format similar to sxhkd and can execute compositor binds by calling the bmsg command.