Repository navigation
feat(tui): cockpit chrome, adaptive glyphs, pane-wrapped full screens - #70
Merged
Merged
Conversation
Replaces the bordered-panel look with a data-dashboard one: panes are rule-separated instead of boxed, so chrome costs two rows and zero columns per pane and columns go back to content. - glyphs: new package with nerd/unicode/ascii vocabularies and a conservative auto-detection (only terminals that bundle a Nerd Font symbol fallback, or an explicit env signal, select nerd). Nothing in the UI hardcodes a symbol any more. - styles: full Catppuccin surface ramp (Crust/Mantle/Surface0-2), extra hues, and cockpit tokens (Rule, PaneTitle, ChipBg, TrackAdd/Del). - components: Pane (title + accent bar + hairline rule, exact frame), Chip/StateChip/Segment, Hint/FitHints, and RowLine-compatible padding. - header: two groups (panels, screens), only the active tab carries a fill, hotkeys are dim, count badges; the strip no longer duplicates the branch, and "vdev" is gone (version formatting fixed). - status bar: prioritised segments (branch, divergence, working-tree counts, path, repo, provider) with a right-aligned key legend that degrades from the left. - layout: panel heights charged for the two-row pane chrome; identical arithmetic at every breakpoint.
Log rows are a fixed grid (graph, hash, age, subject, refs) with the subject as the only bright column; refs are right-aligned chips that drop before the subject. Branch rows give the name its own column and turn tracking into a chip, so name and message stop fusing into one blob. Status rows show the real porcelain code, a bright filename and a right-aligned directory, and a clean tree is stated in the middle of the pane. RowLine now pads inside the row style, so the cursor background spans the whole row, and the cursor is drawn as an accent bar from the glyph set.
screenChrome wraps every full-screen view (PRs, Issues, Actions, Dashboard, Worktrees, Stash, Refs, Notifications) in pane chrome (title row, accent bar, hairline rule), dropping duplicated section titles. Header rebuilt by density: hotkeys outrank the meta; brand flush-left aligned with pane bars; count badges removed so hotkeys never fuse with counts. Glyphs plumbed: tui.glyphs config key (fallback to appearance.glyphs), palette toggle-theme/toggle-icons persisted, ZGIT_TUI_GLYPHS override via glyphs.Detect; notifications/refs/porcelain marks draw from glyphs.Current(). tree.go stops embedding ref labels in the graph (log row draws whole chips inside budget); branchLine keeps its divergence chip; status dirs truncate at path boundaries (.../structure/); goldens regenerated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TUI cockpit polish: every full-screen view wears pane chrome (title row, accent bar, hairline rule); header rebuilt by density with hotkeys outranking meta; glyphs plumbed from config (tui.glyphs / appearance.glyphs) with palette toggle-theme and toggle-icons persisted, plus ZGIT_TUI_GLYPHS override; log refs render as whole chips inside budget; status dirs truncate at path boundaries. gofmt clean, go vet green, go test ./... green, goldens regenerated via UPDATE_GOLDEN=1.