Skip to content

Vim/TUI redesign of Omarchy Settings panel#5880

Open
jweaver60 wants to merge 1 commit into
basecamp:omarchy-shellfrom
jweaver60:settings-vim-tui
Open

Vim/TUI redesign of Omarchy Settings panel#5880
jweaver60 wants to merge 1 commit into
basecamp:omarchy-shellfrom
jweaver60:settings-vim-tui

Conversation

@jweaver60
Copy link
Copy Markdown

@jweaver60 jweaver60 commented May 16, 2026

Summary

  • Redesigns the panel chrome to a TUI/vim aesthetic: [ 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 · meta notched-bracket section frames everywhere, and a vim-style modeline at the bottom that reads :bar NORMAL · 3 left widgets · Workspaces selected.
  • Adds full keyboard editing of the Bar tab: J/K reorder a focused widget within its section, Shift+1/2/3 move it across left/center/right zones, 19 jump to the section with that bracket index, dd removes (vim-style with a ~700 ms timeout), and ? opens a help overlay that lists every binding.
  • Adds mouse drag-and-drop for bar widgets: press-and-drag past 6 px starts a floating "ghost" chip that follows the cursor; rows render an accent insertion line above/below the cursor midpoint, and the trailing + Add widget placeholder accepts drops as "append to this section". Within-section drops reorder; cross-section drops respect the existing duplicate rules.
  • Consolidates ad-hoc row components (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.
  • Plugins tab splits the list into [1] FIRST-PARTY and [2] THIRD-PARTY frames, inlines version + author, and replaces the Switch control with a TUI [x]/[ ] glyph + loaded/disabled label.
  • FileViews watch ~/.config/omarchy/current/theme.name and <omarchyPath>/version so the sidebar footer and title-bar version label stay live across theme/version changes.

Defaults

image

Style

image

Bar

image

System

image

Plugins

image

Test plan

  • Open omarchy-shell-settings: sidebar shows ▶ Defaults, footer reads the live theme name and Quickshell · running, title bar shows [ Omarchy Settings ] — v<version>, modeline reads :defaults NORMAL · 3 groups
  • Bar tab → Tab into a widget row → J/K reorder within the section; modeline count + selection text update
  • Bar tab → focused widget → Shift+1 / Shift+2 / Shift+3 move it across left/center/right; non-duplicating widget across a zone that already has it silently no-ops
  • Bar tab → focused widget → dd removes; lone d shows d_ in the modeline and clears after ~700 ms
  • Bar tab → press-drag a widget row 10 px → ghost chip follows the cursor; release on another row inserts above/below depending on cursor Y; release on + Add widget appends; release outside any DropArea is a no-op
  • Press ? from any tab → help overlay opens; Esc or ? again dismisses
  • 19 from 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)
  • Defaults / Style / System: rows pick up [N] numeric prefixes per-section starting at 01; Space on a focused row applies the toggle/selection as before
  • Plugins tab: third-party row → Space toggles [x]/[ ] + loaded/disabled; first-party rows render enabled and refuse interaction

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.
Copilot AI review requested due to automatic review settings May 16, 2026 16:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants