-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTailscaleSettings.qml
More file actions
143 lines (126 loc) · 3.78 KB
/
Copy pathTailscaleSettings.qml
File metadata and controls
143 lines (126 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import QtQuick
import qs.Common
import qs.Modules.Plugins
import qs.Widgets
PluginSettings {
id: root
pluginId: "tailscale"
StyledText {
width: parent.width
text: "Tailscale Manager"
font.pixelSize: Theme.fontSizeLarge
font.weight: Font.Bold
color: Theme.surfaceText
}
StyledText {
width: parent.width
text: "Manage your Tailscale VPN connection with peer list, SSH, and ping actions."
font.pixelSize: Theme.fontSizeSmall
color: Theme.surfaceVariantText
wrapMode: Text.WordWrap
}
SliderSetting {
settingKey: "refreshInterval"
label: "Refresh Interval"
description: "How often to check Tailscale status (in seconds)."
defaultValue: 5
minimum: 1
maximum: 60
unit: "sec"
}
StyledText {
width: parent.width
text: "Display Options"
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Bold
color: Theme.surfaceText
topPadding: Theme.spacingM
}
ToggleSetting {
settingKey: "showIpAddress"
label: "Show Identity"
description: "Display hostname and IP in the bar pill."
defaultValue: true
}
ToggleSetting {
settingKey: "showPeerCount"
label: "Show Peer Count"
description: "Display connected device count in the popout header."
defaultValue: true
}
ToggleSetting {
settingKey: "hideDisconnected"
label: "Hide Disconnected Peers"
description: "Only show online peers in the panel."
defaultValue: false
}
ToggleSetting {
settingKey: "closeOnAction"
label: "Close on Action"
description: "Close the popout after SSH, ping, or admin console actions."
defaultValue: true
}
ToggleSetting {
settingKey: "closeOnCopy"
label: "Close on Copy"
description: "Also close the popout after copying an IP or hostname."
defaultValue: false
}
StyledText {
width: parent.width
text: "Terminal Configuration"
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Bold
color: Theme.surfaceText
topPadding: Theme.spacingM
}
StyledText {
width: parent.width
text: "Required for SSH and ping actions. Set the command to launch your terminal (e.g. ghostty, alacritty, kitty, foot)."
font.pixelSize: Theme.fontSizeSmall
color: Theme.surfaceVariantText
wrapMode: Text.WordWrap
}
StringSetting {
settingKey: "terminalCommand"
label: "Terminal Command"
description: "Command to launch terminal for SSH/ping."
defaultValue: ""
placeholder: "ghostty"
}
StringSetting {
settingKey: "sshUser"
label: "SSH User"
description: "Default SSH username. Leave empty to use your current user."
defaultValue: ""
placeholder: "root"
}
SliderSetting {
settingKey: "pingCount"
label: "Ping Count"
description: "Number of ping packets to send."
defaultValue: 5
minimum: 1
maximum: 20
unit: "pkt"
}
StyledText {
width: parent.width
text: "Peer Click Action"
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Bold
color: Theme.surfaceText
topPadding: Theme.spacingM
}
SelectionSetting {
settingKey: "defaultPeerAction"
label: "Default Action"
description: "Action when clicking on a peer in the panel."
defaultValue: "copy-ip"
options: [
{ label: "Copy IP", value: "copy-ip" },
{ label: "SSH to host", value: "ssh" },
{ label: "Ping host", value: "ping" }
]
}
}