#!/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}"
