From 9f6a017b93569f5abe0ef2aeb22efb05fd0e99a7 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Wed, 13 Jun 2018 13:53:59 +0200 Subject: [feat] capture SIGINT and close properly --- systray.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/systray.go b/systray.go index aea8d04..5b2977e 100644 --- a/systray.go +++ b/systray.go @@ -18,6 +18,8 @@ package main import ( "fmt" "log" + "os" + "os/signal" "time" "0xacab.org/leap/bitmask-systray/bitmask" @@ -60,6 +62,9 @@ func (bt bmTray) onExit() { } func (bt *bmTray) onReady() { + signalCh := make(chan os.Signal, 1) + signal.Notify(signalCh, os.Interrupt) + systray.SetIcon(icon.Off) bt.mStatus = systray.AddMenuItem(printer.Sprintf("Checking status..."), "") @@ -127,8 +132,8 @@ func (bt *bmTray) onReady() { case <-mQuit.ClickedCh: systray.Quit() - - case <-time.After(time.Minute * 30): + case <-signalCh: + systray.Quit() } } }() -- cgit v1.2.3