diff --git a/pkg/systray/run.go b/pkg/systray/run.go index d9d39deac5435415fcde26a5a77cb82eeb752418..ce4a8861daf841fd6782fbf16a801d7f40c89202 100644 --- a/pkg/systray/run.go +++ b/pkg/systray/run.go @@ -25,11 +25,14 @@ import ( func Run(conf *Config) { bt := bmTray{conf: conf, waitCh: make(chan bool)} - go initialize(conf, &bt) + finishedCh := make(chan bool) + go initialize(conf, &bt, finishedCh) bt.start() + <-finishedCh } -func initialize(conf *Config, bt *bmTray) { +func initialize(conf *Config, bt *bmTray, finishedCh chan bool) { + defer func() { finishedCh <- true }() if _, err := os.Stat(config.Path); os.IsNotExist(err) { os.MkdirAll(config.Path, os.ModePerm) }