--- dwm.c | 50 ++++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/dwm.c b/dwm.c index 4465af1..7fa5055 100644 --- a/dwm.c +++ b/dwm.c _AT_@ -304,10 +304,8 @@ applyrules(Client *c) c->mon = m; } } - if (ch.res_class) - XFree(ch.res_class); - if (ch.res_name) - XFree(ch.res_name); + XFree(ch.res_class); + XFree(ch.res_name); c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags]; } _AT_@ -765,9 +763,8 @@ enternotify(XEvent *e) if (m != selmon) { unfocus(selmon->sel, 1); selmon = m; - } else if (!c || c == selmon->sel) - return; - focus(c); + } else if (c && c != selmon->sel) + focus(c); } void _AT_@ -1094,10 +1091,9 @@ maprequest(XEvent *e) if (!XGetWindowAttributes(dpy, ev->window, &wa)) return; - if (wa.override_redirect) + if (wa.override_redirect || wintoclient(ev->window)) return; - if (!wintoclient(ev->window)) - manage(ev->window, &wa); + manage(ev->window, &wa); } void _AT_@ -1402,8 +1398,7 @@ scan(void) && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) manage(wins[i], &wa); } - if (wins) - XFree(wins); + XFree(wins); } } _AT_@ -1437,24 +1432,23 @@ sendevent(Client *c, Atom proto) { int n; Atom *protocols; - int exists = 0; XEvent ev; - if (XGetWMProtocols(dpy, c->win, &protocols, &n)) { - while (!exists && n--) - exists = protocols[n] == proto; - XFree(protocols); - } - if (exists) { - ev.type = ClientMessage; - ev.xclient.window = c->win; - ev.xclient.message_type = wmatom[WMProtocols]; - ev.xclient.format = 32; - ev.xclient.data.l[0] = proto; - ev.xclient.data.l[1] = CurrentTime; - XSendEvent(dpy, c->win, False, NoEventMask, &ev); - } - return exists; + if (!XGetWMProtocols(dpy, c->win, &protocols, &n)) + return 0; + while (n-- && protocols[n] != proto); + XFree(protocols); + if (n < 0) + return 0; + + ev.type = ClientMessage; + ev.xclient.window = c->win; + ev.xclient.message_type = wmatom[WMProtocols]; + ev.xclient.format = 32; + ev.xclient.data.l[0] = proto; + ev.xclient.data.l[1] = CurrentTime; + XSendEvent(dpy, c->win, False, NoEventMask, &ev); + return 1; } void -- 2.24.1Received on Sun Dec 22 2019 - 18:27:16 CET
This archive was generated by hypermail 2.3.0 : Sun Dec 22 2019 - 21:12:22 CET