Shell 1.6.0: bars that tuck away, and every edge resizes

Three things about arranging a dashboard.

**Auto-hide bars.** A new button left of ⛶ folds every tile's title bar away
at once, for a windowed screen that should read like a wall display.
Fullscreen already did this for watching; this is the windowed equivalent,
asked for by hand. It starts off and saves with the layout, so a booth's
named layout loads with the bars already tucked away.

**A hidden bar is not a gone bar.** Folded away — by that switch or by a
tile's own notch — the bar leaves the flow and parks just above its tile, so
the module keeps the whole body and nothing reflows as the bar comes and
goes. Point at the tile's top edge and it slides back in over the content,
where its buttons click and its width drags the tile exactly as before. A
dashboard can now be arranged with every bar out of the way, which is the
point of hiding them.

**Every edge resizes.** The top, left and right edges join the bottom one:
each moves only itself, so the tile grows into the space beside it while the
opposite edge stays put, stopping at a neighbour or at the module's own
minimum. Where two tiles meet, that boundary already belongs to the seam
pill between them — it moves both edges and leaves no gap — so the two
tiles' side marks step aside there rather than offer a second, different
control on the same pixels.

One fix underneath: saving a named layout was dropping each tile's variant,
title, minimum size and hidden-bar state, so a saved "Now" tile came back as
the full Now/Next card and a solo timer came back with a full tile's
settings. The layout file now carries them — and the new switch with them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Waters Church
2026-09-17 11:39:34 -04:00
co-authored by Claude Opus 5
parent 6cca6d4d1a
commit 8e579ecb34
6 changed files with 365 additions and 33 deletions
+19 -7
View File
@@ -190,12 +190,15 @@ below. Nothing is installed without someone clicking.
- **+** — add any enabled module; multiple tiles of the same module are
fine (e.g. two transcripts filtered to different channels).
- Drag a tile by its **title bar** to move it; drag either **bottom
corner** to resize; **✕** removes it. Hover a tile and a small pill
appears on its **bottom edge** — drag it to change just the height. If
another tile sits directly below, the pill moves the shared edge instead,
trading rows between the two so the column keeps its total height. Tiles
sit flush — when two share a vertical edge, hover the seam and the same
kind of pill appears; drag it to trade width (macOS split-view style).
corner** to resize; **✕** removes it. Hover a tile and a small mark
appears on each **edge** — drag one to move just that edge, so the tile
grows or shrinks into the space beside it while the opposite edge stays
put. The bottom edge is the exception: when another tile sits directly
below, it moves the shared edge instead, trading rows between the two so
the column keeps its total height. Tiles sit flush — when two share a
vertical edge, hover the seam and a pill appears; drag it to trade width
(macOS split-view style). That seam belongs to the pill, so the two tiles'
own side marks step aside there.
- **Fullscreen** (the ⛶ button) is a viewing mode: the menu bar hides (its
green lip at the top-left brings it back, minus the Admin button), the
occupied columns stretch to the full width, and every column runs to the
@@ -207,7 +210,16 @@ below. Nothing is installed without someone clicking.
its normal row height and scrolls.
- A tile's actions (menus, text size, clear…) live in its **title bar**;
the small **notch** on the bar's bottom edge hides/shows the whole bar
for a clean wall-display look. The menu bar's handle is the **ProdDash
for a clean wall-display look. A hidden bar is not gone: point at the
tile's top edge and it slides back in over the content, where its buttons
click and its width drags the tile exactly as before — so a dashboard can
be arranged with every bar out of the way.
- **Auto-hide bars** (the button left of ⛶) folds every title bar away at
once, for a windowed screen that should read like a wall display. It is
off on a fresh dashboard and saves with the layout — including a named
layout on the server, so a booth loads its screen with the bars already
tucked away. Fullscreen folds the bars away regardless; this is the
windowed equivalent, asked for by hand. The menu bar's handle is the **ProdDash
name itself**, wrapped in a translucent green pill at the left — click it
to hide the bar; the slim green lip it leaves at the top-left edge brings
the bar back. It stays at the left so it never sits on top of a tile's