docs: the readouts strip hides when empty
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
5653a3a66b
commit
d82d9f8213
9 files changed
+46
-22
No files matched your search
@@ -148,20 +148,25 @@ Part of [CLAUDE.md](../../CLAUDE.md). These are rules that cost a defect to lear
|
||||
characters, which made the readouts' minimum width 304 px; that pushed the sidebar to 304 px
|
||||
(`dock_w=304`) and defeated the 280 pin. Widening any cell is the same
|
||||
trap -- read `[readouts] ... dock_w=` (must be 280) and the `dock cursors:` / `dock measures:` `fits=`, and for the Events block `dock events: ... dock_w=` (268).
|
||||
- **The readouts strip is a fixed 26 px, scrolls sideways, and is shown whenever the dock is not beside the plot.**
|
||||
- **The readouts strip is a fixed 26 px, scrolls sideways, and is shown only when the dock is not beside the plot and there is something to read.**
|
||||
`readouts_strip` (a `GtkScrolledWindow`, `height-request` 26, horizontal `external`, vertical `never`) sits
|
||||
in `left_column` between `plot_overlay` and `badge_bar`. Its height is a request and not a measurement of
|
||||
its chips (the buttons are trimmed by `button.udpscope-strip-button` in `ui_widgets.cpp`, or Adwaita's
|
||||
34 px flat button would push it past 26), the chips' cells are fixed-width ellipsized labels like the
|
||||
dock's, and an overflow scrolls with no bar taking height: "layout must not depend on content" for the
|
||||
strip, the same as for the badge bar. It is *visible* exactly when `show-sidebar` is false **or** the split view is `collapsed`
|
||||
strip, the same as for the badge bar. It is *visible* exactly when (`show-sidebar` is false **or** the split view is `collapsed`)
|
||||
**and** (the cursors are on **or** there is a measurement)
|
||||
(`sync_readouts_strip()`, from the tick after the wish is re-asserted and before `set_collapsed()` -- so
|
||||
`show-sidebar` is the wish and not the split view's collapse-time write, and `collapsed` is the previous
|
||||
frame's value). Hidden only with a wide window and the dock beside the plot, so the plot's 26 px go to one
|
||||
pane of readouts and never both; in a collapsed window the dock is an overlay on the plot and the strip
|
||||
frame's value). Hidden with a wide window and the dock beside the plot, so the plot's 26 px go to one
|
||||
pane of readouts and never both, and hidden with nothing to read (cursors off, no measurement). That last
|
||||
is a deliberate, user-requested exception to "disable, do not hide": an empty strip is 26 px of nothing, and
|
||||
the dock keeps both blocks on screen so the empty state is never invisible; the strip's two groups and the
|
||||
separator follow the same rule (`strip_cursor_group` with the cursors, `strip_measure_group` with
|
||||
measurements, `strip_sep` with both). In a collapsed window the dock is an overlay on the plot and the strip
|
||||
stays, overlay open or not. The plot is 26 px shorter while it shows; that is the dock's and the window's
|
||||
state moving the layout, not content. Reading `h=26` with `visible=1` (and `h=0` with `visible=0`) in
|
||||
`strip:` is the assertion, and `visible_ok=1` that `visible` equals `expected`.
|
||||
`strip:` is the assertion, `visible_ok=1` that `visible` equals `expected` and `groups_ok=1` that the groups agree.
|
||||
- **Trace slots are identified by signal name, not channel index.** Enabling a signal
|
||||
or a new CONFIG renumbers the channel list, so an index would silently re-point a
|
||||
trace at another signal.
|
||||
|
||||
Reference in new issue
Block a user