Write README with install instructions and update author
This commit is contained in:
parent
6129b09943
commit
303256d646
2 changed files with 89 additions and 1 deletions
88
README.md
88
README.md
|
|
@ -0,0 +1,88 @@
|
|||
# Tailscale Widget Plugin for Dank Material Shell
|
||||
|
||||
A lightweight widget plugin that shows Tailscale connectivity status on the Dank Bar with quick controls for toggling connection, switching exit nodes, and copying peer addresses.
|
||||
|
||||
## Features
|
||||
|
||||
- **Status icon** in the bar — `vpn_key` when connected, `vpn_key_off` when disconnected
|
||||
- **Right-click** to toggle Tailscale on/off
|
||||
- **Left-click** to open a popout showing:
|
||||
- Your current Tailscale IP
|
||||
- Active exit node (with clear button)
|
||||
- Peer list with hostnames and IPs
|
||||
- **Click-to-copy** any hostname or IP to clipboard
|
||||
- **Exit node selection** — click `↗` on any exit-node-capable peer to route through it
|
||||
- **Auto-refresh** — status polls every 5 seconds
|
||||
- **Toast notifications** for all errors
|
||||
|
||||
## Requirements
|
||||
|
||||
- Dank Material Shell installed and running
|
||||
- `tailscale` CLI available on `PATH`
|
||||
- A clipboard tool (`dms`, `wl-copy`, or `clipmanctl`)
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone or copy this repository so that the `tailscalectl/` directory is available:
|
||||
|
||||
```
|
||||
git clone <repo-url>
|
||||
```
|
||||
|
||||
2. Place the `tailscalectl/` directory into your DMS plugins directory:
|
||||
|
||||
```
|
||||
mv tailscalectl ~/.config/dankmaterialshell/plugins/
|
||||
```
|
||||
|
||||
The directory must contain:
|
||||
```
|
||||
tailscalectl/
|
||||
├── plugin.json
|
||||
├── TailscaleWidget.qml
|
||||
└── lib.js
|
||||
```
|
||||
|
||||
3. Reload the plugin:
|
||||
|
||||
```
|
||||
dms ipc call plugins reload tailscalectl
|
||||
```
|
||||
|
||||
4. The Tailscale icon should appear on your Dank Bar. If connected, it shows a filled key icon; if disconnected, an outlined key icon.
|
||||
|
||||
## Usage
|
||||
|
||||
| Action | How |
|
||||
|---|---|
|
||||
| Toggle connection | Right-click the bar icon |
|
||||
| Open popout | Left-click the bar icon |
|
||||
| Copy hostname/IP | Click the text in the peer list |
|
||||
| Set exit node | Click `↗` next to an exit-node peer |
|
||||
| Clear exit node | Click `×` next to "Exit node: ..." or click `↗` on current node |
|
||||
|
||||
## Plugin Manifest
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "tailscalectl",
|
||||
"name": "Tailscale",
|
||||
"description": "Tailscale status and controls on the Dank Bar",
|
||||
"version": "0.1.0",
|
||||
"author": "John Morris & Vybe (AI Slop... er... Coding Assistant)",
|
||||
"icon": "vpn_key",
|
||||
"type": "widget",
|
||||
"component": "./TailscaleWidget.qml",
|
||||
"permissions": ["settings_read", "settings_write", "process"]
|
||||
}
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
node --test test/lib.test.js
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
See [LICENSE](LICENSE).
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
"name": "Tailscale",
|
||||
"description": "Tailscale status and controls on the Dank Bar",
|
||||
"version": "0.1.0",
|
||||
"author": "John Morris",
|
||||
"author": "John Morris & Vybe (AI Slop... er... Coding Assistant)",
|
||||
"icon": "vpn_key",
|
||||
"type": "widget",
|
||||
"component": "./TailscaleWidget.qml",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue