Updated readme
This commit is contained in:
parent
12f1dda94b
commit
84f7487c2f
1 changed files with 23 additions and 18 deletions
41
README.adoc
41
README.adoc
|
@ -1,41 +1,46 @@
|
||||||
kiwmi
|
kiwmi
|
||||||
=====
|
=====
|
||||||
|
|
||||||
A fully manual tiling Wayland compositor.
|
A client controlled Wayland compositor.
|
||||||
|
|
||||||
Concepts
|
|
||||||
--------
|
|
||||||
|
|
||||||
Most *manual* window managers aren't *truly* manual. They behave like a dynamic one sometimes. However, kiwmi is fully manual. It doesn't do this.
|
|
||||||
|
|
||||||
When a window is spawned without allocating space, it's put in an invisible queue. Then you allocate space for the window; when the window is pulled from the queue, it goes into the aforementioned space. This solves the classic problem with regular window managers, where the window with a longer start time will spawn in the current tag (workspace) instead of the one in which it was opened in.
|
|
||||||
|
|
||||||
In kiwmi, empty spaces available for windows behave like a normal window does. You can resize and move around them. Ergo, you don't need to re-learn how a tiling window manager behaves and works.
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Configuration languages are confusing. They are neither flexible nor easy to use. Moreover, it adds a lot of complexity to the program itself.
|
Configuration languages are confusing. They are neither flexible nor easy to use. Moreover, it adds a lot of complexity to the program itself.
|
||||||
`kiwmi` listens to a socket and offers a basic client, `seed`, to communicate with kiwmi. Much like how `bspwm` works.
|
kiwmi listens to a socket and offers a basic client, kiwmic, to communicate with kiwmi. Much like how bspwm works.
|
||||||
|
|
||||||
This allows the user to write the configuration in any langauge, e.g. as a bash script, which allows for high flexibility.
|
This allows the user to write the configuration in any langauge, e.g. as a bash script, which allows for high flexibility.
|
||||||
|
|
||||||
More info soon(TM).
|
On top of that, kiwmi barely handles anything on it's own.
|
||||||
|
Instead it emmits events, to which the client can subscribe and react accordingly.
|
||||||
|
This allows for 100% flexibility and customizability, while comming at a little effort at first.
|
||||||
|
As soon as they exist I'll link a few user configurations, that are likely to help you get started.
|
||||||
|
|
||||||
|
This means the user will end up using a big, monolithic frontend, or a collection of small scripts, to configure kiwmi.
|
||||||
|
If I get around to it I will probably create a small Python (probably) library, to make it easier to create a monolithic frontend.
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
||||||
kiwmi depends on https://github.com/swaywm/wlroots-rs[wlroots-rs]. This means that all dependencies listed there are required.
|
- https://github.com/swaywm/wlroots[wlroots]
|
||||||
|
- meson (build)
|
||||||
No further dependencies are needed.
|
- ninja (build)
|
||||||
|
- git (build, optional, to fetch the version)
|
||||||
|
|
||||||
Building
|
Building
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
Make sure all dependencies are installed. Then run this.
|
||||||
|
|
||||||
----
|
----
|
||||||
$ git clone --recurse-submodules https://github.com/buffet/kiwmi
|
$ meson build
|
||||||
$ cd kiwmi
|
$ ninja -C build
|
||||||
$ cargo build --release
|
----
|
||||||
|
|
||||||
|
You can then install it like this.
|
||||||
|
|
||||||
|
----
|
||||||
|
# ninja -C build install
|
||||||
----
|
----
|
||||||
|
|
||||||
Contribution
|
Contribution
|
||||||
|
|
Loading…
Reference in a new issue