feat: a lesson in Wonder Ink is the size the browser shows it, and zooms
Teachers found lessons in Wonder Ink too small next to the ordinary browser. Measured by asking each page for devicePixelRatio: Wonder Ink follows the display scale exactly (dpr 1.5 at 150%), and Chrome is scaled TWICE (dpr 2.25) — under Plasma it follows the compositor itself and classroom-browser also forces UI_SCALE, a flag from the sway session. The browser is left as it is. Wonder Ink's pages start at zoom = UI_SCALE, the room's own number (1.0 at 100%), and measured afterwards match the browser: dpr 2.25 and 853 px against 2.25 and 854. The window is not zoomed; Qt scales it once, correctly. Ctrl+Plus/=/keypad, Ctrl+Minus, Ctrl+0, Ctrl+wheel and the right-click menu set one level for every tab, remembered as LEVEL= in its own file, relative to the room. Two actions on one key are ambiguous to Qt and it then does neither — Ctrl+Minus did nothing until each command became one action with all its keys, which also fixes Ctrl+Shift+Tab. The engine profile is built by one function, which the lab's checks now use: a check with its own profile showed every worksheet blank. The lab fences 10.10.0.0/16 as well: the development host reaches the real Elmer over Tailscale, and the lab provisions a queue pointing at it. Four lab checks written for older code are corrected; one had failed on every run since 0.2.3. tools/lab/wonderink-zoom-check: 18 checks. Lab: converged 120, print 39, worksheets 24, all passing. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
10433b850d
commit
48b3097c43
@@ -302,8 +302,11 @@ check "the launcher names the shell's app id" ekklesia-wonderink \
|
||||
# Comments stripped first. The shell has a comment saying Ctrl+T is
|
||||
# deliberately absent, and a check that cannot tell that from a binding
|
||||
# is a check that fails for being right.
|
||||
# One text box exists, in the print preview, for the page range. The
|
||||
# check reads the code outside that class; anywhere else a text box in
|
||||
# this window would be an address bar.
|
||||
check "no code offers a new tab button or an address bar" 0 \
|
||||
"$(in_lab "grep -vE '^[[:space:]]*#' /usr/local/bin/classroom-wonderink | grep -cE 'QLineEdit|setCornerWidget|addressBar|bind\\(\"Ctrl\\+T' || true")"
|
||||
"$(in_lab "sed '/^class PrintPreview/,/^def notify/d' /usr/local/bin/classroom-wonderink | grep -vE '^[[:space:]]*#' | grep -cE 'QLineEdit\\(|setCornerWidget|addressBar|bind\\(\"Ctrl\\+T' || true")"
|
||||
# Separate from the ordinary browser, which is the whole reason the split
|
||||
# exists: a teacher's Wonder Ink sign-in and the room's shared YouTube
|
||||
# account must never be in one profile.
|
||||
@@ -329,7 +332,7 @@ check "and the browser is untouched by any of this" 0 \
|
||||
|
||||
section "a lesson's worksheets come back as tabs"
|
||||
check "worksheets have a directory of Wonder Ink's own" 1 \
|
||||
"$(in_lab 'grep -c "\"Wonder Ink\"$" /usr/local/bin/classroom-wonderink || true')"
|
||||
"$(in_lab 'grep -c ") / \"Wonder Ink\"$" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "a finished PDF becomes a tab" 1 \
|
||||
"$(in_lab 'grep -c "def open_worksheet" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "checked on its contents, not its name" 1 \
|
||||
@@ -344,8 +347,10 @@ check "and a guard consults it on every navigation" 1 \
|
||||
"$(in_lab 'grep -c "def acceptNavigationRequest" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "a local document cannot read other local documents" 1 \
|
||||
"$(in_lab 'grep -c "LocalContentCanAccessFileUrls, False" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "no file chooser behind the print dialog" 1 \
|
||||
"$(in_lab 'grep -c "PrintDialogOption.PrintToFile, False" /usr/local/bin/classroom-wonderink || true')"
|
||||
# Qt's print dialog, and its Print to File chooser, are gone altogether:
|
||||
# the preview offers CUPS printers and nothing else.
|
||||
check "no file chooser behind printing" 0 \
|
||||
"$(in_lab 'grep -cE "QFileDialog|QPrintDialog" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "nothing downloaded is handed to the desktop to run" 0 \
|
||||
"$(in_lab 'grep -cE "QDesktopServices|xdg-open" /usr/local/bin/classroom-wonderink || true')"
|
||||
check "and no file browser was added" 0 \
|
||||
@@ -365,10 +370,13 @@ check "device.conf carries the setting" 1 \
|
||||
"$(in_lab 'grep -c "^WONDERINK_ENABLED=" /etc/ekklesia-classroom/device.conf || true')"
|
||||
check "and it defaults to on" true \
|
||||
"$(in_lab 'sed -n "s/^WONDERINK_ENABLED=//p" /etc/ekklesia-classroom/device.conf')"
|
||||
# One line the setting switches, since 0.2.3's one-setting-per-application
|
||||
# layout: var WONDERINK = true|false. This asked for the older marker
|
||||
# until 0.2.6.1 and so failed on every lab run in between.
|
||||
check "the layout carries a marker the setting can switch" 1 \
|
||||
"$(in_lab 'grep -c "CLASSROOM-WONDERINK-LAUNCHER \*/ \"applications:ekklesia-wonderink.desktop\"" /usr/share/plasma/look-and-feel/org.ekklesia.classroom.desktop/contents/layouts/org.kde.plasma.desktop-layout.js || true')"
|
||||
check "and it is switched on for this machine" 0 \
|
||||
"$(in_lab 'grep -c "// /\* CLASSROOM-WONDERINK-LAUNCHER" /usr/share/plasma/look-and-feel/org.ekklesia.classroom.desktop/contents/layouts/org.kde.plasma.desktop-layout.js || true')"
|
||||
"$(in_lab 'grep -cE "^var WONDERINK = (true|false);" /usr/share/plasma/look-and-feel/org.ekklesia.classroom.desktop/contents/layouts/org.kde.plasma.desktop-layout.js || true')"
|
||||
check "and it is switched on for this machine" 1 \
|
||||
"$(in_lab 'grep -c "^var WONDERINK = true;" /usr/share/plasma/look-and-feel/org.ekklesia.classroom.desktop/contents/layouts/org.kde.plasma.desktop-layout.js || true')"
|
||||
|
||||
section "the room's own parts survived"
|
||||
check "parent call installed" 1 "$(in_lab 'ls /usr/local/bin/classroom-parent-call 2>/dev/null | wc -l')"
|
||||
|
||||
Reference in New Issue
Block a user