[menu draw] restyle menus with shared drawBox and block borders - #3153
Draft
saulbert wants to merge 1 commit into
Draft
[menu draw] restyle menus with shared drawBox and block borders#3153saulbert wants to merge 1 commit into
saulbert wants to merge 1 commit into
Conversation
Move drawBox() and the disp_boxchars option from sidebar.py into cliptext.py so every box shares one primitive; add top= and shadow= params. Use a symmetric block charset (down from a heavy-bottomed one). Apply the box styling to the menu: - submenus and the command helpbox now draw via drawBox - level-1 dropdown takes the menubar color and omits its top line so it connects to the menubar; nested submenus are a darker shade - box edges cast a shadow one shade darker than the fill - helpbox keystroke moved to a right-aligned chip - widen the submenu box by one cell so an ambiguous-width note glyph does not overrun the right edge The status sidebar omits its bottom line to connect to the status bar. New theme options: color_submenu, color_menu_shadow, color_menu_help_key (with ascii8/asciimono/adwaita overrides). Retire disp_menu_boxchars. Fix menudraw() to forward keyword args. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Status: proposal / WIP — not happy with the look yet. Opening to preserve the work for discussion; the visual design needs more iteration before this would merge.
What this does
Unifies box drawing across VisiData and restyles the menu to match the status-box look.
drawBox()and thedisp_boxcharsoption move fromsidebar.pyintocliptext.py(alongsideclipdraw). Addstop=andshadow=params.drawBoxis intentionally not re-exported as a global — callvd.drawBox.disp_boxcharsis now symmetric (▐▌▄▀▗▖▝▘) instead of the old heavy-bottom set.drawBox. The level-1 dropdown uses the menubar color and drops its top line to connect to the menubar; nested submenus are a darker shade. Edges cast a shadow one shade darker than the fill. The helpbox keystroke is a right-aligned chip.⎘) doesn't overrun the right edge.New theme options
color_submenu,color_menu_shadow,color_menu_help_key(withascii8/asciimono/adwaitaoverrides). Retiresdisp_menu_boxchars. Also fixesmenudraw()to forward keyword args.Open questions / not-yet-resolved
Testing
make test→ 12/12 groups pass. Menu/sidebar rendering verified manually in a terminal (golden tests don't cover interactive menu draw).🤖 Generated with Claude Code