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).
Tailscale Omarchy Widget
Native Omarchy bar widget for Tailscale.
Features
- Shows Tailscale connection state in the bar
- Left click opens a keyboard-friendly panel
- Right click toggles Tailscale on/off
- Switch between available Tailscale connections when multiple are available
- Browse machines from
tailscale status --json - Copy a machine's Tailscale IP, host name, or DNS name
Keyboard shortcuts
Inside the panel:
j/kor arrows: move cursorenter/space: activate current rowc: copy selected peer IPn: copy selected peer named: copy selected peer DNS namet: toggle Tailscaler: refresh statusesc: close
Requirements
tailscaleCLI onPATHwl-copyfor clipboard copy actions
Icon
Renders the Tailscale mark natively as a theme-colored 3×3 dot grid, matching the official SVG silhouette while avoiding tiny-SVG rendering quirks in the bar.
Add to the bar
This widget ships as first-party plugin omarchy.tailscale. Add it with omarchy bar add omarchy.tailscale, or add an entry such as { "id": "omarchy.tailscale" } to one of the bar.layout sections in ~/.config/omarchy/shell.json; the shell reloads shell.json automatically.