Skip to main content

Module glyph

Module glyph 

Source
Expand description

The glyph look of the Key bindings screen: paints a KeyBindingsView as a panel of text rows, a column per slot, with the focused slot as a bar. Everything about the look lives here (where things go, the box characters, the colours); nothing here decides what the screen shows or does. Another look is another paint of the same view.

It is laid out for a 100 × 32 console (PANEL) and fits another (Layout): the panel keeps its 2-cell margin and reaches down to the row over the message. On a narrower panel the label column is only as wide as the longest label, with its keys that can’t change if the slots keep SLOT_MIN_W cells for a name (else those keys are cut), and the slot columns share the rest. Every slot is still shown: a key name too long for its column is cut, its last cell a …, and the not-mapped note, with no room after the slots, is written over them (they are all empty when it shows).

Rows that don’t fit the panel scroll: the list moves up just enough to keep the focused row (or Restore defaults) on the panel, and a ▲ or ▼ on the panel’s right border says rows are hidden above or below.

Functions§

paint
Paints view over the whole of buf.