fixed tagmon, re-using detach/detachstack and attach/attachstack
This commit is contained in:
		
							parent
							
								
									913333f518
								
							
						
					
					
						commit
						54dc0d542c
					
				| 
						 | 
				
			
			@ -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…
	
		Reference in New Issue