Merge branch 'deck-layout' into allpatch
This commit is contained in:
		
						commit
						2ee13d4d76
					
				| @ -50,6 +50,7 @@ static const Layout layouts[] = { | ||||
| 	{ "[]=",      tile },    /* first entry is default */ | ||||
| 	{ "><>",      NULL },    /* no layout function means floating behavior */ | ||||
| 	{ "[M]",      monocle }, | ||||
| 	{ "[D]",      deck }, | ||||
| }; | ||||
| 
 | ||||
| /* key definitions */ | ||||
| @ -85,6 +86,7 @@ static Key keys[] = { | ||||
| 	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} }, | ||||
| 	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} }, | ||||
| 	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} }, | ||||
| 	{ MODKEY,                       XK_c,      setlayout,      {.v = &layouts[3]} }, | ||||
| 	{ MODKEY,                       XK_space,  setlayout,      {0} }, | ||||
| 	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} }, | ||||
| 	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } }, | ||||
|  | ||||
							
								
								
									
										26
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								dwm.c
									
									
									
									
									
								
							| @ -162,6 +162,7 @@ static void configure(Client *c); | ||||
| static void configurenotify(XEvent *e); | ||||
| static void configurerequest(XEvent *e); | ||||
| static Monitor *createmon(void); | ||||
| static void deck(Monitor *m); | ||||
| static void destroynotify(XEvent *e); | ||||
| static void detach(Client *c); | ||||
| static void detachstack(Client *c); | ||||
| @ -706,6 +707,31 @@ destroynotify(XEvent *e) | ||||
| 		unmanage(c, 1); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| deck(Monitor *m) { | ||||
| 	unsigned int i, n, h, mw, my; | ||||
| 	Client *c; | ||||
| 
 | ||||
| 	for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); | ||||
| 	if(n == 0) | ||||
| 		return; | ||||
| 
 | ||||
| 	if(n > m->nmaster) { | ||||
| 		mw = m->nmaster ? m->ww * m->mfact : 0; | ||||
| 		snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n - m->nmaster); | ||||
| 	} | ||||
| 	else | ||||
| 		mw = m->ww; | ||||
| 	for(i = my = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) | ||||
| 		if(i < m->nmaster) { | ||||
| 			h = (m->wh - my) / (MIN(n, m->nmaster) - i); | ||||
| 			resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), False); | ||||
| 			my += HEIGHT(c); | ||||
| 		} | ||||
| 		else | ||||
| 			resize(c, m->wx + mw, m->wy, m->ww - mw - (2*c->bw), m->wh - (2*c->bw), False); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| detach(Client *c) | ||||
| { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user