Files
pastilhasandClaude Opus 5 0912b2b50d Rebrand to Offscale and rework the panel header
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>
2026-08-15 17:04:41 +01:00

1.6 KiB
Raw Permalink Blame History

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.