aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/tunnelsview.go
diff options
context:
space:
mode:
Diffstat (limited to 'ui/tunnelsview.go')
-rw-r--r--ui/tunnelsview.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/ui/tunnelsview.go b/ui/tunnelsview.go
index 15dc22ca..26099c2c 100644
--- a/ui/tunnelsview.go
+++ b/ui/tunnelsview.go
@@ -207,3 +207,22 @@ func (tv *TunnelsView) selectTunnel(tunnelName string) {
}
}
}
+
+func (tv *TunnelsView) SelectFirstActiveTunnel() {
+ tunnels := make([]service.Tunnel, len(tv.model.tunnels))
+ copy(tunnels, tv.model.tunnels)
+ go func() {
+ for _, tunnel := range tunnels {
+ state, err := tunnel.State()
+ if err != nil {
+ continue
+ }
+ if state == service.TunnelStarting || state == service.TunnelStarted {
+ tv.Synchronize(func() {
+ tv.selectTunnel(tunnel.Name)
+ })
+ return
+ }
+ }
+ }()
+}