From ad808e8256d78fea38517d3556820aef8a010241 Mon Sep 17 00:00:00 2001 From: Zoe <104020300+Antikyth@users.noreply.github.com> Date: Sun, 3 Dec 2023 20:11:31 +1300 Subject: [PATCH] Update README.md --- README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2703b786..59d80c34 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,17 @@ compositor (window managers and compositors being provided by external clients b ## Current state -At the time of writing (November 2023), AquariWM development is in early stages, with the basics of a running X11 window -manager and Wayland compositor achieved. Work is focused on implementing the tiling layout manager design, starting with -simply using traits for layout managers, with the goal of transitioning to use a custom protocol in the future (the -specifics of which are yet to be decided). +At the time of writing (December 2023), AquariWM development is in early stages, though the layout manager system is +implemented in Rust (with the goal of transitioning to use a custom protocol in the future, the specifics of which are +yet to be decided). @Antikyth, the only author of AquariWM at the time of writing, is working on +[`generational-arena-tree`], a tree implementation in Rust that gives the flexibility to implement more complex features +for tiling layouts (e.g. taking windows' minimum and maximum sizes into account). Specifically, it allows: +- nodes to be mutated directly, +- nodes to be iterated over mutably, +- nodes to be split by type into separate branches (nodes that may have children) and leaves (nodes that may not have + children), which each have their own associated data type. + - This is required because, in window layouts, every branch has an orientation, and every leaf has a window. No branch + may have a window, and no leaf may have an orientation. + +Here is a screenshot of a working Main + Stack layout manager implemented in the current state of AquariWM: +![A picture of a Main + Stack layout manager functioning in AquariWM, with window gaps enabled](https://cdn.discordapp.com/attachments/1012049086121246843/1176465058449076294/image.png?ex=657831f7&is=6565bcf7&hm=be348cc7313d69a9da3f1b5bb39dde9ef2261a679034438aa45eefc5d423b0c4&)