applied Gottox' ClkTagBar patch
This commit is contained in:
		
							parent
							
								
									c2a916bf30
								
							
						
					
					
						commit
						b86c818599
					
				
							
								
								
									
										19
									
								
								config.def.h
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								config.def.h
									
									
									
									
									
								
							| @ -84,12 +84,6 @@ static Key keys[] = { | ||||
| }; | ||||
| 
 | ||||
| /* button definitions */ | ||||
| #define TAGBUTTONS(TAG) \ | ||||
| 	{ TAG,                  0,              Button1,        view,           {.ui = 1 << TAG} }, \ | ||||
| 	{ TAG,                  0,              Button3,        toggleview,     {.ui = 1 << TAG} }, \ | ||||
| 	{ TAG,                  MODKEY,         Button1,        tag,            {.ui = 1 << TAG} }, \ | ||||
| 	{ TAG,                  MODKEY,         Button3,        toggletag,      {.ui = 1 << TAG} }, | ||||
| 
 | ||||
| /* click can be a tag number (starting at 0),
 | ||||
|  * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ | ||||
| static Button buttons[] = { | ||||
| @ -101,14 +95,9 @@ static Button buttons[] = { | ||||
| 	{ ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} }, | ||||
| 	{ ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} }, | ||||
| 	{ ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} }, | ||||
| 	TAGBUTTONS(0) | ||||
| 	TAGBUTTONS(1) | ||||
| 	TAGBUTTONS(2) | ||||
| 	TAGBUTTONS(3) | ||||
| 	TAGBUTTONS(4) | ||||
| 	TAGBUTTONS(5) | ||||
| 	TAGBUTTONS(6) | ||||
| 	TAGBUTTONS(7) | ||||
| 	TAGBUTTONS(8) | ||||
| 	{ ClkTagBar,            0,              Button1,        view,           {0} }, \ | ||||
| 	{ ClkTagBar,            0,              Button3,        toggleview,     {0} }, \ | ||||
| 	{ ClkTagBar,            MODKEY,         Button1,        tag,            {0} }, \ | ||||
| 	{ ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} }, | ||||
| }; | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										18
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								dwm.c
									
									
									
									
									
								
							| @ -60,7 +60,7 @@ enum { CurNormal, CurResize, CurMove, CurLast };        /* cursor */ | ||||
| enum { ColBorder, ColFG, ColBG, ColLast };              /* color */ | ||||
| enum { NetSupported, NetWMName, NetLast };              /* EWMH atoms */ | ||||
| enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ | ||||
| enum { ClkLtSymbol = 64, ClkStatusText, ClkWinTitle, | ||||
| enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, | ||||
|        ClkClientWin, ClkRootWin, ClkLast };             /* clicks */ | ||||
| 
 | ||||
| /* typedefs */ | ||||
| @ -304,17 +304,18 @@ attachstack(Client *c) { | ||||
| void | ||||
| buttonpress(XEvent *e) { | ||||
| 	uint i, x, click; | ||||
| 	Arg arg = {0}; | ||||
| 	Client *c; | ||||
| 	XButtonPressedEvent *ev = &e->xbutton; | ||||
| 
 | ||||
| 	click = ClkRootWin; | ||||
| 	if(ev->window == barwin) { | ||||
| 		i = x = 0; | ||||
| 		do | ||||
| 		for(i = x = 0; ev->x >= x && ++i < LENGTH(tags); i++) | ||||
| 			x += TEXTW(tags[i]); | ||||
| 		while(ev->x >= x && ++i < LENGTH(tags)); | ||||
| 		if(i < LENGTH(tags)) | ||||
| 			click = i; | ||||
| 		if(i < LENGTH(tags)) { | ||||
| 			click = ClkTagBar; | ||||
| 			arg.ui = 1 << i; | ||||
| 		} | ||||
| 		else if(ev->x < x + blw) | ||||
| 			click = ClkLtSymbol; | ||||
| 		else if(ev->x > wx + ww - TEXTW(stext)) | ||||
| @ -330,7 +331,7 @@ buttonpress(XEvent *e) { | ||||
| 	for(i = 0; i < LENGTH(buttons); i++) | ||||
| 		if(click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button | ||||
| 		   && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) | ||||
| 			buttons[i].func(&buttons[i].arg); | ||||
| 			buttons[i].func(click == ClkTagBar ? &arg : &buttons[i].arg); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| @ -1295,8 +1296,9 @@ setclientstate(Client *c, long state) { | ||||
| 
 | ||||
| void | ||||
| setlayout(const Arg *arg) { | ||||
| 	if(!arg || !arg->v || arg->v != lt[sellt]) | ||||
| 		sellt ^= 1; | ||||
| 	if(arg && arg->v && arg->v != lt[sellt]) | ||||
| 	if(arg && arg->v) | ||||
| 		lt[sellt] = (Layout *)arg->v; | ||||
| 	if(sel) | ||||
| 		arrange(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R Garbe
						Anselm R Garbe