feat: settle Chrome's window, crash bubble and password prompts
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]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
890e365d81
commit
255072ac94
@@ -25,6 +25,7 @@ chmod 0755 /usr/local/bin/classroom-dvd-css-setup
|
||||
chmod 0755 /usr/local/bin/classroom-notify-test
|
||||
chmod 0755 /usr/local/bin/classroom-notifications
|
||||
chmod 0755 /usr/local/bin/classroom-scale
|
||||
chmod 0755 /usr/local/bin/classroom-shutdown
|
||||
chmod 0755 /usr/local/bin/classroom-chrome-setup
|
||||
chmod 0755 /usr/local/bin/classroom-provision
|
||||
|
||||
@@ -90,4 +91,9 @@ systemctl start ekklesia-classroom-update.timer || true
|
||||
# A failure there must never fail this installation.
|
||||
systemctl enable ekklesia-classroom-provision.service || true
|
||||
|
||||
# Gives Chrome a chance to close properly on reboot, so its profile is
|
||||
# not marked as crashed. Best effort: it must never hold a shutdown up.
|
||||
systemctl enable ekklesia-classroom-shutdown.service || true
|
||||
systemctl start ekklesia-classroom-shutdown.service || true
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user