Vim/TUI redesign of Omarchy Settings panel#5880
Open
jweaver60 wants to merge 1 commit into
Open
Conversation
Redesigns the panel chrome to a TUI/vim aesthetic, adds full keyboard editing of the Bar tab (J/K reorder, Shift+1/2/3 zone move, 1-9 section jump, dd remove, ? help), and adds mouse drag-and-drop for bar widgets. Consolidates ad-hoc row components into a smaller, consistent set used across all tabs.
Contributor
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
[ Omarchy Settings ] — v<ver>title bar, sidebar without glyphs (just a▶marker on the active row, plus a footer showing current theme + status),[N] LABEL · metanotched-bracket section frames everywhere, and a vim-style modeline at the bottom that reads:bar NORMAL · 3 left widgets · Workspaces selected.J/Kreorder a focused widget within its section,Shift+1/2/3move it across left/center/right zones,1–9jump to the section with that bracket index,ddremoves (vim-style with a ~700 ms timeout), and?opens a help overlay that lists every binding.+ Add widgetplaceholder accepts drops as "append to this section". Within-section drops reorder; cross-section drops respect the existing duplicate rules.StyleToggleRow,StyleOptionTile,StyleChip,FontRow,DefaultsGroup,WidgetCard,PluginRow) into a smaller, consistent set:BracketedFrame,NumberedToggleRow,NumberedRadioRow,FontPickerRow,RadioSelector/RadioOption,BracketChip,BracketIcon,WidgetRow,PluginInfoRow. Defaults / Style / System / Plugins all re-render through the new components — same data, same disk reads, same apply scripts.[1] FIRST-PARTYand[2] THIRD-PARTYframes, inlines version + author, and replaces theSwitchcontrol with a TUI[x]/[ ]glyph +loaded/disabledlabel.FileViews watch~/.config/omarchy/current/theme.nameand<omarchyPath>/versionso the sidebar footer and title-bar version label stay live across theme/version changes.Defaults
Style
Bar
System
Plugins
Test plan
omarchy-shell-settings: sidebar shows▶ Defaults, footer reads the live theme name andQuickshell · running, title bar shows[ Omarchy Settings ] — v<version>, modeline reads:defaults NORMAL · 3 groupsJ/Kreorder within the section; modeline count + selection text updateShift+1/Shift+2/Shift+3move it across left/center/right; non-duplicating widget across a zone that already has it silently no-opsddremoves; lonedshowsd_in the modeline and clears after ~700 ms+ Add widgetappends; release outside any DropArea is a no-op?from any tab → help overlay opens; Esc or?again dismisses1–9from the body jumps focus to the section with that bracket index (Defaults: 1 Terminal / 2 Browser / 3 Editor; Bar: 1/2/3 sections + 4 Position + 5 Center anchor; Style/System/Plugins likewise)[N]numeric prefixes per-section starting at 01; Space on a focused row applies the toggle/selection as before[x]/[ ]+loaded/disabled; first-party rows render enabled and refuse interaction