Touch is a panel setting, and the rail grows with it
Docs / docs (push) Successful in 22s
Playwright Tests / test-playwright (1, 2) (push) Failing after 1m9s
Playwright Tests / test-playwright (2, 2) (push) Failing after 11s
pre-commit / pre-commit (push) Failing after 1m59s
Test Backend / test-backend (push) Failing after 2m28s
Compose Smoke Test / test-compose (push) Failing after 11s
Playwright Tests / merge-reports (push) Failing after 2m19s
Docs / docs (push) Successful in 22s
Playwright Tests / test-playwright (1, 2) (push) Failing after 1m9s
Playwright Tests / test-playwright (2, 2) (push) Failing after 11s
pre-commit / pre-commit (push) Failing after 1m59s
Test Backend / test-backend (push) Failing after 2m28s
Compose Smoke Test / test-compose (push) Failing after 11s
Playwright Tests / merge-reports (push) Failing after 2m19s
It described the wrong object. A dashboard is a document that may hang on a
hallway tablet and in a desk browser at the same time, and only one of those
has fingers on it — so the flag moves off `DashboardDef.settings` and onto
`PanelDef` as a plain bool, ticked in the Panels dialog. `useCanvasRoot` takes
it as an argument rather than reading the document, and `/panel/{id}` is the
only surface with a panel to ask.
Dropping the message binding with it is deliberate: nothing drove it, and a
flow deciding whether a screen has fingers on it was never the point. A stored
`settings.touch` is inert rather than migrated, which `_check_settings`
skipping unknown names already guaranteed.
The rail was the other half. It had no touch behaviour at all and its 40px
buttons met neither branch of the 44/32 rule. `[data-touch] .dui-rail{-item}`
in `ui/core/core.css` spends the padding and the gap on the buttons instead,
so they reach the 44px target and the rail comes out taller at exactly the
same width — `RAIL_INSET` never moves, and the arrangement under it does not
either.
Also closes the panels-dialog icon gap: `DashboardSummary` carries the `icon`
now, so the dialog draws each assigned dashboard's rail glyph beside its
checkbox. `initials()` went from three identical copies in the looks to one in
`Dashboard/icons.ts`, so the dialog and the rail fall back the same way.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Va7ExQDtuwKN7kNpHhWWNQ
This commit is contained in:
@@ -155,7 +155,6 @@ set them.
|
||||
| **Theme** | `System`, `Light` or `Dark` | a `str` message |
|
||||
| **Palette** | the dashboard's colours, in order | a `list` message |
|
||||
| **Background** | the URL of an image | a `str` message |
|
||||
| **Touch** | touch friendly on or off | a `bool` message |
|
||||
| **Lock** | read-only on or off | a `bool` message |
|
||||
|
||||
They all work the same way, and both halves are optional:
|
||||
@@ -219,11 +218,6 @@ paintable as a reading.
|
||||
An image drawn under the widgets, covering the canvas. It replaces the ground
|
||||
the Glass look brings with it. Bound to a message, a flow decides the picture.
|
||||
|
||||
### Touch
|
||||
|
||||
Bigger controls, and nothing that only happens on hover. A phone gets this
|
||||
anyway, from its own width; a wall panel has no way to say so for itself.
|
||||
|
||||
### Lock
|
||||
|
||||
Lock is a read-only *surface*, not a permission. The controls stay visible,
|
||||
@@ -243,10 +237,16 @@ A wall tablet has no keyboard, so it pairs.
|
||||
|
||||
1. **Dashboards → Panels**, add a panel named after where it hangs, and tick
|
||||
the dashboards it shows. More than one and the screen draws a rail to switch
|
||||
between them.
|
||||
2. Point the device's browser at the link the dialog shows. The device then
|
||||
between them, with each dashboard's own icon on it.
|
||||
2. Tick **Touch friendly** if the screen is touched rather than pointed at.
|
||||
Controls and the rail grow to a finger's size — the rail gets taller without
|
||||
taking a wider column, so the arrangement does not move. It sits here rather
|
||||
than on a dashboard because it describes the screen: the same dashboard may
|
||||
also be open in a browser with a mouse. A phone gets it anyway, from its own
|
||||
width.
|
||||
3. Point the device's browser at the link the dialog shows. The device then
|
||||
displays a six-character code.
|
||||
3. Type that code into the same panel's **Pair device** field. The line under
|
||||
4. Type that code into the same panel's **Pair device** field. The line under
|
||||
it names what is holding the code. Check it is the screen you just hung,
|
||||
because approving adopts whatever answered. The screen picks the credential
|
||||
up within a few seconds and never asks again.
|
||||
|
||||
Reference in New Issue
Block a user