kawa is planned to be a Wayland compositor with an interface inspired by, though not directly copying, Plan 9's rio window manager. It isn't yet, however, so feel free to either send a pull request or come back later.
- Minimal interface besides windows, but not completely blank like rio. There should be, for example, a status bar with the current time and other useful global pieces of info.
- Ability to maximize windows. The status bar will still display, allowing it to be right-clicked to access the window management menu.
- Ability to access the global menus from anywhere by holding a key (Super?) and clicking.
- Window overview similar to GNOME shell's.
-
Window starting system similar to rio's with terminal takeover, but with more capability for handling multi-window clients. This could be tricky, however, and will heavily depend on how far Wayland can be stretched to handle something like this.This has been ditched. It isn't feasible, makes little sense on Linux, and does bizarre things with a lot of programs. Maybe later, but probably not. - An exit feature. Maybe something in the status bar? It shouldn't be too easy to do accidentally, obviously.
- Support for fullscreen apps, such as games.
- Auto-focus of windows.
- Touchscreen support. I'm not entirely sure how this would work, but since rio's design is heavily mouse-oriented, if it does work it could be quite nice.
- Theming support.
- When a window is maximized, maybe it automatically enters a tiled mode and is always underneath non-maximized windows.
I'm not sure how feasible this is.Quite feasible indeed, it turns out, thanks to Wayland giving 100% of final say on positioning and sizing to the compositor.
Warning: This project is not ready for production usage. In particular, there is currently an issue with the initialization that causes a machine attempting to run it as a proper compositor to completely lock up all input. Do not use this as a regular compositor yet. It should be fine to run it as a Wayland client inside of another compositor, however, if you'd like to test it.
- wlroots v0.15
Installing kawa can be done via the go
tool:
$ go install deedles.dev/kawa@latest
If you would like to compile kawa without installing the resulting binary, use the following commands:
$ git clone https://github.com/DeedleFake/kawa
$ cd kawa
$ go build