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.
39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# 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.
|