Pane status
Each editing pane reserves one status row above its separator or the bottom prompt/echo area. Its left group shows buffer identity, clean/modified state, write access and logical position. The language mode aligns with the pane's right edge, separated by flexible space:
> config.rs -- RW -- L37 C3 Rust
> identifies the active editing pane; inactive panes retain their own position
and use the inactive status background. -- immediately after the name means
clean and ** means modified. RW means writable and RO means read-only.
The second -- separates access from position. The right label is the current
syntax mode or Text when the buffer uses plain text.
Line and column are one-based logical document coordinates. Columns count display cells with the buffer's tab stops and Unicode glyph widths; horizontal scrolling and relative line numbers do not change them. Shared-buffer panes share state and access but retain independent points. The status spans its original pane width regardless of gutter side or width.
When the row cannot contain both groups, it omits the language first. It then
compacts position to L37:3 and clips the name using terminal-cell boundaries.
At smaller widths it omits position and keeps complete state/access indicators
as space permits. Partial access tokens or truncated numeric positions are not
shown. Unusable geometry suspends presentation; complete groups return when
space becomes available. Prompts and tree rows keep their own data and bounds.
The existing palette.status, palette.status_inactive and
palette.status_text roles control status colors. Rendering observes the live
buffer and view without changing text, focus, history or saved bytes.
With the modal startup profile, the selected editing pane prefixes its status
with NORMAL or INSERT. This state has priority over identity, language and
position when space is limited. Panes below six cells show N or I; at six
or seven cells they keep the complete state label. The Emacs status is unchanged.
Where the terminal accepts DECSCUSR, Normal uses a steady block and Insert a
steady bar. Exit resets the terminal's configured cursor shape; the status label
remains authoritative when cursor-shape feedback is unavailable.