Skip to content

Write a GUI compositor #80

Description

@d4ilyrun

Compositor

Design

Our compositor will handle window management internally, keeping track of the active windows inside a stack to know which windows
are on top of which.

The server (compositor) will own the hardware framebuffer, and the clients will request their canvas from the server (shared memory).
The clients update the content of their canvas themselves, and notify the compositor when the screen should be refreshed via a custom
IPC mechanism. The client may also specify which regions of the canvas have been modified since the last refresh (damage) so that the
server does not have to refresh the whole screen each time.

The server will also be listening for input events (mouse, keyboard) and will dispatch those to the current active window.

Optimizations

The idea is to get a simple working version first, so only the following basic optimizations may be added:

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch: noneNot architecture specifictype: newImplement a new feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions