Files
Classroom_Desktop/docs/screenshots/README.md
T
ekklesiaandClaude Opus 5 926668dc9b fix: make an existing classroom converge into the Plasma appliance
A real room upgraded to 0.1.45 and came up as stock Debian Plasma with
the old Waybar across the top, mako still catching notifications, and a
lock screen on an account that has no password.

The cause was one line, and it was in the lab: the harness handed the
session under test XDG_CONFIG_DIRS by hand, so every result it had ever
produced was a result about a machine somebody had already configured.
On a machine SDDM starts the session through PAM, PAM does not read
/etc/environment.d, and Debian's own plasma-workspace env.sh then set the
variable from scratch — so the classroom's settings directory was not in
the cascade at all. No layout, no lock policy, no Kiosk restrictions.

The settings now arrive the way Plasma delivers them, through a file in
/etc/xdg/plasma-workspace/env. Around that: the look and feel is
immutable on its own key so a stale profile cannot answer for it; the
palette is composed into the package, because naming a colour scheme does
not produce one and the dark bar had been coming from a technician's
hand; the desktop reset converges another desktop's appearance state and
keeps the room's own; and classroom-migrate stops, deactivates and masks
the old shell, including the D-Bus activation that brought mako back
while the panel was down — found only by killing the panel on a migrated
machine.

device.conf loses COMPOSITOR and comes off the hyprland channel, which
would otherwise have handed the room the experiment back.

The lab stops flattering the package: it restarts the machine, lets SDDM
actually autologin, and asks a fresh install and a machine upgraded from
the Hyprland package the same sixty questions. Both answer identically,
twice, and the panel still comes back from eight SIGKILLs.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-10 23:06:56 -05:00

96 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Screenshots from the classroom v2 experiment
All 1920×1080, captured with `grim` from a real running session in the
container lab. See [../classroom-v2-experiment.md](../classroom-v2-experiment.md).
## The desktop
| | |
| --- | --- |
| `v2-idle-desktop` | the idle desktop: the wallpaper, one bar, nothing else |
| `v2-from-package` | the same desktop, produced by installing the `.deb` on a clean machine |
| `v2-dark-bar`, `v2-light-bar` | the bar in both themes |
| `v2-theme-compare` | the two, one above the other |
| `v2-testpage` | a maximised browser, edge to edge above the bar |
| `v2-wonderink` | Wonder Ink as an application, in its own profile |
## Application state
| | |
| --- | --- |
| `state-1-closed` | both launchers closed: no indicator |
| `state-3-behind` | one active (teal), one running behind it (grey) |
| `state-4-minimized` | minimised — measured identical to *behind*, which is why minimise was removed as a route |
| `state-5-restored` | back |
| `v2-both-apps` | both applications, one button each, from the packaged install |
| `labelled-tasks` | the labelled task manager, evaluated and rejected: it shows changing page titles rather than application names |
## Parent Call
| | |
| --- | --- |
| `pc-icon-vs-notifications` | the Parent Call mark beside Plasma's notification bell — the comparison that decided it |
| `pc-mark` | the mark at 32, 48 and 64px, beside the two marks it replaced |
| `pc-panel` | the whole bar: Parent Call left, applications centre, status right |
| `pc-ready` | the card, ready, in approval mode |
| `pc-waiting` | waiting for a volunteer to approve |
| `pc-sent` | *Sent to sanctuary* — never "displayed" |
| `pc-rejected` | not approved, offering Try again |
| `pc-off` | the coordinator's mode is off |
| `pc-nobroker` | the broker is unreachable |
| `pc-typed` | a name in the field |
| `icon-candidates-2` | sixteen Breeze person icons at real panel size, none of which meant Parent Call |
## DVD
| | |
| --- | --- |
| `dvd-panel` | DVD in the row with the applications, out of the status area |
| `dvd-cover` | the DVD launcher's tooltip on the packaged install |
| `v2-dvd-overlay`, `v2-layershell` | the loading cover: a gtk-layer-shell overlay under KWin |
## Windows
| | |
| --- | --- |
| `v2-secondary-window` | a window a page opened, floating over an untouched browser, with its own close button |
| `v2-print-dialog` | the system print dialog, over the page that raised it, offering only Elmer |
| `v2-fullscreen` | fullscreen video: the whole display, panel covered |
| `v2-layershell` | a gtk-layer-shell overlay under KWin — what the DVD loading cover is made of |
| `v2-notification-crop` | a notification card, top right |
## Administration
| | |
| --- | --- |
| `admin-terminal` | the maintenance terminal, opened by its chord's action |
| `admin-terminal-bar` | the bar with the terminal open, and after closing it: a task button while it runs, no launcher ever |
## Reliability and lockdown
| | |
| --- | --- |
| `recovery-after-8-kills` | the panel after eight consecutive SIGKILLs |
| `recovery-after-kwin-kill` | the session after KWin was killed twice; the application window survived |
| `recover-panel` | the bar rebuilt from the layout script after its configuration was deleted |
| `lock-desktop-rmb` | right-clicking the wallpaper: no menu |
| `lock-panel-rmb` | right-clicking the bar: no menu |
| `lock-krunner` | KRunner asked for, and not there |
## The migration
| | |
| --- | --- |
| `migration-before` | what a real room got when it upgraded: stock Debian Plasma, kickoff, a pager, a system tray, the Debian wallpaper. Reproduced in the lab by taking one line out of the harness. |
| `migration-after` | the same machine after the fix — a Hyprland-era install, upgraded, rebooted |
| `migration-after-bar` | its bar, at the size a teacher sees it |
| `migration-parent-call` | Parent Call on the migrated machine, saying it cannot reach the church network rather than pretending it can |
| `theme-light-live`, `theme-light-after-logout` | the room's own light theme, and the same room after logging out and back in. The first attempt at this pass lost it. |
## Failures, kept
| | |
| --- | --- |
| — | keyboard injection never reached the nested session, so every interaction in this experiment was driven by the pointer. It is why Parent Call has never had a real key pressed into it, and why that is the first bench test. |
| `m-closed`, `m-minimized` | the pair whose pixels were sampled to show that Plasma draws minimised and closed differently, but minimised and *behind* the same |