Forked from omarchy.tailscale at the packaged commit (omarchy-dev 4.0.0.r1744.gf002044). The `tailscale` branch holds the pristine upstream subtree history so upstream changes can still be merged in; `master` is this fork. - Rename the plugin to pastilhas.offscale: manifest id/name, moduleName and ipcTarget, and display strings. Deliberately NOT renamed: the lowercase "tailscale" CLI invocations, the TailscaleIPs/TailscaleIPv6 JSON fields from `tailscale status --json`, and authorizeTailscaleOperator. Renaming those loads fine but silently breaks peer parsing. - TailscaleIcon.qml -> OffscaleIcon.qml, now rendering offscale-logo.png instead of the 3x3 dot grid, keeping the crossed/warning states. - Add OffscaleHero.qml: a copy of qs.Ui.PanelHero with a titleComponent slot, so the wordmark (offscale-text.png) can replace the title text. Otherwise byte-identical to the original, so it stays diffable. - Drop the cycling hero phrases entirely - the array, the 2.8s timer and the metaOpacity fade. - Show the local machine as a PeerRow of its own, so it gets the same layout and copy menu as tailnet peers. Adds `navigable` to PeerRow so that row stays out of the peers keyboard cursor. - Enlarge the bar icon: BarIconButton pins its icon to opticalCanvas, so opticalSize/slotSize are overridden alongside iconSize. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
# Offscale Omarchy Widget
|
||
|
||
Native Omarchy bar widget for Offscale.
|
||
|
||
## Features
|
||
|
||
- Shows Offscale connection state in the bar
|
||
- Left click opens a keyboard-friendly panel
|
||
- Right click toggles Offscale on/off
|
||
- Switch between available Offscale connections when multiple are available
|
||
- Browse machines from `tailscale status --json`
|
||
- Copy a machine's Offscale IP, host name, or DNS name
|
||
- Send files to a machine with Taildrop, when the tailnet allows file sharing
|
||
|
||
## 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
|
||
- `s`: send files to selected peer
|
||
- `t`: toggle Offscale
|
||
- `r`: refresh status
|
||
- `esc`: close
|
||
|
||
## Requirements
|
||
|
||
- `tailscale` CLI on `PATH`
|
||
- `wl-copy` for clipboard copy actions
|
||
- Taildrop enabled for the tailnet, to send files
|
||
|
||
## Receiving files
|
||
|
||
Incoming Taildrop files are saved to `~/Downloads` by the
|
||
`omarchy-tailscale-receive` service, which announces each one with a
|
||
notification (an image preview when the file is an image, and a click to open
|
||
it). The Offscale service install enables it; `omarchy tailscale receive`
|
||
runs the same loop by hand.
|
||
|
||
## Icon
|
||
|
||
Renders the Offscale 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 plugin enable omarchy.tailscale`, then place it with `omarchy bar move omarchy.tailscale` if desired.
|