GithubHelp home page GithubHelp logo

AquariWM

AquariWM will be an X11 window manager and Wayland compositor focused on a highly modular design. It will also focus on high-quality documentation and being accessible and welcoming to all.

Modularity

Tiling window layout managers will be able to be provided by external applications ('AquariWM clients'). AquariWM clients will also be able to provide decoration managers, providing the window decorations for windows.

Other areas of modularity will exist too but ideas for them will become clear as AquariWM is developed - areas could include input methods, config/settings managers, or adding modularity that X11 already has to the AquariWM Wayland compositor (window managers and compositors being provided by external clients being one example).

Current state

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

AquariWM Community & Contributors's Projects

aquariwm icon aquariwm

A modular Wayland compositor and X11 window manager that's approachable.

wmmc-spec icon wmmc-spec

X protocol describing communication between separate X clients that collectively form a single window manager.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.