#!/bin/bash set -euo pipefail # The room's ordinary browser: YouTube, and anywhere else a lesson goes. # # It is a full browser with a tab strip and an address bar, in the room's # own profile, so the church YouTube sign-in survives reboots and updates. # Wonder Ink is a separate application in a separate profile and is not # reachable from this one. # # There is no launch/focus/minimise/restore logic here any more. The panel # owns that: it knows this window by StartupWMClass and does the right # thing with a click, including telling the teacher which of those four # states the application is in. # # --hide-crash-restore-bubble is what suppresses "Restore pages? Chrome # didn't shut down correctly" after a power cut. Note the switch name: the # older --disable-session-crashed-bubble is not present in Chrome 152 at # all, so it would have silently done nothing. # Not Wonder Ink. Wonder Ink is its own application in its own profile, # and a second way in through this window would put a teacher's lesson # session in the room's shared browser profile — the exact leak the split # exists to prevent. HOME_PAGE='https://www.youtube.com/' # One number for the whole room. Chrome on Wayland was measured not to # follow the compositor's output scale on its own, so the 4K television # got a browser at half the size of everything around it. Forcing the # same number the display is scaled by is a statement of the same fact, # not a second scaling: Chrome replaces its detected scale with this # rather than multiplying by it. SCALE="$(/usr/local/bin/classroom-ui-scale 2>/dev/null || echo 1)" exec google-chrome \ --ozone-platform=wayland \ --force-device-scale-factor="$SCALE" \ --start-maximized \ --no-first-run \ --no-default-browser-check \ --password-store=basic \ --hide-crash-restore-bubble \ "${@:-$HOME_PAGE}"