removed the stack position stuff
							parent
							
								
									1c1d09f3e9
								
							
						
					
					
						commit
						10885d349a
					
				
							
								
								
									
										11
									
								
								config.arg.h
								
								
								
								
							
							
						
						
									
										11
									
								
								config.arg.h
								
								
								
								
							|  | @ -8,9 +8,7 @@ const char *tags[] = { "dev", "work", "net", "fnord", NULL }; | |||
| 
 | ||||
| #define DEFMODE			dotile		/* dofloat */ | ||||
| #define FLOATSYMBOL		"><>" | ||||
| #define STACKPOS		StackRight	/* StackLeft */ | ||||
| #define BSTACKSYMBOL		"===" | ||||
| #define VSTACKSYMBOL		"[]=" | ||||
| #define TILESYMBOL		"[]=" | ||||
| 
 | ||||
| #define FONT			"-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*" | ||||
| #define NORMBGCOLOR		"#333333" | ||||
|  | @ -20,7 +18,7 @@ const char *tags[] = { "dev", "work", "net", "fnord", NULL }; | |||
| #define STATUSBGCOLOR		"#222222" | ||||
| #define STATUSFGCOLOR		"#9999cc" | ||||
| 
 | ||||
| #define MASTER			600 /* per mill */ | ||||
| #define MASTER			600 /* per thousand */ | ||||
| #define MODKEY			Mod1Mask | ||||
| 
 | ||||
| #define KEYS \ | ||||
|  | @ -36,9 +34,8 @@ static Key key[] = { \ | |||
| 	{ MODKEY,			XK_j,		focusnext,	{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_k,		focusprev,	{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_b,		togglestackpos,	{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_g,		resizecol,	{ .i = 10 } }, \ | ||||
| 	{ MODKEY,			XK_s,		resizecol,	{ .i = -10 } }, \ | ||||
| 	{ MODKEY,			XK_g,		resizecol,	{ .i = 15 } }, \ | ||||
| 	{ MODKEY,			XK_s,		resizecol,	{ .i = -15 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \ | ||||
|  |  | |||
|  | @ -8,9 +8,7 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL }; | |||
| 
 | ||||
| #define DEFMODE			dotile /* dofloat */ | ||||
| #define FLOATSYMBOL		"><>" | ||||
| #define STACKPOS		StackRight	/* StackLeft */ | ||||
| #define BSTACKSYMBOL		"===" | ||||
| #define VSTACKSYMBOL		"[]=" | ||||
| #define TILESYMBOL		"[]=" | ||||
| 
 | ||||
| #define FONT			"fixed" | ||||
| #define NORMBGCOLOR		"#333366" | ||||
|  | @ -20,7 +18,7 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL }; | |||
| #define STATUSBGCOLOR		"#dddddd" | ||||
| #define STATUSFGCOLOR		"#222222" | ||||
| 
 | ||||
| #define MASTER			600 /* per mill */ | ||||
| #define MASTER			600 /* per thousand */ | ||||
| #define MODKEY			Mod1Mask | ||||
| 
 | ||||
| #define KEYS \ | ||||
|  | @ -30,9 +28,8 @@ static Key key[] = { \ | |||
| 	{ MODKEY,			XK_Tab,		focusnext,	{ 0 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_Tab,		focusprev,	{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_b,		togglestackpos,	{ 0 } }, \ | ||||
| 	{ MODKEY,			XK_g,		resizecol,	{ .i = 10 } }, \ | ||||
| 	{ MODKEY,			XK_s,		resizecol,	{ .i = -10 } }, \ | ||||
| 	{ MODKEY,			XK_g,		resizecol,	{ .i = 15 } }, \ | ||||
| 	{ MODKEY,			XK_s,		resizecol,	{ .i = -15 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \ | ||||
| 	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \ | ||||
|  |  | |||
							
								
								
									
										4
									
								
								draw.c
								
								
								
								
							
							
						
						
									
										4
									
								
								draw.c
								
								
								
								
							|  | @ -104,9 +104,7 @@ drawstatus(void) { | |||
| 	} | ||||
| 
 | ||||
| 	dc.w = bmw; | ||||
| 	drawtext(arrange == dofloat ? | ||||
| 		FLOATSYMBOL : stackpos == StackBottom ? | ||||
| 			BSTACKSYMBOL : VSTACKSYMBOL, dc.status, False); | ||||
| 	drawtext(arrange == dofloat ?  FLOATSYMBOL : TILESYMBOL, dc.status, False); | ||||
| 
 | ||||
| 	x = dc.x + dc.w; | ||||
| 	dc.w = textw(stext); | ||||
|  |  | |||
							
								
								
									
										6
									
								
								dwm.1
								
								
								
								
							
							
						
						
									
										6
									
								
								dwm.1
								
								
								
								
							|  | @ -40,8 +40,7 @@ click on a tag label to display all windows with that tag, click on the mode | |||
| label toggles between tiling and floating mode. | ||||
| .TP | ||||
| .B Button3 | ||||
| click on a tag label adds/removes all windows with that tag to/from the view, | ||||
| click on the mode label toggles the stack position (tiling mode). | ||||
| click on a tag label adds/removes all windows with that tag to/from the view. | ||||
| .TP | ||||
| .B Mod1-Button1 | ||||
| click on a tag label applies that tag to the focused window. | ||||
|  | @ -63,9 +62,6 @@ Focus previous window. | |||
| .B Mod1-Return | ||||
| Zooms/cycles current window to/from master area (tiling mode), toggles maximization current window (floating mode). | ||||
| .TP | ||||
| .B Mod1-b | ||||
| Toggle stack position (tiling mode only). | ||||
| .TP | ||||
| .B Mod1-g | ||||
| Grow current area (tiling mode only). | ||||
| .TP | ||||
|  |  | |||
							
								
								
									
										6
									
								
								dwm.h
								
								
								
								
							
							
						
						
									
										6
									
								
								dwm.h
								
								
								
								
							|  | @ -47,10 +47,6 @@ enum { WMProtocols, WMDelete, WMLast };			/* default atoms */ | |||
| enum { CurNormal, CurResize, CurMove, CurLast };	/* cursor */ | ||||
| enum { ColFG, ColBG, ColLast };				/* color */ | ||||
| 
 | ||||
| typedef enum { | ||||
| 	StackLeft, StackBottom, StackRight | ||||
| } StackPos; /* stack position*/ | ||||
| 
 | ||||
| typedef enum { | ||||
| 	TopLeft, TopRight, BotLeft, BotRight | ||||
| } Corner; /* window corners */ | ||||
|  | @ -111,7 +107,6 @@ extern Client *clients, *sel, *stack;		/* global client list and stack */ | |||
| extern Cursor cursor[CurLast]; | ||||
| extern DC dc;					/* global draw context */ | ||||
| extern Display *dpy; | ||||
| extern StackPos stackpos; | ||||
| extern Window root, barwin; | ||||
| 
 | ||||
| /* client.c */ | ||||
|  | @ -170,7 +165,6 @@ extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ign | |||
| extern Bool isvisible(Client *c);		/* returns True if client is visible */ | ||||
| extern void resizecol(Arg *arg);		/* resizes the master percent with arg's index value */ | ||||
| extern void restack(void);			/* restores z layers of all clients */ | ||||
| extern void togglestackpos(Arg *arg);		/* toggles stack position */ | ||||
| extern void togglemode(Arg *arg);		/* toggles global arrange function (dotile/dofloat) */ | ||||
| extern void toggleview(Arg *arg);		/* toggles the tag with arg's index (in)visible */ | ||||
| extern void view(Arg *arg);			/* views the tag with arg's index */ | ||||
|  |  | |||
							
								
								
									
										8
									
								
								event.c
								
								
								
								
							
							
						
						
									
										8
									
								
								event.c
								
								
								
								
							|  | @ -123,12 +123,8 @@ buttonpress(XEvent *e) { | |||
| 				return; | ||||
| 			} | ||||
| 		} | ||||
| 		if(ev->x < x + bmw) { | ||||
| 			if(ev->button == Button1) | ||||
| 				togglemode(NULL); | ||||
| 			else if(ev->button == Button3) | ||||
| 				togglestackpos(NULL); | ||||
| 		} | ||||
| 		if((ev->x < x + bmw) && (ev->button == Button1)) | ||||
| 			togglemode(NULL); | ||||
| 	} | ||||
| 	else if((c = getclient(ev->window))) { | ||||
| 		focus(c); | ||||
|  |  | |||
							
								
								
									
										5
									
								
								main.c
								
								
								
								
							
							
						
						
									
										5
									
								
								main.c
								
								
								
								
							|  | @ -129,10 +129,7 @@ setup(void) { | |||
| 	dc.status[ColFG] = getcolor(STATUSFGCOLOR); | ||||
| 	setfont(FONT); | ||||
|   | ||||
| 	bmw = textw(VSTACKSYMBOL) > textw(BSTACKSYMBOL) ? | ||||
| 		textw(VSTACKSYMBOL) : textw(BSTACKSYMBOL); | ||||
| 	bmw = bmw > textw(FLOATSYMBOL) ? | ||||
| 		bmw : textw(FLOATSYMBOL); | ||||
| 	bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ?  textw(TILESYMBOL) : textw(FLOATSYMBOL); | ||||
| 	sx = sy = 0; | ||||
| 	sw = DisplayWidth(dpy, screen); | ||||
| 	sh = DisplayHeight(dpy, screen); | ||||
|  |  | |||
							
								
								
									
										71
									
								
								view.c
								
								
								
								
							
							
						
						
									
										71
									
								
								view.c
								
								
								
								
							|  | @ -65,7 +65,6 @@ togglemax(Client *c) | |||
| /* extern */ | ||||
| 
 | ||||
| void (*arrange)(Arg *) = DEFMODE; | ||||
| StackPos stackpos = STACKPOS; | ||||
| 
 | ||||
| void | ||||
| detach(Client *c) { | ||||
|  | @ -103,28 +102,19 @@ dofloat(Arg *arg) { | |||
|  */ | ||||
| void | ||||
| dotile(Arg *arg) { | ||||
| 	unsigned int i, n, md, stackw, stackh, tw, th; | ||||
| 	unsigned int i, n, md, stackw, stackh, th; | ||||
| 	Client *c; | ||||
| 
 | ||||
| 	for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) | ||||
| 		n++; | ||||
| 
 | ||||
| 	if(stackpos == StackBottom) { | ||||
| 		md = ((sh - bh) * master) / 1000; | ||||
| 		stackw = sw; | ||||
| 		stackh = sh - bh - md; | ||||
| 	} | ||||
| 	else { | ||||
| 		md = (sw * master) / 1000; | ||||
| 		stackw = sw - md; | ||||
| 		stackh = sh - bh; | ||||
| 	} | ||||
| 	md = (sw * master) / 1000; | ||||
| 	stackw = sw - md; | ||||
| 	stackh = sh - bh; | ||||
| 
 | ||||
| 	tw = stackw; | ||||
| 	th = stackh; | ||||
| 	if(n > 1) | ||||
| 		th = stackh / (n - 1); | ||||
| 	else | ||||
| 		th = stackh; | ||||
| 		th /= (n - 1); | ||||
| 
 | ||||
| 	for(i = 0, c = clients; c; c = c->next) { | ||||
| 		if(isvisible(c)) { | ||||
|  | @ -140,43 +130,19 @@ dotile(Arg *arg) { | |||
| 				c->h = sh - 2 * BORDERPX - bh; | ||||
| 			} | ||||
| 			else if(i == 0) { /* master window */ | ||||
| 				if(stackpos == StackLeft) | ||||
| 					c->x += stackw; | ||||
| 				switch(stackpos) { | ||||
| 				case StackLeft: | ||||
| 				case StackRight: | ||||
| 					c->w = md - 2 * BORDERPX; | ||||
| 					c->h = sh - bh - 2 * BORDERPX; | ||||
| 					break; | ||||
| 				case StackBottom: | ||||
| 					c->w = sw - 2 * BORDERPX; | ||||
| 					c->h = md - 2 * BORDERPX; | ||||
| 					break; | ||||
| 				} | ||||
| 				c->w = md - 2 * BORDERPX; | ||||
| 				c->h = sh - bh - 2 * BORDERPX; | ||||
| 			} | ||||
| 			else {  /* tile window */ | ||||
| 				if(stackpos == StackRight) | ||||
| 					c->x += md; | ||||
| 				c->x += md; | ||||
| 				if(th > bh) { | ||||
| 					switch(stackpos) { | ||||
| 					case StackLeft: | ||||
| 					case StackRight: | ||||
| 						c->y = sy + (i - 1) * th + bh; | ||||
| 						if(i + 1 == n) | ||||
| 							c->h = sh - c->y - 2 * BORDERPX; | ||||
| 						break; | ||||
| 					case StackBottom: | ||||
| 						c->y = sy + md + (i - 1) * th + bh; | ||||
| 						if(i + 1 == n) | ||||
| 							c->h = sh - c->y - 2 * BORDERPX; | ||||
| 						break; | ||||
| 					} | ||||
| 					c->w = tw - 2 * BORDERPX; | ||||
| 					c->y = sy + (i - 1) * th + bh; | ||||
| 					if(i + 1 == n) | ||||
| 						c->h = sh - c->y - 2 * BORDERPX; | ||||
| 					c->w = stackw - 2 * BORDERPX; | ||||
| 					c->h = th - 2 * BORDERPX; | ||||
| 				} | ||||
| 				else { /* fallback if th < bh */ | ||||
| 					if(stackpos == StackBottom) | ||||
| 						c->y += md; | ||||
| 					c->w = stackw - 2 * BORDERPX; | ||||
| 					c->h = stackh - 2 * BORDERPX; | ||||
| 				} | ||||
|  | @ -311,17 +277,6 @@ toggleview(Arg *arg) { | |||
| 	arrange(NULL); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| togglestackpos(Arg *arg) { | ||||
| 	if(arrange == dofloat) | ||||
| 		return; | ||||
| 	if(stackpos == StackBottom) | ||||
| 		stackpos = STACKPOS; | ||||
| 	else | ||||
| 		stackpos = StackBottom; | ||||
| 	arrange(NULL); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| view(Arg *arg) { | ||||
| 	unsigned int i; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue