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
* 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>
@ -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;
XChangeWindowAttributes(X_Dpy, sc->rootwin,
(CWEventMask | CWCursor), &rootattr);
screen_scan(sc, active);
screen_updatestackingorder(sc);
attr.cursor = Conf.cursor[CF_NORMAL];
attr.event_mask = SubstructureRedirectMask | SubstructureNotifyMask |
EnterWindowMask | PropertyChangeMask | ButtonPressMask;
XChangeWindowAttributes(X_Dpy, sc->rootwin, (CWEventMask | CWCursor), &attr);
if (Conf.xrandr)
XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask);
screen_scan(sc, active);
screen_updatestackingorder(sc);
TAILQ_INSERT_TAIL(&Screenq, sc, entry);
XSync(X_Dpy, False);