Trim event_mask to those that the root window actually needs.

This commit is contained in:
okan 2020-03-20 15:16:31 +00:00
parent f91df0c64f
commit 0f6482dcc4

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* *
* $OpenBSD: screen.c,v 1.95 2020/02/27 14:56:39 okan Exp $ * $OpenBSD: screen.c,v 1.96 2020/03/20 15:16:31 okan Exp $
*/ */
#include <sys/types.h> #include <sys/types.h>
@ -40,7 +40,7 @@ screen_init(int which)
{ {
struct screen_ctx *sc; struct screen_ctx *sc;
Window active = None; Window active = None;
XSetWindowAttributes rootattr; XSetWindowAttributes attr;
sc = xmalloc(sizeof(*sc)); sc = xmalloc(sizeof(*sc));
@ -69,20 +69,17 @@ screen_init(int which)
xu_ewmh_net_virtual_roots(sc); xu_ewmh_net_virtual_roots(sc);
active = xu_ewmh_get_net_active_window(sc); active = xu_ewmh_get_net_active_window(sc);
rootattr.cursor = Conf.cursor[CF_NORMAL]; attr.cursor = Conf.cursor[CF_NORMAL];
rootattr.event_mask = SubstructureRedirectMask | attr.event_mask = SubstructureRedirectMask | SubstructureNotifyMask |
SubstructureNotifyMask | PropertyChangeMask | EnterWindowMask | EnterWindowMask | PropertyChangeMask | ButtonPressMask;
LeaveWindowMask | ColormapChangeMask | BUTTONMASK; XChangeWindowAttributes(X_Dpy, sc->rootwin, (CWEventMask | CWCursor), &attr);
XChangeWindowAttributes(X_Dpy, sc->rootwin,
(CWEventMask | CWCursor), &rootattr);
screen_scan(sc, active);
screen_updatestackingorder(sc);
if (Conf.xrandr) if (Conf.xrandr)
XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask); XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask);
screen_scan(sc, active);
screen_updatestackingorder(sc);
TAILQ_INSERT_TAIL(&Screenq, sc, entry); TAILQ_INSERT_TAIL(&Screenq, sc, entry);
XSync(X_Dpy, False); XSync(X_Dpy, False);