Files
omarchycn/shell/plugins/panels/tailscale
David Heinemeier Hansson 182330465a Simplify omarchy-bar into a bar-settings and bar-plugin split
The omarchy-bar command had grown three overlapping ways to inspect the
bar (show/layout/list/options, plus selected/active/available/widgets
aliases) and mixed layout mutation in with bar-level settings. Untangle
it into two focused commands:

- omarchy-bar keeps only the bar-level settings that write shell.json:
  use, reset, position, transparent, and settings. reset now delegates
  to `use omarchy.bar` rather than duplicating the del(.bar.id) write.
- omarchy-bar-plugin owns all layout mutation: add, move, remove, set,
  and replace, with the placement flags and jq resolve/anchor helpers.
  `omarchy bar plugin ...` routes here via the dispatcher.

Drop the inspection commands entirely: the layout is visible on the bar,
the config is shell.json, and widget/option ids come from
`omarchy plugin list`. Nothing consumed the show output programmatically
except tests. This also removes omarchy-bar-position, whose jq write was
a duplicate of `omarchy bar position`.

Strip environment-invariant guards (require_command, require_omarchy_path)
that defended against jq or OMARCHY_PATH being absent — neither happens on
a real system. Keep the user-input validation (--section/--index) and the
atomic shell.json write.

Update callers (service install/remove, refresh-shell, plugin-clone,
plugin enable), keybindings, the menu, tests, and docs to the new split.
2026-07-17 16:28:17 -07:00
..
2026-07-17 10:20:08 -07:00
2026-07-17 15:20:55 -07:00
2026-06-02 11:17:13 -04:00

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 / k or arrows: move cursor
  • enter / space: activate current row
  • c: copy selected peer IP
  • n: copy selected peer name
  • d: copy selected peer DNS name
  • t: toggle Tailscale
  • r: refresh status
  • esc: close

Requirements

  • tailscale CLI on PATH
  • wl-copy for 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 plugin 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.