# 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 | ## Wonder Ink with tabs 0.2.1. A teacher prepares a lesson across several tabs, and none of a browser's other furniture is on the screen. | | | | --- | --- | | `wonderink-tabs` | `[ Lesson ] [ Video ] [ Activity ]` — the second and third opened by the lesson itself, one through `target=_blank` and one through `window.open` | | `wonderink-one-tab` | one tab, and no strip at all: the room looks exactly like the application this replaced | | `wonderink-tab-closed` | the middle tab closed; the other two carry on | | `wonderink-fullscreen` | a lesson's video over the whole display, panel and tab strip included | | `wonderink-after-fullscreen` | and back, maximised above the bar, tabs intact — the bug this caught left the window 200 pixels wide in the corner | | `wonderink-context-menu` | the whole of the right-click menu: back, forward, reload, print. No view-source, no save-page, no new *window* | | `wonderink-print-dialog` | a lesson calling `window.print()`, landing on the room's own Elmer queue | | `wonderink-and-browser` | the point of the split, in one picture: Chrome in front with its address bar, Wonder Ink a separate button beside it | | `wonderink-autoplay`, `wonderink-autoplay-control` | the Present-view autoplay failure reproduced and then not reproduced: an unmuted video started by a script with no gesture, blocked at Chrome's default and playing as shipped | | `wonderink-packaged` | the packaged shell against the real app.wonderink.org, launched from the `.deb` on a rebooted machine | | `wonderink-disabled` | `WONDERINK_ENABLED=false` — no lesson button, the browser and the disc player where they were | ## Wonder Ink worksheets 0.2.2. A lesson link that downloads a PDF comes back as a tab, and nothing else about the room's locks moves. | | | | --- | --- | | `pdf-opened` | the worksheet a click downloaded, open as a tab beside the lesson and actually rendered — three pages, not a blank frame | | `pdf-page2` | page 2 of 3: multi-page navigation inside the tab | | `pdf-spaces` | `Leader Guide, Week 1 (Advent).pdf` — spaces, a comma and brackets, through the download and into a tab | | `pdf-print` | printing the worksheet, on the room's own Elmer queue | | `pdf-closed-then-page` | the worksheet tab closed, the lesson still there and still working, and an ordinary `target=_blank` tab beside it | | `pdf-broken` | HTML the server called `.pdf`: refused on its contents, with a message, and no blank tab | | `pdf-interrupted` | a download that did not finish, saying so. The first version of this said nothing at all | | `pdf-guard` | three attempts to reach a local file from the page — a link, a script, and a link to a worksheet that was downloaded but not opened by the shell. All refused | | `pdf-dotmenu` | the whole of the PDF viewer's overflow menu, audited: two-page view, annotations, present, properties. No open, no save-as, no external link | | `pdf-after-save` | the viewer's own download button: straight to Wonder Ink's directory with a notification, no file chooser and no duplicate tab | | `pdf-autoplay-preserved` | the 0.2.1 Present-view autoplay fix, still working on the packaged 0.2.2 | ## 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 | ## A morning in the rooms | | | | --- | --- | | `pc-no-mode` | Parent Call ready against a broker with no retained mode — the state that used to say the room was never set up | | `pc-bottom-left`, `pc-200-package` | the card anchored bottom-left at 100% and at 200% | | `notif-package-100`, `notif-package-200` | the notification card at both scales, from `Classroom` | | `notif-13pt`, `notif-15pt` | the two font sizes that were weighed for it | | `pc-typed-layer` | the card gone: the lab's keyboard tool closes it, which is why typing is still a bench test | ## 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 |