Skip to content
A tiling X11 window manager with Vulkan compositor.
C++ C Python Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Add mute control Oct 5, 2019
shaders Expose shader flags, add floating bit Sep 3, 2019
src Check present region rectangle count Oct 6, 2019
third Update SPIRV-Reflect May 31, 2019
LICENSE Add license and readme Sep 12, 2018 Add SHM note for NVIDIA users Aug 21, 2019 Load cursor on startup, #3 Jun 15, 2019


A tiling window manager with Vulkan based compositor. Documentation




Window manager:

  • Dynamic horizontal and vertical tiling with gaps and stacking
  • Specify container size restrictions, overlap when necessary
  • Resize and translate individual containers in their place while keeping the surrounding layout
  • Floating containers and automatic dialog, dock, widget etc. handling
  • Yank and paste containers to move them within the tree hierarchy along with typical move operations
  • Configuration with python, scriptable behaviour with client and container specific callbacks
  • Fully keyboard controllable


  • Vulkan renderer
  • Arbitrary window decorations and borders with user supplied shaders
  • Per-client materials
  • Optional, alternatively use any other external compositor


Currently a PKGBUILD is available for testing purposes. Install from AUR, or run meson to build manually. The package from AUR will install a default configuration and the precompiled shaders to /usr/share/chamfer/. Copy the configuration to another location to make modifications. Once ready, put the following line to your .xinitrc:

exec chamfer --config=/usr/share/chamfer/config/ --shader-path=/usr/share/chamfer/shaders/

When multiple rendering devices are available, make the choice with --device-index=n, where n is the zero-based index of the device (default = 0). Launch Xorg with startx. NVIDIA users may have to add Option "AllowSHMPixmaps" "1" to their Xorg configuration.

To run the WM without the integrated compositor, use

exec chamfer --config=/usr/share/chamfer/config/ -n

In this case, any other external compositor may be used.

You can’t perform that action at this time.