28 lines
		
	
	
		
			559 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			559 B
		
	
	
	
		
			C
		
	
	
	
	
	
void
 | 
						|
switchcol(const Arg *arg)
 | 
						|
{
 | 
						|
	Client *c, *t;
 | 
						|
	int col = 0;
 | 
						|
	int i;
 | 
						|
 | 
						|
	if (!selmon->sel)
 | 
						|
		return;
 | 
						|
	for (i = 0, c = nexttiled(selmon->clients); c ;
 | 
						|
	     c = nexttiled(c->next), i++) {
 | 
						|
		if (c == selmon->sel)
 | 
						|
			col = (i + 1) > selmon->nmaster;
 | 
						|
	}
 | 
						|
	if (i <= selmon->nmaster)
 | 
						|
		return;
 | 
						|
	for (c = selmon->stack; c; c = c->snext) {
 | 
						|
		if (!ISVISIBLE(c))
 | 
						|
			continue;
 | 
						|
		for (i = 0, t = nexttiled(selmon->clients); t && t != c;
 | 
						|
		     t = nexttiled(t->next), i++);
 | 
						|
		if (t && (i + 1 > selmon->nmaster) != col) {
 | 
						|
			focus(c);
 | 
						|
			restack(selmon);
 | 
						|
			break;
 | 
						|
		}
 | 
						|
	}
 | 
						|
} |