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:
ekklesia
2026-09-10 08:35:12 -05:00
co-authored by Claude Opus 5
parent bfc7caf28f
commit 87b55761c6
51 changed files with 1352 additions and 36 deletions
+155
View File
@@ -0,0 +1,155 @@
# Ekklesia Classroom — dark. The default.
#
# One set of tokens for the whole session: Plasma reads this file for the
# panel, the notifications, the window decorations and every Qt dialog, so
# there is one place to change a colour rather than a stylesheet per surface.
#
# The hues come from the classroom wallpaper — sage, teal, blue, lavender —
# so the desktop sits on the landscape rather than in front of it.
[General]
Name=Ekklesia Classroom Dark
ColorScheme=EkklesiaDark
shadeSortColumn=true
accentActiveTitlebar=false
[ColorEffects:Disabled]
ChangeSelectionColor=
Color=56,66,71
ColorAmount=0
ColorEffect=0
ContrastAmount=0.5
ContrastEffect=1
Enable=
IntensityAmount=0
IntensityEffect=0
[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0
[Colors:Button]
BackgroundAlternate=30,42,47
BackgroundNormal=25,35,40
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:Selection]
BackgroundAlternate=79,179,168
BackgroundNormal=79,179,168
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=14,21,24
ForegroundInactive=14,21,24
ForegroundLink=14,21,24
ForegroundNegative=14,21,24
ForegroundNeutral=14,21,24
ForegroundNormal=10,16,18
ForegroundPositive=14,21,24
ForegroundVisited=14,21,24
[Colors:Tooltip]
BackgroundAlternate=25,35,40
BackgroundNormal=20,28,32
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:View]
BackgroundAlternate=20,28,32
BackgroundNormal=15,23,26
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:Window]
BackgroundAlternate=25,35,40
BackgroundNormal=20,28,32
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:Complementary]
BackgroundAlternate=25,35,40
BackgroundNormal=20,28,32
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:Header]
BackgroundAlternate=25,35,40
BackgroundNormal=18,26,30
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=147,165,170
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=230,237,239
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[Colors:Header][Inactive]
BackgroundAlternate=20,28,32
BackgroundNormal=16,23,26
DecorationFocus=79,179,168
DecorationHover=79,179,168
ForegroundActive=79,179,168
ForegroundInactive=125,142,147
ForegroundLink=126,196,255
ForegroundNegative=227,106,106
ForegroundNeutral=224,177,92
ForegroundNormal=170,186,191
ForegroundPositive=111,207,151
ForegroundVisited=156,138,222
[WM]
activeBackground=18,26,30
activeBlend=79,179,168
activeForeground=230,237,239
inactiveBackground=16,23,26
inactiveBlend=147,165,170
inactiveForeground=147,165,170
+158
View File
@@ -0,0 +1,158 @@
# Ekklesia Classroom — light.
#
# GENERATED from EkklesiaDark.colors by tools/build-light-scheme.
# Edit the dark scheme and regenerate; do not edit this file by hand.
#
# One set of tokens for the whole session: Plasma reads this file for the
# panel, the notifications, the window decorations and every Qt dialog, so
# there is one place to change a colour rather than a stylesheet per surface.
#
# The hues come from the classroom wallpaper — sage, teal, blue, lavender —
# so the desktop sits on the landscape rather than in front of it.
[General]
Name=Ekklesia Classroom Light
ColorScheme=EkklesiaLight
shadeSortColumn=true
accentActiveTitlebar=false
[ColorEffects:Disabled]
ChangeSelectionColor=
Color=56,66,71
ColorAmount=0
ColorEffect=0
ContrastAmount=0.5
ContrastEffect=1
Enable=
IntensityAmount=0
IntensityEffect=0
[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0
[Colors:Button]
BackgroundAlternate=225,231,230
BackgroundNormal=233,238,237
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:Selection]
BackgroundAlternate=46,140,130
BackgroundNormal=46,140,130
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=255,255,255
ForegroundInactive=255,255,255
ForegroundLink=255,255,255
ForegroundNegative=255,255,255
ForegroundNeutral=255,255,255
ForegroundNormal=255,255,255
ForegroundPositive=255,255,255
ForegroundVisited=255,255,255
[Colors:Tooltip]
BackgroundAlternate=233,238,237
BackgroundNormal=242,245,244
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:View]
BackgroundAlternate=242,245,244
BackgroundNormal=255,255,255
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:Window]
BackgroundAlternate=233,238,237
BackgroundNormal=242,245,244
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:Complementary]
BackgroundAlternate=233,238,237
BackgroundNormal=242,245,244
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:Header]
BackgroundAlternate=233,238,237
BackgroundNormal=236,241,240
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=96,116,122
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=22,35,42
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[Colors:Header][Inactive]
BackgroundAlternate=242,245,244
BackgroundNormal=228,234,233
DecorationFocus=46,140,130
DecorationHover=46,140,130
ForegroundActive=46,140,130
ForegroundInactive=120,138,144
ForegroundLink=26,110,180
ForegroundNegative=192,57,57
ForegroundNeutral=166,116,24
ForegroundNormal=80,99,105
ForegroundPositive=38,142,86
ForegroundVisited=104,80,180
[WM]
activeBackground=236,241,240
activeBlend=46,140,130
activeForeground=22,35,42
inactiveBackground=228,234,233
inactiveBlend=96,116,122
inactiveForeground=96,116,122