From 49f839e194b990dde123f35435c86cf5baa42c4d Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 20 Mar 2020 15:16:31 +0000 Subject: Trim event_mask to those that the root window actually needs. --- screen.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/screen.c b/screen.c index 18acc35..b1e70e9 100644 --- a/screen.c +++ b/screen.c @@ -40,7 +40,7 @@ screen_init(int which) { struct screen_ctx *sc; Window active = None; - XSetWindowAttributes rootattr; + XSetWindowAttributes attr; sc = xmalloc(sizeof(*sc)); @@ -69,20 +69,17 @@ screen_init(int which) xu_ewmh_net_virtual_roots(sc); active = xu_ewmh_get_net_active_window(sc); - rootattr.cursor = Conf.cursor[CF_NORMAL]; - rootattr.event_mask = SubstructureRedirectMask | - SubstructureNotifyMask | PropertyChangeMask | EnterWindowMask | - LeaveWindowMask | ColormapChangeMask | BUTTONMASK; + attr.cursor = Conf.cursor[CF_NORMAL]; + attr.event_mask = SubstructureRedirectMask | SubstructureNotifyMask | + EnterWindowMask | PropertyChangeMask | ButtonPressMask; + XChangeWindowAttributes(X_Dpy, sc->rootwin, (CWEventMask | CWCursor), &attr); - XChangeWindowAttributes(X_Dpy, sc->rootwin, - (CWEventMask | CWCursor), &rootattr); + if (Conf.xrandr) + XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask); screen_scan(sc, active); screen_updatestackingorder(sc); - if (Conf.xrandr) - XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask); - TAILQ_INSERT_TAIL(&Screenq, sc, entry); XSync(X_Dpy, False); -- cgit 1.4.1