# UI scale Every classroom gets the same design at a size that suits its TV. A 32" panel a few feet from the children and a 65" set across a hall want different sizes of the same dock, not different docks. ## Changing it Edit `/etc/ekklesia-classroom/device.conf` on that endpoint: ``` UI_SCALE=1.25 ``` Then restart the classroom shell: ``` sudo systemctl restart getty@tty1 ``` That ends the session and the autologin brings it straight back with the new size. A reboot does the same thing. Nothing else needs touching, and no CSS or source file is ever edited to change a room's size. ## Values | UI_SCALE | Roughly | | --- | --- | | 0.8 | Small or close-up panel | | 1.0 | Default. 1080p classroom TV, 32–50" | | 1.25 | Large room, or a set viewed from further back | | 1.5 | 65"+ | Anything outside 0.8–1.5 is clamped to that range, and anything that is not a number at all falls back to 1.0, so a typo in device.conf cannot produce an unusable shell. ## What it scales - Dock height, and the reserved strip at the bottom of the screen - Dock corner radius, padding and the spacing between buttons - Button size, padding and corner radius - Every dock icon - Clock text size, padding, corner radius and its inset from the edge - Notification width, height, padding, margin, corner radius, text size and icon size Colours, translucency and the hairline borders do not scale: those are the design, not the size. At `UI_SCALE=1.0` the rendered stylesheet is byte-identical to the one the shell used before scaling existed. ## How it works `/etc/ekklesia-classroom/dock/style.css.in` and `/etc/ekklesia-classroom/mako/config.in` are templates carrying measurement tokens. `classroom-dock` resolves the stylesheet in memory at startup; `classroom-notifications` resolves the notification config into the session's runtime directory and hands it to mako. Neither template is ever rewritten on disk, so an update cannot lose a room's setting and a room's setting cannot drift from the packaged design.