diff options
| -rw-r--r-- | dwm.c | 15 | 
1 files changed, 12 insertions, 3 deletions
| @@ -499,6 +499,7 @@ cleanup(void) {  		cleanupmon(mons);  	XSync(dpy, False);  	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); +	XDeleteProperty(dpy, root, netatom[NetActiveWindow]);  }  void @@ -858,8 +859,10 @@ focus(Client *c) {  		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);  		setfocus(c);  	} -	else +	else {  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); +		XDeleteProperty(dpy, root, netatom[NetActiveWindow]); +	}  	selmon->sel = c;  	drawbars();  } @@ -1527,8 +1530,12 @@ sendevent(Client *c, Atom proto) {  void  setfocus(Client *c) { -	if(!c->neverfocus) +	if(!c->neverfocus) {  		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); +		XChangeProperty(dpy, root, netatom[NetActiveWindow], + 		                XA_WINDOW, 32, PropModeReplace, + 		                (unsigned char *) &(c->win), 1); +	}  	sendevent(c, wmatom[WMTakeFocus]);  } @@ -1786,8 +1793,10 @@ unfocus(Client *c, Bool setfocus) {  		return;  	grabbuttons(c, False);  	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); -	if(setfocus) +	if(setfocus) {  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); +		XDeleteProperty(dpy, root, netatom[NetActiveWindow]); +	}  }  void | 
