Files
Classroom_Desktop/systemd/user/plasma-plasmashell.service.d/ekklesia-classroom.conf
T
ekklesiaandClaude Opus 5.5 7b4ac39cd2 fix: a desktop Plasma makes after the layout has run gets the classroom's wallpaper
Tiny Pebbles came through the 0.2.2 upgrade on Plasma's own purple
wallpaper: its desktop was containment 10, made after the layout had run
(most likely the television arriving after a night-time reboot), with no
wallpaper configured. The look and feel's fallback could not catch it,
because it named a file and Plasma only accepts a wallpaper package there.

The fallback is now the EkklesiaClassroom package, whose one image links to
the classroom's picture. classroom-desktop-wallpaper, run before every
plasmashell start, writes the picture into every desktop containment the
file already has: found by plugin, never by number; panels and everything
else byte for byte; a file that is already right not written at all.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:05:44 -05:00

25 lines
1.1 KiB
Plaintext

# The panel is the only way a teacher has of getting anywhere, so it is
# never allowed to stay dead.
#
# Plasma's own unit already restarts plasmashell on a crash, but it gives
# up after three restarts in sixty seconds and the panel is then gone until
# somebody reboots the room. That is measurably the failure a classroom
# machine has already had once, with the old hand-written dock, which had
# no supervision at all.
#
# Measured in the lab: with these four lines, plasmashell survived eight
# consecutive SIGKILLs one second apart and came back every time in about
# 2.4 seconds. Without them it was permanently gone on the third.
[Unit]
StartLimitIntervalSec=0
[Service]
Restart=always
RestartSec=2
# Every desktop the configuration already has gets the classroom's
# wallpaper written into it, in the one moment the shell is not running to
# own the file — at a login, and at every restart after a crash. See
# classroom-desktop-wallpaper. The "-" is because a panel matters more than
# a wallpaper: nothing that script can do is allowed to stop the shell.
ExecStartPre=-/usr/local/bin/classroom-desktop-wallpaper