Commit Graph
138 Commits
Author SHA1 Message Date
David Heinemeier HanssonandClaude Fable 5 e1cdc9005e Route panel hotkeys through the shell IPC target so they survive reloads
Bar-widget panels (audio, bluetooth, network, power, monitor) used to be
toggled via their own per-plugin IpcHandler targets. Quickshell resolves
duplicate targets first-handler-wins, so after a plugin or bar reload the
stale handler of the destroyed widget instance kept claiming the target
and the hotkeys went dead.

The shell root's IpcHandler lives outside the reload cycle, so summon,
hide, and toggle now go through `omarchy-shell shell toggle <plugin>`
and the shell routes to the live widget instance via the bar's slot
registry. Panel plugins that are also panel/overlay/menu kinds keep
using the panel loader path. Failures to find a live widget are logged
so a widget missing from the bar layout stays diagnosable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 09:17:54 -07:00
David Heinemeier HanssonandClaude Fable 5 6bb3cb666b Rename debugModuleSlots to moduleSlots
The slot registry is about to become the routing table for panel
hotkeys, so it has outgrown its debug-only name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 09:17:37 -07:00
David Heinemeier Hansson 055ffaccd4 Split omarchy-plugin into siblings and consolidate bar config into omarchy-bar
omarchy-plugin mixed plugin lifecycle, clone/edit, and bar-layout mutation.
The bar layout was mutated by two separate engines (an embedded Python
mutate_bar here and jq in omarchy-config-shell-bar), each with its own
manifest walker.

- omarchy-plugin is now a ~220-line router; clone and edit move to
  omarchy-plugin-clone and omarchy-plugin-edit, matching the existing
  plugin-{source,add,update,remove,available,validate,scan} sibling pattern
- omarchy-config-shell-bar is replaced by omarchy-bar, the single bar engine
  (show/layout/list/options/use/reset/add/move/remove/set/replace/position/
  transparent/settings) with one jq pipeline; the Python mutate_bar and its
  python3 dependency are gone
- omarchy-plugin-catalog is the shared manifest scanner used by omarchy-bar
  (widget/option enumeration, add validation) and omarchy-plugin-clone
  (source enumeration), replacing three find|jq re-implementations
- service install/remove and refresh-shell call omarchy-bar; docs and tests
  updated to the new command surface
2026-07-02 11:10:24 -07:00
David Heinemeier Hansson 1db2323fd9 Remove legacy bar widgets 2026-06-23 16:22:47 +02:00
David Heinemeier Hansson 3fd36802ac Simplify the system-update check
No need for a panel, just focus on the main omarchy package
2026-06-23 15:59:27 +02:00
David Heinemeier Hansson 8ae975357a Make sure we never get in-panel scrolling when we shouldn' 2026-06-20 22:19:53 +02:00
Ryan Hughes 227240d280 Collapse inactive indicator spacing 2026-06-14 21:12:42 -04:00
Ryan Hughes 0f5e81143e Move current theme state to local state 2026-06-09 19:48:37 -04:00
Ryan Hughes 4c17f6a675 Merge remote-tracking branch 'origin/omarchy-shell' into omarchy-4
# Conflicts:
#	bin/omarchy-debug
#	bin/omarchy-upload-log
2026-06-06 13:28:47 -04:00
David Heinemeier Hansson b83505d738 More small adjustments 2026-06-06 17:21:09 +02:00
David Heinemeier Hansson 166b395203 Polish bar icon spacing 2026-06-06 16:43:00 +02:00
Ryan Hughes 2c44fdf5f3 Merge remote-tracking branch 'origin/omarchy-shell' into omarchy-4 2026-06-05 18:35:34 -04:00
Ryan Hughes 1409f85745 Make the bar more easily swapable 2026-06-05 16:49:30 -04:00
Ryan Hughes e5516d882d Simplify system update popover 2026-06-04 19:23:54 -04:00
Ryan Hughes 20d79fe443 Improve update widget 2026-06-04 18:38:25 -04:00
Ryan Hughes 0804962619 Improve update and migration flow 2026-06-04 18:38:25 -04:00
David Heinemeier Hansson 79470dde92 Refine shell panel and lock theming 2026-06-03 22:14:48 +02:00
David Heinemeier Hansson 7a47604e27 Show which panel is open 2026-06-03 14:48:47 +02:00
David Heinemeier Hansson a8080d4016 All click targets should have click hands 2026-06-03 11:27:09 +02:00
David Heinemeier Hansson 198d01f8bc Reveal all hidden tooling when hovering over the center part of the bar 2026-06-03 08:23:32 +02:00
Ryan Hughes 98ba4a9697 Bring on gradient borders 2026-06-02 11:17:13 -04:00
David Heinemeier Hansson 5812a7d04a No leading zeros on the date in the bar 2026-06-01 11:59:30 +02:00
Ryan Hughes 5bab2dd230 Run Voxtype configure from dictation indicator 2026-05-29 14:36:26 -04:00
David Heinemeier Hansson 6be9b8b6d9 Fix night light indicator state 2026-05-29 09:42:24 +02:00
David Heinemeier Hansson 5104daf212 Restore gap 2026-05-28 21:21:33 +02:00
Ryan Hughes 801c2b00c8 Fix and improve bar drag and drop XP 2026-05-27 22:59:46 -04:00
Ryan Hughes 752ecaf6e7 add model-usage plugin 2026-05-27 16:44:24 -04:00
David Heinemeier Hansson dfc450f2cb Fix bar config panel reload 2026-05-27 15:20:30 +02:00
David Heinemeier Hansson bc32980cca Replace bar settings with inline config panel 2026-05-27 15:11:36 +02:00
David Heinemeier Hansson 7ef5999038 Tighten center bar widget spacing 2026-05-27 14:25:28 +02:00
David Heinemeier Hansson d6fa701543 Separate transparent bar foreground from panel text 2026-05-27 14:23:13 +02:00
David Heinemeier Hansson a09cfc3460 Fix bar module position reset on click 2026-05-27 13:58:07 +02:00
David Heinemeier Hansson b9e82a5e53 Hide Dropbox tray icon when bar widget is present 2026-05-27 13:48:40 +02:00
David Heinemeier Hansson 419cd37e14 Fix transparent bar contrast timing 2026-05-27 12:36:45 +02:00
David Heinemeier Hansson 9f81a65732 Add visible bar drag and drop 2026-05-27 12:36:13 +02:00
David Heinemeier Hansson b03a7cc73c Use Tab to switch bar panels 2026-05-27 10:40:32 +02:00
David Heinemeier Hansson 67dd7a2953 Add Tailscale panel connection controls 2026-05-26 22:07:20 +02:00
David Heinemeier Hansson 9100bc96be Launch shell actions through Hyprland 2026-05-26 18:50:24 +02:00
Ryan Hughes c70ed3cdcd Add tailscale plugin 2026-05-26 11:27:11 -04:00
David Heinemeier Hansson 492b420aad Open recording menu from indicator 2026-05-26 02:11:45 +02:00
David Heinemeier Hansson 3c8aba55e5 Fix tray DBus menu activation 2026-05-25 16:57:53 +02:00
David Heinemeier Hansson f05ad16eaf Add shell bar runtime regression coverage 2026-05-25 15:09:37 +02:00
David Heinemeier Hansson 10898aea16 Move panel plugins under panels 2026-05-25 14:47:08 +02:00
David Heinemeier Hansson 829c1fa4f7 Add shell plugin model tests 2026-05-25 14:18:39 +02:00
David Heinemeier Hansson b48dca29e6 Make sure system updates sit in the right place 2026-05-24 15:44:50 +02:00
David Heinemeier Hansson cac3342868 Fix clicks 2026-05-24 15:44:38 +02:00
David Heinemeier Hansson a910b5dcb4 Give reminders an indicator and a full QS flow 2026-05-23 18:04:21 +02:00
David Heinemeier Hansson b92a44d572 Persist StayAwake indicator state 2026-05-23 15:15:55 +02:00
David Heinemeier Hansson 5fc4921cfc Make defaults live where defaults always live 2026-05-23 11:28:36 +02:00
Ryan Hughes 4f0bdb790b Make built-in widgets plugins 2026-05-23 04:32:20 -04:00