feat: give the classroom a desktop instead of a shell
The whole appliance UI is now configuration for a desktop Debian already ships: a Plasma 6.3 session with a colour scheme, a look and feel package that builds the bar, window rules, and KDE's own Kiosk restrictions. Two things were measured rather than assumed, and both changed a decision. Plasma restarts a crashed panel three times a minute and then gives up, which is the failure a classroom has already had. Four lines of systemd drop-in make it unconditional; the panel then survived eight SIGKILLs a second apart, back each time in 2.4s. Plasma draws a minimised task and a background task identically, so the five states the room needs cannot all be shown. Rather than write a task manager, the classroom removes minimise: clicking a launcher always means show me this. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
bfc7caf28f
commit
87b55761c6
@@ -0,0 +1,48 @@
|
||||
# Window rules.
|
||||
#
|
||||
# There are three, they are all about size, and none of them is about
|
||||
# stacking. Dialogs staying in front of the window that opened them,
|
||||
# secondary windows floating over the main one instead of resizing it, and
|
||||
# a print dialog being the window in front are all ordinary window-manager
|
||||
# behaviour here, so there is nothing to write down.
|
||||
#
|
||||
# `types=1` is NET::Normal only. Without it a rule that maximises would
|
||||
# also maximise the dialogs, which is exactly the behaviour the classroom
|
||||
# is moving away from.
|
||||
|
||||
[General]
|
||||
count=3
|
||||
rules=classroom-browser,classroom-wonderink,classroom-video
|
||||
|
||||
[classroom-browser]
|
||||
Description=The classroom browser fills the screen
|
||||
wmclass=google-chrome
|
||||
wmclassmatch=1
|
||||
wmclasscomplete=false
|
||||
types=1
|
||||
maximizehoriz=true
|
||||
maximizehorizrule=3
|
||||
maximizevert=true
|
||||
maximizevertrule=3
|
||||
|
||||
[classroom-wonderink]
|
||||
Description=Wonder Ink fills the screen
|
||||
# Chrome derives this from the --app URL. Measured on a running session
|
||||
# rather than guessed; it is also what the launcher's StartupWMClass says,
|
||||
# and the two have to agree or the panel shows two buttons for one app.
|
||||
wmclass=chrome-app.wonderink.org__-Default
|
||||
wmclassmatch=1
|
||||
wmclasscomplete=false
|
||||
types=1
|
||||
maximizehoriz=true
|
||||
maximizehorizrule=3
|
||||
maximizevert=true
|
||||
maximizevertrule=3
|
||||
|
||||
[classroom-video]
|
||||
Description=Video is an appliance screen, not a window
|
||||
wmclass=vlc
|
||||
wmclassmatch=2
|
||||
wmclasscomplete=false
|
||||
noborder=true
|
||||
noborderrule=2
|
||||
Reference in New Issue
Block a user