moved focus{next,prev} and nexttiled from client.c to layout.c (because those are not client-specific), moved toggleversatile() from layout.c to client.c (because those are client-specific)
This commit is contained in:
		
							parent
							
								
									f196b71e4d
								
							
						
					
					
						commit
						29c26b88e7
					
				
							
								
								
									
										46
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								client.c
									
									
									
									
									
								
							| @ -170,38 +170,6 @@ focus(Client *c) { | |||||||
| 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void |  | ||||||
| focusnext(Arg *arg) { |  | ||||||
| 	Client *c; |  | ||||||
|     |  | ||||||
| 	if(!sel) |  | ||||||
| 		return; |  | ||||||
| 	for(c = sel->next; c && !isvisible(c); c = c->next); |  | ||||||
| 	if(!c) |  | ||||||
| 		for(c = clients; c && !isvisible(c); c = c->next); |  | ||||||
| 	if(c) { |  | ||||||
| 		focus(c); |  | ||||||
| 		restack(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void |  | ||||||
| focusprev(Arg *arg) { |  | ||||||
| 	Client *c; |  | ||||||
| 
 |  | ||||||
| 	if(!sel) |  | ||||||
| 		return; |  | ||||||
| 	for(c = sel->prev; c && !isvisible(c); c = c->prev); |  | ||||||
| 	if(!c) { |  | ||||||
| 		for(c = clients; c && c->next; c = c->next); |  | ||||||
| 		for(; c && !isvisible(c); c = c->prev); |  | ||||||
| 	} |  | ||||||
| 	if(c) { |  | ||||||
| 		focus(c); |  | ||||||
| 		restack(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void | void | ||||||
| killclient(Arg *arg) { | killclient(Arg *arg) { | ||||||
| 	if(!sel) | 	if(!sel) | ||||||
| @ -266,12 +234,6 @@ manage(Window w, XWindowAttributes *wa) { | |||||||
| 	lt->arrange(); | 	lt->arrange(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Client * |  | ||||||
| nexttiled(Client *c) { |  | ||||||
| 	for(; c && (c->isversatile || !isvisible(c)); c = c->next); |  | ||||||
| 	return c; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void | void | ||||||
| resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | ||||||
| 	float actual, dx, dy, max, min; | 	float actual, dx, dy, max, min; | ||||||
| @ -340,6 +302,14 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | toggleversatile(Arg *arg) { | ||||||
|  | 	if(!sel || lt->arrange == versatile) | ||||||
|  | 		return; | ||||||
|  | 	sel->isversatile = !sel->isversatile; | ||||||
|  | 	lt->arrange(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void | void | ||||||
| updatesizehints(Client *c) { | updatesizehints(Client *c) { | ||||||
| 	long msize; | 	long msize; | ||||||
|  | |||||||
							
								
								
									
										8
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dwm.h
									
									
									
									
									
								
							| @ -105,13 +105,11 @@ extern Window root, barwin; | |||||||
| /* client.c */ | /* client.c */ | ||||||
| extern void configure(Client *c);		/* send synthetic configure event */ | extern void configure(Client *c);		/* send synthetic configure event */ | ||||||
| extern void focus(Client *c);			/* focus c, c may be NULL */ | extern void focus(Client *c);			/* focus c, c may be NULL */ | ||||||
| extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */ |  | ||||||
| extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */ |  | ||||||
| extern void killclient(Arg *arg);		/* kill c nicely */ | extern void killclient(Arg *arg);		/* kill c nicely */ | ||||||
| extern void manage(Window w, XWindowAttributes *wa);	/* manage new client */ | extern void manage(Window w, XWindowAttributes *wa);	/* manage new client */ | ||||||
| extern Client *nexttiled(Client *c);		/* returns tiled successor of c */ |  | ||||||
| extern void resize(Client *c, int x, int y, | extern void resize(Client *c, int x, int y, | ||||||
| 		int w, int h, Bool sizehints);	/* resize with given coordinates c*/ | 		int w, int h, Bool sizehints);	/* resize with given coordinates c*/ | ||||||
|  | extern void toggleversatile(Arg *arg);		/* toggles focused client between versatile/and non-versatile state */ | ||||||
| extern void updatesizehints(Client *c);		/* update the size hint variables of c */ | extern void updatesizehints(Client *c);		/* update the size hint variables of c */ | ||||||
| extern void updatetitle(Client *c);		/* update the name of c */ | extern void updatetitle(Client *c);		/* update the name of c */ | ||||||
| extern void unmanage(Client *c);		/* destroy c */ | extern void unmanage(Client *c);		/* destroy c */ | ||||||
| @ -127,12 +125,14 @@ extern unsigned int textw(const char *text);	/* return the width of text in px*/ | |||||||
| extern void grabkeys(void);			/* grab all keys defined in config.h */ | extern void grabkeys(void);			/* grab all keys defined in config.h */ | ||||||
| 
 | 
 | ||||||
| /* layout.c */ | /* layout.c */ | ||||||
|  | extern void focusnext(Arg *arg);		/* focuses next visible client, arg is ignored  */ | ||||||
|  | extern void focusprev(Arg *arg);		/* focuses previous visible client, arg is ignored */ | ||||||
| extern void incnmaster(Arg *arg);		/* increments nmaster with arg's index value */ | extern void incnmaster(Arg *arg);		/* increments nmaster with arg's index value */ | ||||||
| extern void initlayouts(void);			/* initialize layout array */ | extern void initlayouts(void);			/* initialize layout array */ | ||||||
|  | extern Client *nexttiled(Client *c);		/* returns tiled successor of c */ | ||||||
| extern void resizemaster(Arg *arg);		/* resizes the master percent with arg's index value */ | extern void resizemaster(Arg *arg);		/* resizes the master percent with arg's index value */ | ||||||
| extern void restack(void);			/* restores z layers of all clients */ | extern void restack(void);			/* restores z layers of all clients */ | ||||||
| extern void setlayout(Arg *arg);		/* sets layout, -1 toggles */ | extern void setlayout(Arg *arg);		/* sets layout, -1 toggles */ | ||||||
| extern void toggleversatile(Arg *arg);		/* toggles focusesd client between versatile/and non-versatile state */ |  | ||||||
| extern void versatile(void);			/* arranges all windows versatile */ | extern void versatile(void);			/* arranges all windows versatile */ | ||||||
| 
 | 
 | ||||||
| /* main.c */ | /* main.c */ | ||||||
|  | |||||||
							
								
								
									
										46
									
								
								layout.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								layout.c
									
									
									
									
									
								
							| @ -68,6 +68,38 @@ LAYOUTS | |||||||
| 
 | 
 | ||||||
| /* extern */ | /* extern */ | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | focusnext(Arg *arg) { | ||||||
|  | 	Client *c; | ||||||
|  |     | ||||||
|  | 	if(!sel) | ||||||
|  | 		return; | ||||||
|  | 	for(c = sel->next; c && !isvisible(c); c = c->next); | ||||||
|  | 	if(!c) | ||||||
|  | 		for(c = clients; c && !isvisible(c); c = c->next); | ||||||
|  | 	if(c) { | ||||||
|  | 		focus(c); | ||||||
|  | 		restack(); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void | ||||||
|  | focusprev(Arg *arg) { | ||||||
|  | 	Client *c; | ||||||
|  | 
 | ||||||
|  | 	if(!sel) | ||||||
|  | 		return; | ||||||
|  | 	for(c = sel->prev; c && !isvisible(c); c = c->prev); | ||||||
|  | 	if(!c) { | ||||||
|  | 		for(c = clients; c && c->next; c = c->next); | ||||||
|  | 		for(; c && !isvisible(c); c = c->prev); | ||||||
|  | 	} | ||||||
|  | 	if(c) { | ||||||
|  | 		focus(c); | ||||||
|  | 		restack(); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void | void | ||||||
| incnmaster(Arg *arg) { | incnmaster(Arg *arg) { | ||||||
| 	if((lt->arrange != tile) || (nmaster + arg->i < 1) | 	if((lt->arrange != tile) || (nmaster + arg->i < 1) | ||||||
| @ -93,6 +125,12 @@ initlayouts(void) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | Client * | ||||||
|  | nexttiled(Client *c) { | ||||||
|  | 	for(; c && (c->isversatile || !isvisible(c)); c = c->next); | ||||||
|  | 	return c; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void | void | ||||||
| resizemaster(Arg *arg) { | resizemaster(Arg *arg) { | ||||||
| 	if(lt->arrange != tile) | 	if(lt->arrange != tile) | ||||||
| @ -153,14 +191,6 @@ setlayout(Arg *arg) { | |||||||
| 		drawstatus(); | 		drawstatus(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void |  | ||||||
| toggleversatile(Arg *arg) { |  | ||||||
| 	if(!sel || lt->arrange == versatile) |  | ||||||
| 		return; |  | ||||||
| 	sel->isversatile = !sel->isversatile; |  | ||||||
| 	lt->arrange(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void | void | ||||||
| versatile(void) { | versatile(void) { | ||||||
| 	Client *c; | 	Client *c; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user