diff options
| author | Anselm R Garbe <anselm@garbe.us> | 2009-06-23 17:34:20 +0100 | 
|---|---|---|
| committer | Anselm R Garbe <anselm@garbe.us> | 2009-06-23 17:34:20 +0100 | 
| commit | 54dc0d542cbc8eada2250fe80d161a272f30ddac (patch) | |
| tree | 14106e73f128f403ef2a6ca56468b1c69a81399e | |
| parent | 913333f51840d942bdde891eb2fb3c7f66b83db1 (diff) | |
| download | dwm-54dc0d542cbc8eada2250fe80d161a272f30ddac.tar.gz | |
fixed tagmon, re-using detach/detachstack and attach/attachstack
| -rw-r--r-- | config.mk | 4 | ||||
| -rw-r--r-- | dwm.c | 23 | 
2 files changed, 18 insertions, 9 deletions
| @@ -11,8 +11,8 @@ X11INC = /usr/X11R6/include  X11LIB = /usr/X11R6/lib  # Xinerama, un-comment if you want it -#XINERAMALIBS = -L${X11LIB} -lXinerama -#XINERAMAFLAGS = -DXINERAMA +XINERAMALIBS = -L${X11LIB} -lXinerama +XINERAMAFLAGS = -DXINERAMA  # includes and libs  INCS = -I. -I/usr/include -I${X11INC} @@ -375,14 +375,14 @@ arrange(void) {  void  attach(Client *c) { -	c->next = selmon->clients; -	selmon->clients = c; +	c->next = c->mon->clients; +	c->mon->clients = c;  }  void  attachstack(Client *c) { -	c->snext = selmon->stack; -	selmon->stack = c; +	c->snext = c->mon->stack; +	c->mon->stack = c;  }  void @@ -1475,11 +1475,20 @@ tag(const Arg *arg) {  void  tagmon(const Arg *arg) {  	unsigned int i; +	Client *c;  	Monitor *m; +	if(!(c = selmon->sel)) +		return;  	for(i = 0, m = mons; m; m = m->next, i++)  		if(i == arg->ui) { -			selmon->sel->m = m; +			detach(c); +			detachstack(c); +			c->mon = m; +			attach(c); +			attachstack(c); +			selmon->sel = selmon->stack; +			m->sel = c;  			arrange();  			break;  		} @@ -1695,7 +1704,7 @@ updategeom(void) {  		for(tm = mons; tm; tm = tm->next)  			if(tm->screen_number == m->screen_number) {  				m->clients = tm->clients; -				m->stack = tm->stack; +				m->sel = m->stack = tm->stack;  				tm->clients = NULL;  				tm->stack = NULL;  				for(c = m->clients; c; c = c->next) @@ -1715,7 +1724,7 @@ updategeom(void) {  		while(tm->stack) {  			c = tm->stack->snext;  			tm->stack->snext = newmons->stack; -			newmons->stack = tm->stack; +			newmons->sel = newmons->stack = tm->stack;  			tm->stack = c;  		}  	} | 
