diff options
| -rw-r--r-- | config.arg.h | 4 | ||||
| -rw-r--r-- | config.default.h | 4 | ||||
| -rw-r--r-- | dwm.h | 6 | ||||
| -rw-r--r-- | main.c | 6 | ||||
| -rw-r--r-- | view.c | 24 | 
5 files changed, 20 insertions, 24 deletions
| diff --git a/config.arg.h b/config.arg.h index 47f7cd9..e32753d 100644 --- a/config.arg.h +++ b/config.arg.h @@ -37,8 +37,8 @@ static Key key[] = { \  	{ MODKEY,			XK_k,		focusprev,	{ 0 } }, \  	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \  	{ MODKEY,			XK_b,		togglestackpos,	{ 0 } }, \ -	{ MODKEY,			XK_g,		resizecol,	{ .i = 20 } }, \ -	{ MODKEY,			XK_s,		resizecol,	{ .i = -20 } }, \ +	{ MODKEY,			XK_g,		resizecol,	{ .i = 1 } }, \ +	{ MODKEY,			XK_s,		resizecol,	{ .i = -1 } }, \  	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \  	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \  	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \ diff --git a/config.default.h b/config.default.h index 8075264..e97fea8 100644 --- a/config.default.h +++ b/config.default.h @@ -31,8 +31,8 @@ static Key key[] = { \  	{ MODKEY|ShiftMask,		XK_Tab,		focusprev,	{ 0 } }, \  	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \  	{ MODKEY,			XK_b,		togglestackpos,	{ 0 } }, \ -	{ MODKEY,			XK_g,		resizecol,	{ .i = 20 } }, \ -	{ MODKEY,			XK_s,		resizecol,	{ .i = -20 } }, \ +	{ MODKEY,			XK_g,		resizecol,	{ .i = 1 } }, \ +	{ MODKEY,			XK_s,		resizecol,	{ .i = -1 } }, \  	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \  	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \  	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \ @@ -101,8 +101,8 @@ struct Client {  extern const char *tags[];			/* all tags */  extern char stext[1024];			/* status text */  extern int bx, by, bw, bh, bmw;			/* bar geometry, bar mode label width */ -extern int master, screen, sx, sy, sw, sh;	/* screen geometry, master dimension*/ -extern unsigned int ntags, numlockmask;		/* number of tags, dynamic lock mask */ +extern int screen, sx, sy, sw, sh;		/* screen geometry */ +extern unsigned int master, ntags, numlockmask;	/* master percent, number of tags, dynamic lock mask */  extern void (*handler[LASTEvent])(XEvent *);	/* event handler */  extern void (*arrange)(Arg *);			/* arrange function, indicates mode  */  extern Atom wmatom[WMLast], netatom[NetLast]; @@ -168,7 +168,7 @@ extern void dotile(Arg *arg);			/* arranges all windows, arg is ignored */  extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */  extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */  extern Bool isvisible(Client *c);		/* returns True if client is visible */ -extern void resizecol(Arg *arg);		/* resizes the master dimension with arg's index value */ +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) */ @@ -19,8 +19,8 @@  char stext[1024];  Bool *seltag; -int bx, by, bw, bh, bmw, master, screen, sx, sy, sw, sh; -unsigned int ntags, numlockmask; +int bx, by, bw, bh, bmw, masterd, screen, sx, sy, sw, sh; +unsigned int master, ntags, numlockmask;  Atom wmatom[WMLast], netatom[NetLast];  Bool running = True;  Bool issel = True; @@ -136,7 +136,7 @@ setup(void) {  	sx = sy = 0;  	sw = DisplayWidth(dpy, screen);  	sh = DisplayHeight(dpy, screen); -	master = ((stackpos == StackBottom ? sh - bh : sw) * MASTER) / 100; +	master = MASTER;  	bx = by = 0;  	bw = sw; @@ -4,8 +4,6 @@   */  #include "dwm.h" -#define MINDIM			100 -  /* static */  static Client * @@ -106,6 +104,7 @@ dofloat(Arg *arg) {  void  dotile(Arg *arg) {  	int i, n, stackw, stackh, tw, th; +	unsigned int md = ((stackpos == StackBottom ? sh - bh : sw) * master) / 100;  	Client *c;  	for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) @@ -113,10 +112,10 @@ dotile(Arg *arg) {  	if(stackpos == StackBottom) {  		stackw = sw; -		stackh = sh - bh - master; +		stackh = sh - bh - md;  	}  	else { -		stackw = sw - master; +		stackw = sw - md;  		stackh = sh - bh;  	} @@ -145,18 +144,18 @@ dotile(Arg *arg) {  				switch(stackpos) {  				case StackLeft:  				case StackRight: -					c->w = master - 2 * BORDERPX; +					c->w = md - 2 * BORDERPX;  					c->h = sh - bh - 2 * BORDERPX;  					break;  				case StackBottom:  					c->w = sw - 2 * BORDERPX; -					c->h = master - 2 * BORDERPX; +					c->h = md - 2 * BORDERPX;  					break;  				}  			}  			else {  /* tile window */  				if(stackpos == StackRight) -					c->x += master; +					c->x += md;  				if(th > bh) {  					switch(stackpos) {  					case StackLeft: @@ -166,7 +165,7 @@ dotile(Arg *arg) {  							c->h = sh - c->y - 2 * BORDERPX;  						break;  					case StackBottom: -						c->y = sy + master + (i - 1) * th + bh; +						c->y = sy + md + (i - 1) * th + bh;  						if(i + 1 == n)  							c->h = sh - c->y - 2 * BORDERPX;  						break; @@ -176,7 +175,7 @@ dotile(Arg *arg) {  				}  				else { /* fallback if th < bh */  					if(stackpos == StackBottom) -						c->y += master; +						c->y += md;  					c->w = stackw - 2 * BORDERPX;  					c->h = stackh - 2 * BORDERPX;  				} @@ -238,7 +237,6 @@ isvisible(Client *c) {  void  resizecol(Arg *arg) { -	int s;  	unsigned int n;  	Client *c; @@ -248,14 +246,13 @@ resizecol(Arg *arg) {  	if(!sel || sel->isfloat || n < 2 || (arrange == dofloat))  		return; -	s = stackpos == StackBottom ? sh - bh : sw;  	if(sel == getnext(clients)) { -		if(master + arg->i > s - MINDIM || master + arg->i < MINDIM) +		if(master + arg->i > 95 || master + arg->i < 5)  			return;  		master += arg->i;  	}  	else { -		if(master - arg->i > s - MINDIM || master - arg->i < MINDIM) +		if(master - arg->i > 95 || master - arg->i < 5)  			return;  		master -= arg->i;  	} @@ -321,7 +318,6 @@ togglestackpos(Arg *arg) {  		stackpos = STACKPOS;  	else  		stackpos = StackBottom; -	master = ((stackpos == StackBottom ? sh - bh : sw) * MASTER) / 100;  	arrange(NULL);  } | 
