kiwmi ===== A fully manual tiling window manager for the X window system. Why? ---- There's not enough so called "manual" tiling window managers and none of the existing ones is *fully* manual. When a new window opens, without having space assigned, I don't want my WM to suddenly be dynamic and just put it _somewhere_ or even on top something that's already existing. Concepts -------- I don't know what you expect to find here. It's a window manager: there's tags (workspaces), windows and they get arranged. So what happens when a window is created when there's no space yet? It's put in a queue, from where it can be popped into available space (which is also getting a cool name soon). This also solves the problem of creating a window and moving the focus before it spawns, since you can assign future queue positions to available space. I plan on having available space behave like a window, so that you don't have to think about stuff, but we'll see about that. Configuration ------------- Configuration languages suck and they add a lot of complexity to a program. `kiwmi` listens to a socket and offers a basic client (called `seed`) to communicate with the WM. This allows you to write your configuration in any language you want, while also removing the task of listening to keybinds for me, since you can use tools like https://github.com/baskerville/sxhkd[sxhkd] to do that. Building -------- Configuration can be done mostly in link:config.mk[config.mk]. . Be sure to have the dependencies installed (libxcb). . `make` . `sudo make install` Contribution ------------ You want to contribute? Great! Future requests, bug reports and PRs are welcome. Be sure to read the link:CONTRIBUTING.adoc[CONTRIBUTING.adoc]. Note that pull requests without a valid issue they reference are ignored, to decrease the amount of duplicate work. If anything is unclear, feel free to reach out to me.