75 lines
4.1 KiB
Markdown
75 lines
4.1 KiB
Markdown
---
|
|
status: active
|
|
initiated: 2026-10-04
|
|
touches:
|
|
- 02-DECISIONS/0176-the-login-shell-is-a-node-seat-and-execute-is-its-contract.md
|
|
- 02-DECISIONS/0177-a-unit-may-be-user-scoped-and-the-service-manager-is-a-node-seat.md
|
|
- 02-DECISIONS/0182-inside-a-home-the-mesh-owns-what-it-places-and-holds-the-rest-as-found.md
|
|
- 02-DECISIONS/0203-the-accounts-environment-is-one-modules-and-every-module-contributes-to-it.md
|
|
- 02-DECISIONS/0204-a-module-contributes-shell-code-to-the-login-shell-in-named-slots.md
|
|
- 02-DECISIONS/0205-software-the-distribution-does-not-package-ships-as-a-pinned-archive-of-the-module.md
|
|
- 03-DESIGN/01-to-be/37-the-operators-machine.md
|
|
- 03-DESIGN/01-to-be/38-building-the-operators-machine.md
|
|
- 04-ISSUES/168-a-setting-reaches-every-file-and-contribution/00-report.md
|
|
became: []
|
|
---
|
|
|
|
# 026 — The graphical session as modules
|
|
|
|
## What is investigated
|
|
|
|
The workstations' graphical session as modules of the mesh, at the same level as the shell
|
|
([to-be 41](../../03-DESIGN/01-to-be/41-the-shell-and-the-accounts-environment.md)): a package, files
|
|
under the account's home, a seat, and nothing that names a machine. The pieces are:
|
|
|
|
- the login manager;
|
|
- how a session starts and what environment it gets;
|
|
- the display server (X today, Wayland as a sibling);
|
|
- the window manager (i3, and sway as its Wayland sibling);
|
|
- the terminal emulator (xterm);
|
|
- the session's companions: bar, compositor, launcher, notifier, lock and idle, clipboard,
|
|
wallpaper, theming, fonts.
|
|
|
|
[To-be 38](../../03-DESIGN/01-to-be/38-building-the-operators-machine.md) names this WP7, and says
|
|
each seat begins with a record naming its holders and verbs. [To-be 37](../../03-DESIGN/01-to-be/37-the-operators-machine.md)
|
|
§4 leaves one question for the resolver: whether a held seat can gate another's assignment.
|
|
|
|
## Why
|
|
|
|
The operator asked for the graphical modules next, at the shell's level, and for one consistent
|
|
experience across machines. Since the predecessor retired, nothing manages the workstations'
|
|
desktops. Measured in [01](01-what-the-workstations-run.md):
|
|
|
|
- Two workstations carry one 983-line predecessor module's output, still byte-identical in its core.
|
|
- One workstation also carries another machine's hardware fragments.
|
|
- One runs a session that predates two fixes, with two notification daemons and two portals.
|
|
- The session's environment is a hand-kept second copy of the account's, beside the one the mesh
|
|
now writes.
|
|
|
|
## How it is approached
|
|
|
|
**Adopting is also improving** (the operator, 2026-10-04). A module is not a copy of what a machine
|
|
does today. Making it is the moment to fix what is broken, drop what is dead, choose the better tool
|
|
and remove the leftovers. Every module's design lists its improvements over today. **Every module
|
|
also serves tools,** many of them, for reading, acting and diagnosing; a module that only places a
|
|
package and a file is unfinished. The tools are catalogued in
|
|
[026/05](../026-the-graphical-session-as-modules/05-the-tools-each-module-serves.md).
|
|
|
|
## What it touches
|
|
|
|
- **The seat table:** up to ten node seats.
|
|
- **The resolver:** a seat held on a node gating another module's assignment.
|
|
- **The contribution mechanism of ADR 0204:** whether it generalises beyond shells, or whether
|
|
tools' own drop-in directories serve.
|
|
- **The host's user-scoped units** (mesh-host #72, still open).
|
|
- **Settings** for per-machine values (issue 168).
|
|
- **ADR 0205's archive** for the two pieces the distribution does not package.
|
|
|
|
## Documents
|
|
|
|
- [01 — What the workstations run](01-what-the-workstations-run.md): evidence.
|
|
- [02 — The questions and the options](02-the-questions-and-the-options.md)
|
|
- [04 — Screensaver, displays and menus](04-screensaver-displays-and-menus.md): the lock and idle module, monitor layouts by the monitors' identity, rofi and dmenu behind one launcher seat, the clipboard, fonts
|
|
- [05 — The tools each module serves](05-the-tools-each-module-serves.md): a first catalogue for the modules of 026 and 027
|
|
- [03 — What the predecessor taught](03-what-the-predecessor-taught.md): its 128 modules and 3,395 commits, as patterns to keep and failures not to repeat; shared with research 027.
|