Little Waders took the Plasma build and reported what a container cannot. A disc player on a machine with no optical drive, a clock nobody at the back of the room could read, a browser at half the size of the panel around it, and Parent Call with no broker to call. The broker is the same for every classroom, so it is a default now and not something to fill in room by room. classroom-migrate brings an existing room to the same place without touching its name, its username or its password, and Parent Call distinguishes a broker it cannot reach from one that was never set up: those send somebody to look at completely different things. The disc player's detection was right and ran too late — alongside the session rather than before it, and the panel is built from the layout the moment a session starts. It runs before the display manager now, and again from udev when a drive is plugged in. UI_SCALE had a ceiling of 1.5, which cannot express a 4K television; a clock pinned at 15 points, which is the same size at every scale; and a browser that was never told the number at all. All three are fixed and the room doubles together at 200%. This also brings 0.1.47's work into the repository, where it had only ever existed in a build directory under /tmp: the hidden display dialog, its authenticated writer, the polkit action, and the church's own wallpaper. One piece of it is deliberately left out. The custom volume display needed a shell package of our own, and with one selected plasmashell builds no panel at all — measured twice, with that build's own files, on a classroom that deletes its panel configuration at every login by design. The lab connected to the real church broker the moment the package defaulted to it. Nothing was left behind, which was checked, but the guard that should have stopped it had never worked: it used iptables, which the lab image does not have, and probed with /dev/tcp under dash, where that always fails. Both reported success. Co-Authored-By: Claude Opus 5 <[email protected]>
110 lines
5.4 KiB
Markdown
110 lines
5.4 KiB
Markdown
# 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. |
|
||
|
||
## The rooms themselves
|
||
|
||
| | |
|
||
| --- | --- |
|
||
| `v2-from-package` | the classroom with the church's own wallpaper and the real Wonder Ink mark |
|
||
| `wonderink-icon` | the same mark as a running application's button |
|
||
| `display-settings` | the hidden display-size dialog, saying that saving needs an administrator |
|
||
| `scale-200`, `scale-200-notification`, `scale-200-chrome` | the room at 200%: the panel, a notification card, and the browser, all doubled together |
|
||
| `notification-style` | the notification card on the classroom's own Plasma style |
|
||
| `osd-volume` | Plasma's volume display, which the room keeps |
|
||
| `osd-shellpackage` | the custom one, which rendered correctly and cost the panel |
|
||
| `pc-unreachable`, `pc-not-configured` | Parent Call telling a broker it cannot reach from one that was never set up |
|
||
| `dvd-absent-bar` | the bar on a machine with no optical drive |
|
||
|
||
## 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 |
|