introduced ISTILE, which can be easily extended with other layout functions to allow reuse of setmwfact() and zoom()
This commit is contained in:
		
							parent
							
								
									60444daa70
								
							
						
					
					
						commit
						8d1810c85b
					
				
							
								
								
									
										7
									
								
								config.h
								
								
								
								
							
							
						
						
									
										7
									
								
								config.h
								
								
								
								
							| 
						 | 
					@ -22,14 +22,15 @@ Rule rules[] = {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* layout(s) */
 | 
					/* layout(s) */
 | 
				
			||||||
 | 
					#define ISTILE			isarrange(tile)
 | 
				
			||||||
 | 
					#define MWFACT			0.6	/* master width factor [0.1 .. 0.9] */
 | 
				
			||||||
 | 
					#define RESIZEHINTS		True	/* False - respect size hints in tiled resizals */
 | 
				
			||||||
 | 
					#define SNAP			32	/* snap pixel */
 | 
				
			||||||
Layout layouts[] = {
 | 
					Layout layouts[] = {
 | 
				
			||||||
	/* symbol		function */
 | 
						/* symbol		function */
 | 
				
			||||||
	{ "[]=",		tile }, /* first entry is default */
 | 
						{ "[]=",		tile }, /* first entry is default */
 | 
				
			||||||
	{ "><>",		floating },
 | 
						{ "><>",		floating },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
#define RESIZEHINTS		True	/* False - respect size hints in tiled resizals */
 | 
					 | 
				
			||||||
#define MWFACT			0.6	/* master width factor [0.1 .. 0.9] */
 | 
					 | 
				
			||||||
#define SNAP			32	/* snap pixel */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key definitions */
 | 
					/* key definitions */
 | 
				
			||||||
#define MODKEY			Mod1Mask
 | 
					#define MODKEY			Mod1Mask
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								dwm.c
								
								
								
								
							
							
						
						
									
										6
									
								
								dwm.c
								
								
								
								
							| 
						 | 
					@ -341,7 +341,7 @@ buttonpress(XEvent *e) {
 | 
				
			||||||
			movemouse(c);
 | 
								movemouse(c);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else if(ev->button == Button2) {
 | 
							else if(ev->button == Button2) {
 | 
				
			||||||
			if(isarrange(tile) && !c->isfixed && c->isfloating)
 | 
								if(ISTILE && !c->isfixed && c->isfloating)
 | 
				
			||||||
				togglefloating(NULL);
 | 
									togglefloating(NULL);
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				zoom(NULL);
 | 
									zoom(NULL);
 | 
				
			||||||
| 
						 | 
					@ -1398,7 +1398,7 @@ void
 | 
				
			||||||
setmwfact(const char *arg) {
 | 
					setmwfact(const char *arg) {
 | 
				
			||||||
	double delta;
 | 
						double delta;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(isarrange(floating))
 | 
						if(!ISTILE)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	/* arg handling, manipulate mwfact */
 | 
						/* arg handling, manipulate mwfact */
 | 
				
			||||||
	if(arg == NULL)
 | 
						if(arg == NULL)
 | 
				
			||||||
| 
						 | 
					@ -1850,7 +1850,7 @@ void
 | 
				
			||||||
zoom(const char *arg) {
 | 
					zoom(const char *arg) {
 | 
				
			||||||
	Client *c;
 | 
						Client *c;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(!sel || isarrange(floating) || sel->isfloating)
 | 
						if(!sel || !ISTILE || sel->isfloating)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	if((c = sel) == nexttiled(clients))
 | 
						if((c = sel) == nexttiled(clients))
 | 
				
			||||||
		if(!(c = nexttiled(c->next)))
 | 
							if(!(c = nexttiled(c->next)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue