some cleanup handling for index based mon search
This commit is contained in:
		
							parent
							
								
									27db9d4448
								
							
						
					
					
						commit
						029655bb22
					
				
							
								
								
									
										37
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								dwm.c
									
									
									
									
									
								
							| @ -177,6 +177,7 @@ static void focusstack(const Arg *arg); | |||||||
| static Client *getclient(Window w); | static Client *getclient(Window w); | ||||||
| static unsigned long getcolor(const char *colstr); | static unsigned long getcolor(const char *colstr); | ||||||
| static Monitor *getmon(Window w); | static Monitor *getmon(Window w); | ||||||
|  | static Monitor *getmonn(unsigned int n); | ||||||
| static Monitor *getmonxy(int x, int y); | static Monitor *getmonxy(int x, int y); | ||||||
| static Bool getrootpointer(int *x, int *y); | static Bool getrootpointer(int *x, int *y); | ||||||
| static long getstate(Window w); | static long getstate(Window w); | ||||||
| @ -800,18 +801,13 @@ focusin(XEvent *e) { /* there are some broken focus acquiring clients */ | |||||||
| #ifdef XINERAMA | #ifdef XINERAMA | ||||||
| void | void | ||||||
| focusmon(const Arg *arg) { | focusmon(const Arg *arg) { | ||||||
| 	unsigned int i; | 	Monitor *m; | ||||||
| 	Monitor *m;  |  | ||||||
| 
 | 
 | ||||||
| 	for(i = 0, m = mons; m; m = m->next, i++) | 	if(!(m = getmonn(arg->ui)) || m == selmon) | ||||||
| 		if(i == arg->ui) { | 		return; | ||||||
| 			if(m == selmon) | 	unfocus(selmon->sel); | ||||||
| 				return; | 	selmon = m; | ||||||
| 			unfocus(selmon->sel); | 	focus(NULL); | ||||||
| 			selmon = m; |  | ||||||
| 			focus(NULL); |  | ||||||
| 			break; |  | ||||||
| 		} |  | ||||||
| } | } | ||||||
| #endif /* XINERAMA */ | #endif /* XINERAMA */ | ||||||
| 
 | 
 | ||||||
| @ -879,6 +875,15 @@ getmon(Window w) { | |||||||
| 	return NULL; | 	return NULL; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | Monitor * | ||||||
|  | getmonn(unsigned int n) { | ||||||
|  | 	unsigned int i; | ||||||
|  | 	Monitor *m; | ||||||
|  | 
 | ||||||
|  | 	for(m = mons, i = 0; m && i != n; m = m->next, i++); | ||||||
|  | 	return m; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| Monitor * | Monitor * | ||||||
| getmonxy(int x, int y) { | getmonxy(int x, int y) { | ||||||
| 	Monitor *m; | 	Monitor *m; | ||||||
| @ -1542,17 +1547,11 @@ tag(const Arg *arg) { | |||||||
| #ifdef XINERAMA | #ifdef XINERAMA | ||||||
| void | void | ||||||
| tagmon(const Arg *arg) { | tagmon(const Arg *arg) { | ||||||
| 	unsigned int i; |  | ||||||
| 	Client *c; |  | ||||||
| 	Monitor *m; | 	Monitor *m; | ||||||
| 
 | 
 | ||||||
| 	if(!(c = selmon->sel)) | 	if(!selmon->sel || !(m = getmonn(arg->ui))) | ||||||
| 		return; | 		return; | ||||||
| 	for(i = 0, m = mons; m; m = m->next, i++) | 	sendmon(selmon->sel, m); | ||||||
| 		if(i == arg->ui) { |  | ||||||
| 			sendmon(c, m); |  | ||||||
| 			break; |  | ||||||
| 		} |  | ||||||
| } | } | ||||||
| #endif /* XINERAMA */ | #endif /* XINERAMA */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user