fixed tagmon, re-using detach/detachstack and attach/attachstack
This commit is contained in:
		
							parent
							
								
									913333f518
								
							
						
					
					
						commit
						54dc0d542c
					
				
					 2 changed files with 18 additions and 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} | ||||
|  |  | |||
							
								
								
									
										23
									
								
								dwm.c
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								dwm.c
									
										
									
									
									
								
							|  | @ -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; | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue