Compare commits

..

No commits in common. "master" and "6.8" have entirely different histories.
master ... 6.8

22
dwm.c
View File

@ -863,15 +863,15 @@ focusstack(const Arg *arg)
Atom Atom
getatomprop(Client *c, Atom prop) getatomprop(Client *c, Atom prop)
{ {
int format; int di;
unsigned long nitems, dl; unsigned long nitems, dl;
unsigned char *p = NULL; unsigned char *p = NULL;
Atom da, atom = None; Atom da, atom = None;
if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, XA_ATOM, if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, XA_ATOM,
&da, &format, &nitems, &dl, &p) == Success && p) { &da, &di, &nitems, &dl, &p) == Success && p) {
if (nitems > 0 && format == 32) if (nitems > 0)
atom = *(long *)p; atom = *(Atom *)p;
XFree(p); XFree(p);
} }
return atom; return atom;
@ -897,10 +897,10 @@ getstate(Window w)
Atom real; Atom real;
if (XGetWindowProperty(dpy, w, wmatom[WMState], 0L, 2L, False, wmatom[WMState], if (XGetWindowProperty(dpy, w, wmatom[WMState], 0L, 2L, False, wmatom[WMState],
&real, &format, &n, &extra, &p) != Success) &real, &format, &n, &extra, (unsigned char **)&p) != Success)
return -1; return -1;
if (n != 0 && format == 32) if (n != 0)
result = *(long *)p; result = *p;
XFree(p); XFree(p);
return result; return result;
} }
@ -1470,10 +1470,12 @@ sendevent(Client *c, Atom proto)
void void
setfocus(Client *c) setfocus(Client *c)
{ {
if (!c->neverfocus) if (!c->neverfocus) {
XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
XChangeProperty(dpy, root, netatom[NetActiveWindow], XA_WINDOW, 32, XChangeProperty(dpy, root, netatom[NetActiveWindow],
PropModeReplace, (unsigned char *)&c->win, 1); XA_WINDOW, 32, PropModeReplace,
(unsigned char *) &(c->win), 1);
}
sendevent(c, wmatom[WMTakeFocus]); sendevent(c, wmatom[WMTakeFocus]);
} }