Wayland compositor based on bswpm, with floating, tiling and scrolling layouts.
  • C 97%
  • GLSL 2.1%
  • Meson 0.4%
  • Nix 0.3%
  • Perl 0.2%
Find a file
2026-06-08 20:28:32 +01:00
doorsctl fix: correct some naming 2026-06-04 15:52:54 +01:00
examples feat: implement damped harmonic oscillator spings 2026-06-05 11:22:37 +01:00
include chore: simplify some config and ipc handling using bind_action_t 2026-06-08 15:38:10 +01:00
protocols feat: initial block_out_from_screenshare implementation 2026-05-25 23:11:00 +01:00
src fix: prevent node -g border_radius from failing 2026-06-08 20:28:32 +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
doors-portals.conf chore: minor refactor 2026-06-03 23:13:53 +01:00
doors.desktop chore: minor refactor 2026-06-03 23:13:53 +01:00
flake.lock fix: nix build (#9) 2026-06-04 15:22:28 +01:00
flake.nix fix: add passthru, and add doors as a package too (#10) 2026-06-05 07:43:52 +01:00
LICENSE.md chore: minor refactor 2026-06-03 23:13:53 +01:00
meson.build feat: implmenent xdg activation handling based on sway 2026-06-06 16:44:05 +01:00
README.md chore: correct name 2026-06-04 20:22:52 +01:00

doors

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/doors/ (or $HOME/.config/doors/), or you can pass the directory you have put them in with the -c arg like:

doors -c ./examples/

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

The doorshkrc 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 doorsctl command.