help: the search block's (i) on its header, a 12 px mark, and a real search page
This commit is contained in:
1 parent
d549223889
commit
fe499bfe41
10 files changed
+178
-53
No files matched your search
@@ -395,15 +395,17 @@ Two lines of the self-check output are assertions in disguise:
|
||||
on the first tick for the same reason the toolbar's are. **Both must read `(ok)`**: the page titles are
|
||||
empty on purpose, so an icon that does not resolve leaves a *blank* pill, and a blank pill looks
|
||||
exactly like a page with nothing in it.
|
||||
- `help layer: contextual=on hints=11 ids={events plot status cursors measures trigger trigger_advanced events_record signals signals_config window} icon=dialog-information-symbolic(ok) hint=16x16; tour=idle steps=5 step=0 auto=1 requested=0` (in the exit
|
||||
- `help layer: contextual=on hints=12 ids={events plot status cursors measures trigger trigger_advanced events_record trigger_search signals signals_config window} icon=dialog-information-symbolic(ok) hint=12x12; tour=idle steps=5 step=0 auto=1 requested=0` (in the exit
|
||||
dump, beside `switcher:`) — the help affordance layer as the last tick found it. **`hints=` must equal
|
||||
the number of ids**, and the ids are the surfaces the contextual help is on: ten of the window
|
||||
the number of ids**, and the ids are the surfaces the contextual help is on: eleven of the window
|
||||
itself, and `math` only while the math editor is open (its heading lives in a builder that is rebuilt
|
||||
on every opening, so it is not one of the window's own). Three of the ten are not a pane's *heading*
|
||||
on every opening, so it is not one of the window's own). Four of the eleven are not a pane's *heading*
|
||||
but the row of a specific control — `events_record` (the "record events" switch in the trigger
|
||||
panel), `trigger_advanced` (the pre-trigger share row) and `signals_config` (the signals pane's hint
|
||||
line, whose box exists so a hint can join it) — which is the rule the layer follows: a hint is a
|
||||
sibling of the thing it explains and never an overlay on it. The layer is **off by default**
|
||||
panel), `trigger_advanced` (the pre-trigger share row), `trigger_search` (the *header* of the search
|
||||
block's expander, which is what lets it be on screen while the block is collapsed) and
|
||||
`signals_config` (the signals pane's hint line, whose box exists so a hint can join it) — which is
|
||||
the rule the layer follows: a hint is a sibling of the thing it explains and never an overlay on
|
||||
it. The layer is **off by default**
|
||||
(`contextual_help` in `settings.toml` is false for a missing file), so a fresh-config run reads
|
||||
`contextual=off hints=0` and that line above is the state *after* the Help row was switched on;
|
||||
`contextual=off` beside a non-zero count is the toggle not having removed its buttons — **off is
|
||||
@@ -412,11 +414,17 @@ Two lines of the self-check output are assertions in disguise:
|
||||
is `dialog-information-symbolic`, the plain information mark; `help-about-symbolic` is the status
|
||||
bar's ⓘ and a second meaning for it is what the app's own icons exist to avoid. `hint=WxH` is the
|
||||
size the **first visible** hint was allocated, measured the way every other rectangle here is
|
||||
(`gtk_widget_compute_bounds()`), and **16x16 is the reading a "much tinier" mark must keep**: the
|
||||
class zeroes the outer `menubutton` node, its `button` subnode and the glyph, which is what a
|
||||
`GtkMenuButton` needs (its measure ignores both `min-width` on the widget and a size request) — the
|
||||
default 34x34 is the number to compare against. Hints inside a collapsed expander are skipped, so the
|
||||
number is never a hidden widget's 0x0. `tour=` is `running`/`idle` with the plan's `steps=` and the
|
||||
(`gtk_widget_compute_bounds()`), and **12x12 is the reading a "much tinier" mark must keep**: the
|
||||
class zeroes the outer `menubutton` node and its `button` subnode (a `GtkMenuButton`'s measure
|
||||
ignores both `min-width` on the widget and a size request), and the glyph is a third node *below*
|
||||
the subnode — `menubutton > button > box > image`, read off the CSS node dump. The direct-grandchild
|
||||
form `> button > image` matches **nothing** and silently leaves the glyph at its natural 16 px,
|
||||
which is the 16x16 an earlier version shipped by mistake; and there is no lower floor to find
|
||||
(the symbolic glyph renders at any request, measured down to 4 px), so 12 px is a legibility
|
||||
choice. The default 34x34 is the number to compare against. A hint inside a collapsed expander's
|
||||
*child* is skipped, so the number is never a hidden widget's 0x0 — but a hint on the expander's
|
||||
*header* is in the widget tree and reads its real size while the block is collapsed (see the
|
||||
`collapsed search:` entry below). `tour=` is `running`/`idle` with the plan's `steps=` and the
|
||||
current `step=`; `auto=1` is the first-run auto-start having fired *in this process* — the flag is
|
||||
`tour_seen` in `settings.toml`, so a second run against the same config directory reads `auto=0` —
|
||||
and `requested=1` is the **chooser's** tour having handed over (`Config::tour_pending`), which is
|
||||
@@ -506,7 +514,7 @@ Two lines of the self-check output are assertions in disguise:
|
||||
the saved-source list and the waveforms page's action row; the form's `AdwEntryRow`s are *not*
|
||||
hosts (a row is not a box and its editor is internal, so a hint cannot join it as a sibling) and
|
||||
the connection fields are explained by their group's `description` instead. `hint=WxH` is the
|
||||
same 16x16 the window's line reads: the button is `ui_impl::context_help_button()`, the one
|
||||
same 12x12 the window's line reads: the button is `ui_impl::context_help_button()`, the one
|
||||
`udpscope-hint` affordance both windows draw.
|
||||
- `[sources] tour: first run -- auto_started=1 in the chooser` then
|
||||
`[sources] chooser tour: visible=1 steps=5 step=0` (stderr) — **a first run's tour starts in the
|
||||
@@ -751,16 +759,16 @@ two also catch a row whose accelerator went missing. `settings=` must be a real
|
||||
touches anything: `auto_started=1 visible=1` is the tour that started itself, and the parenthetical is
|
||||
`settings.tour_seen` as the process found it — `tour_seen already set` with `auto=0` is the *second*
|
||||
run against the same config directory, which is the assertion that the flag persisted. Then:
|
||||
- `[helpui] contextual on: hints=11 ids={events plot status cursors measures trigger trigger_advanced events_record signals signals_config window} hint=16x16` —
|
||||
the eleven "(i)" affordances, by id, and the size the first visible one was allocated. Ten are the
|
||||
window's own surfaces (three of them a specific control's row rather than a heading — see the
|
||||
`help layer:` entry) and the eleventh is `math`, which is present only while the math editor
|
||||
window is open; it reads 10 with the editor shut. **On a fresh config this reads `hints=0 ids={}`
|
||||
- `[helpui] contextual on: hints=12 ids={events plot status cursors measures trigger trigger_advanced events_record trigger_search signals signals_config window} hint=12x12` —
|
||||
the twelve "(i)" affordances, by id, and the size the first visible one was allocated. Eleven are
|
||||
the window's own surfaces (four of them a specific control's row rather than a heading — see the
|
||||
`help layer:` entry) and the twelfth is `math`, which is present only while the math editor
|
||||
window is open; it reads 11 with the editor shut. **On a fresh config this reads `hints=0 ids={}`
|
||||
and `hint=0x0`**, because the layer is off by default; the example is the state after the row below
|
||||
was switched on, and a fresh run's `hints=0` beside a `settings.toml` with no `contextual_help`
|
||||
key is the default being read rather than assumed. **`hint=16x16` is the "much tinier" assertion**
|
||||
key is the default being read rather than assumed. **`hint=12x12` is the "much tinier" assertion**
|
||||
— the default menu-button mark is 34x34 (see `help layer:`), and anything near that is the class
|
||||
not reaching the outer `menubutton` node.
|
||||
not reaching the glyph's own node.
|
||||
- `[helpui] main view: rows=7 help_row=1` and one `[helpui] entry N '<label>' accel='<key>' order=O`
|
||||
per row of the **Help view** — `entry 0 'Back'` with no accelerator and then the four the submenu
|
||||
promises: `entry 1 'Keyboard shortcuts' accel='Ctrl+/'`, `entry 2 'Documentation' accel='F1'`,
|
||||
@@ -771,10 +779,10 @@ two also catch a row whose accelerator went missing. `settings=` must be a real
|
||||
`toggle=` being the contextual-help row's check, which *is* `settings.contextual_help`. It reads `0`
|
||||
on a fresh config (the default) and `1` on one where the setting is on; the probe's next step drives
|
||||
it both ways, which is why the example here is the `1` side.
|
||||
- `[helpui] toggle: off -> hints=0 ids={}; on -> hints=11 ids={…}; setting=on` — the toggle's effect
|
||||
- `[helpui] toggle: off -> hints=0 ids={}; on -> hints=12 ids={…}; setting=on` — the toggle's effect
|
||||
read both ways through the row itself. **`hints=0` with `off` is the assertion**: off means the
|
||||
affordances are *gone*, not greyed, so anything else is a row that hid its buttons instead of
|
||||
removing them. The count comes back to the same eleven, which is the other half — a toggle that
|
||||
removing them. The count comes back to the same twelve, which is the other half — a toggle that
|
||||
removed and could not restore is a one-way switch.
|
||||
- `[helpui] tour started from the probe: visible=1 steps=5 step=0` — the tour started the way
|
||||
`Ctrl+T` starts it. `steps=5` is the plan: the table's five steps whose surface is on screen or
|
||||
@@ -804,6 +812,13 @@ two also catch a row whose accelerator went missing. `settings=` must be a real
|
||||
rather than leaving them to find the mode. `trigger_panel`'s height differs between them (508 px in
|
||||
configuration mode against 72 locked — the body is replaced by the summary), which is the check
|
||||
that the mode really moved.
|
||||
- `[helpui] collapsed search: expanded=0 mapped=1 mapped_header=1 hint=12x12` (the last step, in
|
||||
configuration mode, after the figures line) — the search block's "(i)" read on the expander's
|
||||
**header** with the block **collapsed**. **`expanded=0 mapped=1` is the assertion**: a hint on the
|
||||
expander's own *child* is not in the widget-parent chain while the block is collapsed and would
|
||||
read `mapped=0` (and `0x0`), which is exactly why the header box exists (`search_head` in
|
||||
`src/ui/trigger-panel.ui`) and why the hint joins it as its last child. `mapped_header=` is the
|
||||
header box beside it, and `hint=WxH` is the same 12x12 the layer's own line reads.
|
||||
- `[toursurface] …` (stderr, `UDPSCOPE_PROBE_TOUR_SURFACE_MS`) — a stop that stands on a page it is
|
||||
not on, entered from the page it is not on. It puts the sidebar on **Measure**, starts the window's
|
||||
tour, and walks it a stop per tick (400 ms), because a stack allocates the new page's widgets on
|
||||
|
||||
Reference in new issue
Block a user