55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
# Sway kiosk session for the door/wardrobe panel (docs/project-plan.md Phase 18).
|
|
#
|
|
# Installed to /home/<KIOSK_USERNAME>/.config/sway/config by
|
|
# build-door-panel-iso.sh. One workspace, one Chromium kiosk window — same shape as
|
|
# hosts/kitchen-display/, just pointed at identity's dashboard.html by default
|
|
# instead of pantry-vision, with the same "Show registration" alternate screen.
|
|
|
|
set $mod Mod4
|
|
set $ws_home 1:home
|
|
|
|
input type:keyboard {
|
|
xkb_layout @KEYBOARD_LAYOUT@
|
|
}
|
|
|
|
# Real touchscreen hardware — native Wayland wl_touch, same assumption and same
|
|
# caveat as hosts/touch-panel/ and hosts/kitchen-display/.
|
|
input type:touch {
|
|
map_to_output "*"
|
|
}
|
|
|
|
output * bg #101014 solid_color
|
|
|
|
default_border none
|
|
default_floating_border none
|
|
hide_edge_borders both
|
|
gaps inner 0
|
|
gaps outer 0
|
|
|
|
# door-panel-agent is NOT started here — systemd owns it, same reasoning as every
|
|
# other agent in this project.
|
|
|
|
for_window [app_id="chromium.*"] fullscreen enable
|
|
for_window [app_id="chromium.*"] inhibit_idle fullscreen
|
|
|
|
exec sh -c '[ -n "$IDENTITY_WEB_URL" ] && { swaymsg workspace $ws_home; /usr/local/bin/home-kiosk; }'
|
|
|
|
# Blank after 20 minutes; any touch resumes it. No lock screen — this is an ambient
|
|
# always-on display by design (weather/who's-home/groceries), same reasoning as every
|
|
# other kiosk in this project.
|
|
exec swayidle -w \
|
|
timeout 1200 'swaymsg "output * power off"' \
|
|
resume 'swaymsg "output * power on"'
|
|
|
|
bindsym $mod+Shift+Ctrl+m exec foot --title maintenance-shell
|
|
for_window [title="maintenance-shell"] floating enable, resize set width 800 height 500, move position center
|
|
|
|
bindsym $mod+Return exec foot
|
|
bindsym $mod+q kill
|
|
bindsym $mod+Shift+c reload
|
|
|
|
# Deliberately no exit binding — same reasoning as every other kiosk image in this
|
|
# project.
|
|
|
|
workspace $ws_home
|