Explore a minimal core model #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The project preparation stage is complete.
The development environment is ready, Forgejo access is verified, the current project builds successfully, and the initial architectural direction is clear enough to begin implementation.
The next unknowns should come from implementing Onyrion itself rather than from further environment preparation.
Core direction
onyrion-coreis the Wayland compositor and the mandatory foundation of the DE.The initial internal model is:
Workspace → Layout → Tile → Group → WindowResponsibilities are conceptually separated even if they live inside the same core repository:
wlroots is used for low-level compositor plumbing. Onyrion owns the actual desktop model, placement, grouping, focus, workspace behavior and UX policy.
Model assumptions
Window
Represents an application window.
Useful metadata may include:
app_idNo single metadata field should be treated as the absolute identity of an application.
Group
A fundamental ordered collection of windows.
A single window may internally exist as a one-window Group while the tab UI remains hidden.
Groups are expected to support operations beyond moving one window:
Tile
Owns the position of a Group in the layout.
This keeps window grouping separate from layout geometry.
Workspace
A persistent object with:
The visible name/order must not be the internal identity.
Initial placement policy
Placement should be policy-driven.
A new normal window is placed approximately in this order:
Transient/dialog windows should retain their relationship to the parent and should not automatically behave like ordinary tabs.
Policy should be separable from compositor mechanisms so that built-in behavior can later be changed by presets or advanced custom policy.
Recovery direction
Recovery is split by failure level:
The external recovery system is a later-stage feature.
Shell direction
A primitive shell should appear relatively early so that Group/tab UX and other core behavior can be tested visually.
This does not mean switching development focus from core to shell early.
The full personal migration from Hyprland to Onyrion should happen later, when:
First implementation focus
Explore and implement the minimum structures and invariants required for:
Useful first model scenarios include:
Not now
Do not design these yet unless implementation makes one of them an immediate blocker:
Research exit
Stop refining the abstract model when it is clear enough to connect a real Wayland
xdg_toplevelto:Window → Group → Tile → WorkspaceAt that point continue with the first real compositor vertical slice instead of further abstract design.