Commit Graph
16 Commits
Author SHA1 Message Date
Kevin McConnell 47c5f12fb9 Fix panel array guards
The `Bar` uses a `Repeater` when building out the models. This has the
effect of marshalling the configuration, and causing JSON arrays to
become sequence wrappers.

A couple of the plugins had been checking for the existence of array
values with `Array.isArray`, which fails for the sequence wrappers,
causing the values to be ignored. This breaks associated functionality
(the "hide" and "pin" actions in the systray had stopped working, as had
exit node selection in Tailscale).

Switching the guards to use `instanceof Array` works correctly for
sequence values (as well as arrays).
2026-07-14 15:36:43 +01:00
David Heinemeier Hansson cc0a91553d 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 51075ce0f8 Make sure we never get in-panel scrolling when we shouldn' 2026-06-20 22:19:53 +02:00
Ryan Hughes 4123e73a96 Enable plugin hot reloading for add / remove 2026-06-06 13:25:54 -04:00
David Heinemeier Hansson 2dd03f9b3b Polish bar icon spacing 2026-06-06 16:43:00 +02:00
David Heinemeier Hansson e4500b96ac Improve Tailscale panel controls 2026-06-06 15:48:56 +02:00
Ryan Hughes c0e4c80f55 Bring on gradient borders 2026-06-02 11:17:13 -04:00
David Heinemeier Hansson 490e80717e Refine Mullvad exit node picker 2026-05-28 21:21:33 +02:00
David Heinemeier Hansson c583da16c9 Group Mullvad exit nodes by country 2026-05-28 21:21:33 +02:00
David Heinemeier Hansson 2faa453f22 Replace bar settings with inline config panel 2026-05-27 15:11:36 +02:00
David Heinemeier Hansson efc1007d08 Separate transparent bar foreground from panel text 2026-05-27 14:23:13 +02:00
David Heinemeier Hansson e3939e6b76 Use Tab to switch bar panels 2026-05-27 10:40:32 +02:00
David Heinemeier Hansson 1ff1d081a2 Massage it 2026-05-27 10:29:01 +02:00
David Heinemeier Hansson c7c14207f7 Fix icon placement 2026-05-27 08:56:29 +02:00
David Heinemeier Hansson 4dca35f615 Add exit nodes to the panel 2026-05-27 08:44:32 +02:00
David Heinemeier Hansson f2d3456979 Add Tailscale panel connection controls 2026-05-26 22:07:20 +02:00