removed the stack position stuff
This commit is contained in:
		
							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