| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -522,7 +522,7 @@ clientmessage(XEvent *e) | 
															
														
														
													
														
															
																 | 
																 | 
																		if (cme->data.l[1] == netatom[NetWMFullscreen] | 
																 | 
																 | 
																		if (cme->data.l[1] == netatom[NetWMFullscreen] | 
															
														
														
													
														
															
																 | 
																 | 
																		|| cme->data.l[2] == netatom[NetWMFullscreen]) | 
																 | 
																 | 
																		|| cme->data.l[2] == netatom[NetWMFullscreen]) | 
															
														
														
													
														
															
																 | 
																 | 
																			setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD    */ | 
																 | 
																 | 
																			setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD    */ | 
															
														
														
													
														
															
																 | 
																 | 
																			              || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				|| (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); | 
															
														
														
													
														
															
																 | 
																 | 
																	} else if (cme->message_type == netatom[NetActiveWindow]) { | 
																 | 
																 | 
																	} else if (cme->message_type == netatom[NetActiveWindow]) { | 
															
														
														
													
														
															
																 | 
																 | 
																		if (c != selmon->sel && !c->isurgent) | 
																 | 
																 | 
																		if (c != selmon->sel && !c->isurgent) | 
															
														
														
													
														
															
																 | 
																 | 
																			seturgent(c, 1); | 
																 | 
																 | 
																			seturgent(c, 1); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -721,8 +721,8 @@ drawbar(Monitor *m) | 
															
														
														
													
														
															
																 | 
																 | 
																		drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); | 
																 | 
																 | 
																		drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); | 
															
														
														
													
														
															
																 | 
																 | 
																		if (occ & 1 << i) | 
																 | 
																 | 
																		if (occ & 1 << i) | 
															
														
														
													
														
															
																 | 
																 | 
																			drw_rect(drw, x + boxs, boxs, boxw, boxw, | 
																 | 
																 | 
																			drw_rect(drw, x + boxs, boxs, boxw, boxw, | 
															
														
														
													
														
															
																 | 
																 | 
																			         m == selmon && selmon->sel && selmon->sel->tags & 1 << i, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			         urg & 1 << i); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				m == selmon && selmon->sel && selmon->sel->tags & 1 << i, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				urg & 1 << i); | 
															
														
														
													
														
															
																 | 
																 | 
																		x += w; | 
																 | 
																 | 
																		x += w; | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																	w = blw = TEXTW(m->ltsymbol); | 
																 | 
																 | 
																	w = blw = TEXTW(m->ltsymbol); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -865,7 +865,7 @@ getatomprop(Client *c, Atom prop) | 
															
														
														
													
														
															
																 | 
																 | 
																	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, &di, &dl, &dl, &p) == Success && p) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		&da, &di, &dl, &dl, &p) == Success && p) { | 
															
														
														
													
														
															
																 | 
																 | 
																		atom = *(Atom *)p; | 
																 | 
																 | 
																		atom = *(Atom *)p; | 
															
														
														
													
														
															
																 | 
																 | 
																		XFree(p); | 
																 | 
																 | 
																		XFree(p); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -892,7 +892,7 @@ 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, (unsigned char **)&p) != Success) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		&real, &format, &n, &extra, (unsigned char **)&p) != Success) | 
															
														
														
													
														
															
																 | 
																 | 
																		return -1; | 
																 | 
																 | 
																		return -1; | 
															
														
														
													
														
															
																 | 
																 | 
																	if (n != 0) | 
																 | 
																 | 
																	if (n != 0) | 
															
														
														
													
														
															
																 | 
																 | 
																		result = *p; | 
																 | 
																 | 
																		result = *p; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -936,14 +936,14 @@ grabbuttons(Client *c, int focused) | 
															
														
														
													
														
															
																 | 
																 | 
																		XUngrabButton(dpy, AnyButton, AnyModifier, c->win); | 
																 | 
																 | 
																		XUngrabButton(dpy, AnyButton, AnyModifier, c->win); | 
															
														
														
													
														
															
																 | 
																 | 
																		if (!focused) | 
																 | 
																 | 
																		if (!focused) | 
															
														
														
													
														
															
																 | 
																 | 
																			XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, | 
																 | 
																 | 
																			XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, | 
															
														
														
													
														
															
																 | 
																 | 
																			            BUTTONMASK, GrabModeSync, GrabModeSync, None, None); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				BUTTONMASK, GrabModeSync, GrabModeSync, None, None); | 
															
														
														
													
														
															
																 | 
																 | 
																		for (i = 0; i < LENGTH(buttons); i++) | 
																 | 
																 | 
																		for (i = 0; i < LENGTH(buttons); i++) | 
															
														
														
													
														
															
																 | 
																 | 
																			if (buttons[i].click == ClkClientWin) | 
																 | 
																 | 
																			if (buttons[i].click == ClkClientWin) | 
															
														
														
													
														
															
																 | 
																 | 
																				for (j = 0; j < LENGTH(modifiers); j++) | 
																 | 
																 | 
																				for (j = 0; j < LENGTH(modifiers); j++) | 
															
														
														
													
														
															
																 | 
																 | 
																					XGrabButton(dpy, buttons[i].button, | 
																 | 
																 | 
																					XGrabButton(dpy, buttons[i].button, | 
															
														
														
													
														
															
																 | 
																 | 
																					            buttons[i].mask | modifiers[j], | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					            c->win, False, BUTTONMASK, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					            GrabModeAsync, GrabModeSync, None, None); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																						buttons[i].mask | modifiers[j], | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																						c->win, False, BUTTONMASK, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																						GrabModeAsync, GrabModeSync, None, None); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -961,7 +961,7 @@ grabkeys(void) | 
															
														
														
													
														
															
																 | 
																 | 
																			if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) | 
																 | 
																 | 
																			if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) | 
															
														
														
													
														
															
																 | 
																 | 
																				for (j = 0; j < LENGTH(modifiers); j++) | 
																 | 
																 | 
																				for (j = 0; j < LENGTH(modifiers); j++) | 
															
														
														
													
														
															
																 | 
																 | 
																					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, | 
																 | 
																 | 
																					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, | 
															
														
														
													
														
															
																 | 
																 | 
																					         True, GrabModeAsync, GrabModeAsync); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																						True, GrabModeAsync, GrabModeAsync); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1048,7 +1048,7 @@ manage(Window w, XWindowAttributes *wa) | 
															
														
														
													
														
															
																 | 
																 | 
																	c->x = MAX(c->x, c->mon->mx); | 
																 | 
																 | 
																	c->x = MAX(c->x, c->mon->mx); | 
															
														
														
													
														
															
																 | 
																 | 
																	/* only fix client y-offset, if the client center might cover the bar */ | 
																 | 
																 | 
																	/* only fix client y-offset, if the client center might cover the bar */ | 
															
														
														
													
														
															
																 | 
																 | 
																	c->y = MAX(c->y, ((c->mon->by == c->mon->my) && (c->x + (c->w / 2) >= c->mon->wx) | 
																 | 
																 | 
																	c->y = MAX(c->y, ((c->mon->by == c->mon->my) && (c->x + (c->w / 2) >= c->mon->wx) | 
															
														
														
													
														
															
																 | 
																 | 
																	           && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		&& (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my); | 
															
														
														
													
														
															
																 | 
																 | 
																	c->bw = borderpx; | 
																 | 
																 | 
																	c->bw = borderpx; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	wc.border_width = c->bw; | 
																 | 
																 | 
																	wc.border_width = c->bw; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1067,7 +1067,7 @@ manage(Window w, XWindowAttributes *wa) | 
															
														
														
													
														
															
																 | 
																 | 
																	attach(c); | 
																 | 
																 | 
																	attach(c); | 
															
														
														
													
														
															
																 | 
																 | 
																	attachstack(c); | 
																 | 
																 | 
																	attachstack(c); | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, | 
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, | 
															
														
														
													
														
															
																 | 
																 | 
																	                (unsigned char *) &(c->win), 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		(unsigned char *) &(c->win), 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ | 
																 | 
																 | 
																	XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ | 
															
														
														
													
														
															
																 | 
																 | 
																	setclientstate(c, NormalState); | 
																 | 
																 | 
																	setclientstate(c, NormalState); | 
															
														
														
													
														
															
																 | 
																 | 
																	if (c->mon == selmon) | 
																 | 
																 | 
																	if (c->mon == selmon) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1151,7 +1151,7 @@ movemouse(const Arg *arg) | 
															
														
														
													
														
															
																 | 
																 | 
																	ocx = c->x; | 
																 | 
																 | 
																	ocx = c->x; | 
															
														
														
													
														
															
																 | 
																 | 
																	ocy = c->y; | 
																 | 
																 | 
																	ocy = c->y; | 
															
														
														
													
														
															
																 | 
																 | 
																	if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, | 
																 | 
																 | 
																	if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, | 
															
														
														
													
														
															
																 | 
																 | 
																	    None, cursor[CurMove]->cursor, CurrentTime) != GrabSuccess) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		None, cursor[CurMove]->cursor, CurrentTime) != GrabSuccess) | 
															
														
														
													
														
															
																 | 
																 | 
																		return; | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																	if (!getrootptr(&x, &y)) | 
																 | 
																 | 
																	if (!getrootptr(&x, &y)) | 
															
														
														
													
														
															
																 | 
																 | 
																		return; | 
																 | 
																 | 
																		return; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1226,7 +1226,7 @@ propertynotify(XEvent *e) | 
															
														
														
													
														
															
																 | 
																 | 
																		default: break; | 
																 | 
																 | 
																		default: break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case XA_WM_TRANSIENT_FOR: | 
																 | 
																 | 
																		case XA_WM_TRANSIENT_FOR: | 
															
														
														
													
														
															
																 | 
																 | 
																			if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) && | 
																 | 
																 | 
																			if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) && | 
															
														
														
													
														
															
																 | 
																 | 
																			   (c->isfloating = (wintoclient(trans)) != NULL)) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				(c->isfloating = (wintoclient(trans)) != NULL)) | 
															
														
														
													
														
															
																 | 
																 | 
																				arrange(c->mon); | 
																 | 
																 | 
																				arrange(c->mon); | 
															
														
														
													
														
															
																 | 
																 | 
																			break; | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case XA_WM_NORMAL_HINTS: | 
																 | 
																 | 
																		case XA_WM_NORMAL_HINTS: | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1306,7 +1306,7 @@ resizemouse(const Arg *arg) | 
															
														
														
													
														
															
																 | 
																 | 
																	ocx = c->x; | 
																 | 
																 | 
																	ocx = c->x; | 
															
														
														
													
														
															
																 | 
																 | 
																	ocy = c->y; | 
																 | 
																 | 
																	ocy = c->y; | 
															
														
														
													
														
															
																 | 
																 | 
																	if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, | 
																 | 
																 | 
																	if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, | 
															
														
														
													
														
															
																 | 
																 | 
																	                None, cursor[CurResize]->cursor, CurrentTime) != GrabSuccess) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		None, cursor[CurResize]->cursor, CurrentTime) != GrabSuccess) | 
															
														
														
													
														
															
																 | 
																 | 
																		return; | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); | 
																 | 
																 | 
																	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	do { | 
																 | 
																 | 
																	do { | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1431,7 +1431,7 @@ setclientstate(Client *c, long state) | 
															
														
														
													
														
															
																 | 
																 | 
																	long data[] = { state, None }; | 
																 | 
																 | 
																	long data[] = { state, None }; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32, | 
																 | 
																 | 
																	XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32, | 
															
														
														
													
														
															
																 | 
																 | 
																	                PropModeReplace, (unsigned char *)data, 2); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		PropModeReplace, (unsigned char *)data, 2); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																int | 
																 | 
																 | 
																int | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1465,8 +1465,8 @@ 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], | 
																 | 
																 | 
																		XChangeProperty(dpy, root, netatom[NetActiveWindow], | 
															
														
														
													
														
															
																 | 
																 | 
																		                XA_WINDOW, 32, PropModeReplace, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		                (unsigned char *) &(c->win), 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			XA_WINDOW, 32, PropModeReplace, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			(unsigned char *) &(c->win), 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																	sendevent(c, wmatom[WMTakeFocus]); | 
																 | 
																 | 
																	sendevent(c, wmatom[WMTakeFocus]); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1476,7 +1476,7 @@ setfullscreen(Client *c, int fullscreen) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																	if (fullscreen && !c->isfullscreen) { | 
																 | 
																 | 
																	if (fullscreen && !c->isfullscreen) { | 
															
														
														
													
														
															
																 | 
																 | 
																		XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, | 
																 | 
																 | 
																		XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, | 
															
														
														
													
														
															
																 | 
																 | 
																		                PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1); | 
															
														
														
													
														
															
																 | 
																 | 
																		c->isfullscreen = 1; | 
																 | 
																 | 
																		c->isfullscreen = 1; | 
															
														
														
													
														
															
																 | 
																 | 
																		c->oldstate = c->isfloating; | 
																 | 
																 | 
																		c->oldstate = c->isfloating; | 
															
														
														
													
														
															
																 | 
																 | 
																		c->oldbw = c->bw; | 
																 | 
																 | 
																		c->oldbw = c->bw; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1486,7 +1486,7 @@ setfullscreen(Client *c, int fullscreen) | 
															
														
														
													
														
															
																 | 
																 | 
																		XRaiseWindow(dpy, c->win); | 
																 | 
																 | 
																		XRaiseWindow(dpy, c->win); | 
															
														
														
													
														
															
																 | 
																 | 
																	} else if (!fullscreen && c->isfullscreen){ | 
																 | 
																 | 
																	} else if (!fullscreen && c->isfullscreen){ | 
															
														
														
													
														
															
																 | 
																 | 
																		XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, | 
																 | 
																 | 
																		XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, | 
															
														
														
													
														
															
																 | 
																 | 
																		                PropModeReplace, (unsigned char*)0, 0); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			PropModeReplace, (unsigned char*)0, 0); | 
															
														
														
													
														
															
																 | 
																 | 
																		c->isfullscreen = 0; | 
																 | 
																 | 
																		c->isfullscreen = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																		c->isfloating = c->oldstate; | 
																 | 
																 | 
																		c->isfloating = c->oldstate; | 
															
														
														
													
														
															
																 | 
																 | 
																		c->bw = c->oldbw; | 
																 | 
																 | 
																		c->bw = c->oldbw; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1578,20 +1578,20 @@ setup(void) | 
															
														
														
													
														
															
																 | 
																 | 
																	/* supporting window for NetWMCheck */ | 
																 | 
																 | 
																	/* supporting window for NetWMCheck */ | 
															
														
														
													
														
															
																 | 
																 | 
																	wmcheckwin = XCreateSimpleWindow(dpy, root, 0, 0, 1, 1, 0, 0, 0); | 
																 | 
																 | 
																	wmcheckwin = XCreateSimpleWindow(dpy, root, 0, 0, 1, 1, 0, 0, 0); | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, wmcheckwin, netatom[NetWMCheck], XA_WINDOW, 32, | 
																 | 
																 | 
																	XChangeProperty(dpy, wmcheckwin, netatom[NetWMCheck], XA_WINDOW, 32, | 
															
														
														
													
														
															
																 | 
																 | 
																	                PropModeReplace, (unsigned char *) &wmcheckwin, 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		PropModeReplace, (unsigned char *) &wmcheckwin, 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, wmcheckwin, netatom[NetWMName], utf8string, 8, | 
																 | 
																 | 
																	XChangeProperty(dpy, wmcheckwin, netatom[NetWMName], utf8string, 8, | 
															
														
														
													
														
															
																 | 
																 | 
																	                PropModeReplace, (unsigned char *) "dwm", 4); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		PropModeReplace, (unsigned char *) "dwm", 4); | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, | 
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, | 
															
														
														
													
														
															
																 | 
																 | 
																	                PropModeReplace, (unsigned char *) &wmcheckwin, 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		PropModeReplace, (unsigned char *) &wmcheckwin, 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	/* EWMH support per view */ | 
																 | 
																 | 
																	/* EWMH support per view */ | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, | 
																 | 
																 | 
																	XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, | 
															
														
														
													
														
															
																 | 
																 | 
																	                PropModeReplace, (unsigned char *) netatom, NetLast); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		PropModeReplace, (unsigned char *) netatom, NetLast); | 
															
														
														
													
														
															
																 | 
																 | 
																	XDeleteProperty(dpy, root, netatom[NetClientList]); | 
																 | 
																 | 
																	XDeleteProperty(dpy, root, netatom[NetClientList]); | 
															
														
														
													
														
															
																 | 
																 | 
																	/* select events */ | 
																 | 
																 | 
																	/* select events */ | 
															
														
														
													
														
															
																 | 
																 | 
																	wa.cursor = cursor[CurNormal]->cursor; | 
																 | 
																 | 
																	wa.cursor = cursor[CurNormal]->cursor; | 
															
														
														
													
														
															
																 | 
																 | 
																	wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask | 
																 | 
																 | 
																	wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask | 
															
														
														
													
														
															
																 | 
																 | 
																	                |ButtonPressMask|PointerMotionMask|EnterWindowMask | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	                |LeaveWindowMask|StructureNotifyMask|PropertyChangeMask; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		|ButtonPressMask|PointerMotionMask|EnterWindowMask | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		|LeaveWindowMask|StructureNotifyMask|PropertyChangeMask; | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); | 
																 | 
																 | 
																	XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); | 
															
														
														
													
														
															
																 | 
																 | 
																	XSelectInput(dpy, root, wa.event_mask); | 
																 | 
																 | 
																	XSelectInput(dpy, root, wa.event_mask); | 
															
														
														
													
														
															
																 | 
																 | 
																	grabkeys(); | 
																 | 
																 | 
																	grabkeys(); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1717,7 +1717,7 @@ togglefloating(const Arg *arg) | 
															
														
														
													
														
															
																 | 
																 | 
																	selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; | 
																 | 
																 | 
																	selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; | 
															
														
														
													
														
															
																 | 
																 | 
																	if (selmon->sel->isfloating) | 
																 | 
																 | 
																	if (selmon->sel->isfloating) | 
															
														
														
													
														
															
																 | 
																 | 
																		resize(selmon->sel, selmon->sel->x, selmon->sel->y, | 
																 | 
																 | 
																		resize(selmon->sel, selmon->sel->x, selmon->sel->y, | 
															
														
														
													
														
															
																 | 
																 | 
																		       selmon->sel->w, selmon->sel->h, 0); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			selmon->sel->w, selmon->sel->h, 0); | 
															
														
														
													
														
															
																 | 
																 | 
																	arrange(selmon); | 
																 | 
																 | 
																	arrange(selmon); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1813,8 +1813,8 @@ updatebars(void) | 
															
														
														
													
														
															
																 | 
																 | 
																		if (m->barwin) | 
																 | 
																 | 
																		if (m->barwin) | 
															
														
														
													
														
															
																 | 
																 | 
																			continue; | 
																 | 
																 | 
																			continue; | 
															
														
														
													
														
															
																 | 
																 | 
																		m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen), | 
																 | 
																 | 
																		m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen), | 
															
														
														
													
														
															
																 | 
																 | 
																		                          CopyFromParent, DefaultVisual(dpy, screen), | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		                          CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				CopyFromParent, DefaultVisual(dpy, screen), | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); | 
															
														
														
													
														
															
																 | 
																 | 
																		XDefineCursor(dpy, m->barwin, cursor[CurNormal]->cursor); | 
																 | 
																 | 
																		XDefineCursor(dpy, m->barwin, cursor[CurNormal]->cursor); | 
															
														
														
													
														
															
																 | 
																 | 
																		XMapRaised(dpy, m->barwin); | 
																 | 
																 | 
																		XMapRaised(dpy, m->barwin); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1843,8 +1843,8 @@ updateclientlist() | 
															
														
														
													
														
															
																 | 
																 | 
																	for (m = mons; m; m = m->next) | 
																 | 
																 | 
																	for (m = mons; m; m = m->next) | 
															
														
														
													
														
															
																 | 
																 | 
																		for (c = m->clients; c; c = c->next) | 
																 | 
																 | 
																		for (c = m->clients; c; c = c->next) | 
															
														
														
													
														
															
																 | 
																 | 
																			XChangeProperty(dpy, root, netatom[NetClientList], | 
																 | 
																 | 
																			XChangeProperty(dpy, root, netatom[NetClientList], | 
															
														
														
													
														
															
																 | 
																 | 
																			                XA_WINDOW, 32, PropModeAppend, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			                (unsigned char *) &(c->win), 1); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				XA_WINDOW, 32, PropModeAppend, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				(unsigned char *) &(c->win), 1); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																int | 
																 | 
																 | 
																int | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1936,7 +1936,7 @@ updatenumlockmask(void) | 
															
														
														
													
														
															
																 | 
																 | 
																	for (i = 0; i < 8; i++) | 
																 | 
																 | 
																	for (i = 0; i < 8; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																		for (j = 0; j < modmap->max_keypermod; j++) | 
																 | 
																 | 
																		for (j = 0; j < modmap->max_keypermod; j++) | 
															
														
														
													
														
															
																 | 
																 | 
																			if (modmap->modifiermap[i * modmap->max_keypermod + j] | 
																 | 
																 | 
																			if (modmap->modifiermap[i * modmap->max_keypermod + j] | 
															
														
														
													
														
															
																 | 
																 | 
																			   == XKeysymToKeycode(dpy, XK_Num_Lock)) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				== XKeysymToKeycode(dpy, XK_Num_Lock)) | 
															
														
														
													
														
															
																 | 
																 | 
																				numlockmask = (1 << i); | 
																 | 
																 | 
																				numlockmask = (1 << i); | 
															
														
														
													
														
															
																 | 
																 | 
																	XFreeModifiermap(modmap); | 
																 | 
																 | 
																	XFreeModifiermap(modmap); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1982,7 +1982,7 @@ updatesizehints(Client *c) | 
															
														
														
													
														
															
																 | 
																 | 
																	} else | 
																 | 
																 | 
																	} else | 
															
														
														
													
														
															
																 | 
																 | 
																		c->maxa = c->mina = 0.0; | 
																 | 
																 | 
																		c->maxa = c->mina = 0.0; | 
															
														
														
													
														
															
																 | 
																 | 
																	c->isfixed = (c->maxw && c->minw && c->maxh && c->minh | 
																 | 
																 | 
																	c->isfixed = (c->maxw && c->minw && c->maxh && c->minh | 
															
														
														
													
														
															
																 | 
																 | 
																	              && c->maxw == c->minw && c->maxh == c->minh); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		&& c->maxw == c->minw && c->maxh == c->minh); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2092,7 +2092,7 @@ xerror(Display *dpy, XErrorEvent *ee) | 
															
														
														
													
														
															
																 | 
																 | 
																	|| (ee->request_code == X_CopyArea && ee->error_code == BadDrawable)) | 
																 | 
																 | 
																	|| (ee->request_code == X_CopyArea && ee->error_code == BadDrawable)) | 
															
														
														
													
														
															
																 | 
																 | 
																		return 0; | 
																 | 
																 | 
																		return 0; | 
															
														
														
													
														
															
																 | 
																 | 
																	fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n", | 
																 | 
																 | 
																	fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n", | 
															
														
														
													
														
															
																 | 
																 | 
																	        ee->request_code, ee->error_code); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		ee->request_code, ee->error_code); | 
															
														
														
													
														
															
																 | 
																 | 
																	return xerrorxlib(dpy, ee); /* may call exit */ | 
																 | 
																 | 
																	return xerrorxlib(dpy, ee); /* may call exit */ | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |