Three things a volunteer should never have to see. Sway was drawing its own title bar above Chrome's tab strip, which already carries the window controls. Verified on a real session: Chrome is an xdg_shell client with app_id "google-chrome" and sway was giving it border "normal". A scoped rule removes the compositor decoration only — Chrome keeps its tabs and address bar, stays a normal window, and still maximises and minimises. A class rule covers an XWayland fallback. Nothing else changes: the only other window in this classroom is VLC, which is already borderless, so no broader rule is warranted. "Restore pages? Chrome didn't shut down correctly" is suppressed with --hide-crash-restore-bubble. Note the name. The switch this was going to use, --disable-session-crashed-bubble, is not present in Chrome 152 at all — checked against the strings of the installed binary — so it would have silently done nothing. That hides the prompt; the profile was still being marked as crashed, which is the untidy half. Chrome's browser process shuts down cleanly on SIGTERM, so a shutdown unit now gives it one and waits up to eight seconds before the session is torn out from under it. Best effort by construction: a shutdown that will not finish is far worse than a crash flag. Password prompts go off with the PasswordManagerEnabled policy, on the path the classroom already manages. Existing profile and session data are untouched, and website logins are unaffected: Wonder Ink and YouTube stay signed in. Co-Authored-By: Claude Opus 5 <[email protected]>
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# The dock's Browser button. classroom-window decides whether this is a
|
|
# launch, a focus, a minimise or a restore.
|
|
#
|
|
# Chrome stays a full browser: Wonder Ink is only the starting page, and
|
|
# the profile in ~/.config/google-chrome is never touched here so logins
|
|
# and cookies survive reboots and updates.
|
|
#
|
|
# --hide-crash-restore-bubble is what suppresses "Restore pages? Chrome
|
|
# didn't shut down correctly" after a reboot. 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. Verified against the
|
|
# strings of the installed binary.
|
|
|
|
HOME_PAGE='https://app.wonderink.org/'
|
|
|
|
exec /usr/local/bin/classroom-window toggle \
|
|
--match 'google-chrome' \
|
|
--match 'chrome' \
|
|
--match 'chrome-.*' \
|
|
--match 'google-chrome-.*' \
|
|
-- \
|
|
google-chrome \
|
|
--ozone-platform=wayland \
|
|
--start-maximized \
|
|
--no-first-run \
|
|
--no-default-browser-check \
|
|
--password-store=basic \
|
|
--hide-crash-restore-bubble \
|
|
"$HOME_PAGE"
|