Files

68 lines
2.3 KiB
Plaintext

# Window rules.
#
# There are three: video, the Parent Call card, and the presentation surface.
#
# Everything else the classroom used to arrange by hand is ordinary window
# manager behaviour and needs no rule: a dialog stays in front of the window
# that opened it, a window a page opens floats over the browser instead of
# resizing it, and a print dialog is the window in front.
#
# There is deliberately no rule that maximises the browser. A rule can only
# match a window class, and Chrome gives its main window and every window a
# page opens the same one — matching on it maximised the lesson's popup to
# the whole display, which is the behaviour this architecture exists to
# stop. Chrome can tell them apart, so `--start-maximized` in the launcher
# does it: the first window fills the screen, later ones keep the size the
# page asked for. Arranging that from outside the browser is what the old
# 314-line window arbiter was doing.
[General]
count=3
rules=classroom-video,classroom-parent-call,classroom-presentation
[classroom-video]
Description=Video is an appliance screen, not a window
# VLC reports its class as "Vlc", and KWin's matching is case sensitive —
# measured on a running session, where a lower-case substring rule matched
# nothing at all and said so nowhere.
wmclass=(?i)vlc
wmclassmatch=3
wmclasscomplete=false
noborder=true
noborderrule=2
[classroom-parent-call]
Description=Parent Call is a quick action, not a window
wmclass=classroom-parent-call
wmclassmatch=1
wmclasscomplete=false
# It is not an application, so it does not belong in the row of them. The
# button that opened it is already in the bar.
skiptaskbar=true
skiptaskbarrule=2
skipswitcher=true
skipswitcherrule=2
skippager=true
skippagerrule=2
# In front of the lesson a teacher was reading when they pressed the
# button, rather than behind it.
above=true
aboverule=2
[classroom-presentation]
Description=A presentation is the whole display, not a large window
# The library and Quick Look have the same Wayland app id, so the stable
# presenter title is part of this match. Matching the app alone would make
# every Presentations window fullscreen.
wmclass=ekklesia-presentations
wmclassmatch=1
wmclasscomplete=false
title=Presenting
titlematch=1
fullscreen=true
fullscreenrule=2
noborder=true
noborderrule=2
skiptaskbar=true
skiptaskbarrule=2