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]>
26 lines
1.1 KiB
Desktop File
26 lines
1.1 KiB
Desktop File
[Desktop Entry]
|
|
# The room's browser, installed to /usr/local/share/applications, which
|
|
# XDG_DATA_DIRS searches before /usr/share. Chrome's own entry is left
|
|
# where Chrome's package put it and is simply never the one that is found.
|
|
#
|
|
# It has to carry Chrome's file name rather than a name of our own. Plasma
|
|
# matches a window to its launcher by the application id the window
|
|
# reports, and Chrome reports "google-chrome". A launcher under any other
|
|
# name gives a teacher two buttons for one browser: a launcher that always
|
|
# looks closed, and a window that appears beside it. That was measured, not
|
|
# assumed — it is what the first build did.
|
|
Type=Application
|
|
Name=Browser
|
|
GenericName=Web browser
|
|
Comment=YouTube and the rest of the web
|
|
Icon=google-chrome
|
|
Exec=/usr/local/bin/classroom-browser %U
|
|
Terminal=false
|
|
Categories=Network;WebBrowser;
|
|
StartupNotify=true
|
|
StartupWMClass=google-chrome
|
|
MimeType=text/html;x-scheme-handler/http;x-scheme-handler/https;
|
|
# Chrome's own entry offers a new window and an incognito window from the
|
|
# launcher's right-click menu. Neither belongs in a shared room.
|
|
Actions=
|