NextWM icon indicating copy to clipboard operation
NextWM copied to clipboard

Manual tiling wayland compositor. ( Work In Progress )

NextWM

Manual tiling wayland compositor written with wlroots aimed to be a bspwm clone.

Note: NextWM is still a work in progress project. It won't be useable anytime soon, but when it is I will be the first one to spam screenshots of it in the readme.

License:

The entire project is licensed as BSD-2 "Simplified" unless stated otherwise in the file header.

Aim

I want to learn how to write wlroots compositors with this project and keep everything commented to a great extent for others to learn from. The wlroots ecosystem is hard to initially get into as per my experience and I want to change that via NextWM.

Why multiple implementations of Nextctl?

Since this project is meant to teach others, why not show people how wayland clients are written in different languages :) ?

PS: I tried writing a go version but I never got the scanner working with my toolchain.

Building

NOTE: By default Xwayland always executes in the background. The -Dxwayland-lazy flag was added to mitigate this issue however this may have slightly worse xwayland startup times.

NOTE: By default Nextctl C codebase is compiled and put in the mentioned --prefix. The -Dnextctl-rs flag compiles the rust version instead. Both versions of the tool are exactly identical.

Depedencies

  1. clang (Optional. Required if you build C implementation of Nextctl)
  2. cargo (Optional. Required if you build Rust implementation of Nextctl)
  3. libinput
  4. libevdev
  5. make
  6. pixman
  7. pkg-config
  8. scdoc (Optional. If scdoc binary is not found, man pages are not generated.)
  9. wayland-protocols
  10. wayland
  11. wlroots 0.15
  12. xkbcommon
  13. zig 0.9.1

Steps

git clone --recursive https://git.sr.ht/~shinyzenith/NextWM
sudo make install

Keybind handling

Consider using the compositors in-built key mapper or swhkd if you're looking for a sxhkd like experience.

Contributing:

Send patches to: ~shinyzenith/[email protected]

Bug tracker:

https://todo.sr.ht/~shinyzenith/NextWM

Support

  • https://matrix.to/#/#waycrate-tools:matrix.org