A DankMaterialShell (Quickshell) plugin that manages your Tailscale network from the bar — a Linux stand-in for the macOS menu-bar app and settings utility.
Bar widget — Tailscale icon showing connection state, with a shield badge when an exit node is active and an error badge when login is required or tailscaled is down.
Drop-down (click the bar icon)
- Connect / disconnect toggle
- Current account, one-click switch to the next account
- Current exit node, one-click disable
- Device list — click any device to copy its Tailscale IP (or MagicDNS name) to the clipboard, or hover and hit the send button to share files via Taildrop
- Check-for-incoming-files button (when auto-accept is off)
- "Open Manager" button
Manager (popup)
- Devices — filterable list of every device on the tailnet with online status, OS, owner, subnet/exit-node badges; click to copy address, or use the send button to share files via Taildrop
- Exit Nodes — pick or clear the exit node, allow-LAN-access toggle, advertise this device as an exit node
- Routes — accept-routes toggle, advertise subnet routes from this device, list of subnet routers on the tailnet
- DNS — "Use Tailscale DNS" toggle, current DNS configuration (MagicDNS state, suffix, this device's DNS name, search domains, split-DNS routes), and a DNS lookup tool that resolves names through the tailnet resolver
- Accounts — switch between logged-in accounts, add a new account (opens browser sign-in)
Taildrop (file transfer)
- Send — hover any online device (in the drop-down or the Manager's Devices tab) and click the send button; a dialog lets you add files and send them with
tailscale file cp - Receive — turn on Auto-accept incoming files to save arriving files to your download folder automatically, or leave it off and use the drop-down's check-for-files button to pull them on demand
- Requires Taildrop to be enabled for your tailnet in the Tailscale admin console — it's an alpha, off-by-default feature. Until it's on, the send/receive controls stay hidden.
Control center tile — Tailscale toggle in the DMS control center.
-
DankMaterialShell ≥ 1.4.0
-
tailscaleCLI withtailscaledrunning -
Your user set as the Tailscale operator so no root prompts are needed:
sudo tailscale set --operator=$USER
From the plugin browser — search for Dankscale in DMS Settings → Plugins and install it.
Manually — clone into your DMS plugins directory:
git clone https://github.com/dwright134/dms-dankscale ~/.config/DankMaterialShell/plugins/DankscaleThen enable Dankscale under Settings → Plugins.
- Refresh interval — how often
tailscale statusis polled (default 5 s) - Click copies — Tailscale IPv4 (default) or MagicDNS name
- Show offline devices — include offline devices in the drop-down list
- Auto-accept incoming files — receive Taildrop files in the background (default off)
- Download folder — where received files are saved; blank uses your
~/Downloads
Everything is driven by the tailscale CLI — no daemons, no external helpers:
tailscale status --json— device list, connection state, exit nodetailscale debug prefs— accept-routes, advertised routes, exit-node and accept-dns prefstailscale dns status --json— MagicDNS state, suffix, search domains, split-DNS routestailscale dns query <name> [type]— DNS lookup tooltailscale switch --list/tailscale switch <account>— accountstailscale up/down— connect / disconnecttailscale set --exit-node=… --accept-routes=… --advertise-routes=… --accept-dns=…— settingstailscale login— add account (auth URL opens in your browser automatically)tailscale file cp <files> <device>:— send files with Taildroptailscale file get [--loop] <dir>— receive Taildrop files (auto-accept runs it with--loop)

