From 3b040a454ae7456a0c3c3945dc23ca4f6cd8ca23 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sun, 10 Mar 2019 23:41:22 -0600 Subject: ui: reduce flicker when changing view --- ui/ui.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ui/ui.go') diff --git a/ui/ui.go b/ui/ui.go index 66c5fc12..85aba1e0 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -128,7 +128,6 @@ func RunUI() { if on { updateConfView() } - mw.Invalidate() } pb, _ := walk.NewPushButton(mw) @@ -145,9 +144,12 @@ func RunUI() { pb.SetText(pbT) } }() + + mw.SetSuspended(true) pb.SetEnabled(false) se.SetEnabled(false) pb.SetText("Requesting..") + mw.SetSuspended(false) if runningTunnel != nil { err := runningTunnel.Stop() if err != nil { @@ -202,6 +204,7 @@ func RunUI() { if tunnel.Name != "test" { return } + mw.SetSuspended(true) //TODO: also set tray icon to reflect state switch state { case service.TunnelStarting: @@ -241,6 +244,7 @@ func RunUI() { tray.ShowInfo("WireGuard Deactivated", fmt.Sprintf("The %s tunnel has been deactivated.", tunnel.Name)) } } + mw.SetSuspended(false) } service.IPCClientRegisterTunnelChange(func(tunnel *service.Tunnel, state service.TunnelState, err error) { setServiceState(tunnel, state, err == nil) -- cgit v1.2.3-59-g8ed1b