summaryrefslogtreecommitdiff
path: root/drw
diff options
context:
space:
mode:
Diffstat (limited to 'drw')
-rw-r--r--drw/x.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/drw/x.go b/drw/x.go
index 910262a..01e3e1d 100644
--- a/drw/x.go
+++ b/drw/x.go
@@ -2,6 +2,7 @@ package drw // import "hhvn.uk/hbspbar/drw"
import (
"os"
+ "log"
"image"
"hhvn.uk/hbspbar/config"
@@ -22,7 +23,7 @@ type eventwrap struct {
}
var InitErr error
-var Events chan *eventwrap
+var XClosed chan bool
var xc *xgb.Conn
var xu *xgbutil.XUtil
@@ -59,12 +60,17 @@ func init() {
return
}
- Events := make(chan *eventwrap)
+ XClosed = make(chan bool)
go func() { for {
ev, err := xc.WaitForEvent()
- w := eventwrap{ev, err}
- Events <- &w
+ if ev == nil && err == nil {
+ XClosed <- true
+ return
+ }
+ if err != nil {
+ log.Printf("X.WaitForEvents: %v\n", err)
+ }
}}()
}