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 */ | 	{ "[]=",      tile },    /* first entry is default */ | ||||||
| 	{ "><>",      NULL },    /* no layout function means floating behavior */ | 	{ "><>",      NULL },    /* no layout function means floating behavior */ | ||||||
| 	{ "[M]",      monocle }, | 	{ "[M]",      monocle }, | ||||||
|  | 	{ "[D]",      deck }, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* key definitions */ | /* key definitions */ | ||||||
| @ -85,6 +86,7 @@ static Key keys[] = { | |||||||
| 	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} }, | 	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} }, | ||||||
| 	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} }, | 	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} }, | ||||||
| 	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} }, | 	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} }, | ||||||
|  | 	{ MODKEY,                       XK_c,      setlayout,      {.v = &layouts[3]} }, | ||||||
| 	{ MODKEY,                       XK_space,  setlayout,      {0} }, | 	{ MODKEY,                       XK_space,  setlayout,      {0} }, | ||||||
| 	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} }, | 	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} }, | ||||||
| 	{ MODKEY,                       XK_0,      view,           {.ui = ~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 configurenotify(XEvent *e); | ||||||
| static void configurerequest(XEvent *e); | static void configurerequest(XEvent *e); | ||||||
| static Monitor *createmon(void); | static Monitor *createmon(void); | ||||||
|  | static void deck(Monitor *m); | ||||||
| static void destroynotify(XEvent *e); | static void destroynotify(XEvent *e); | ||||||
| static void detach(Client *c); | static void detach(Client *c); | ||||||
| static void detachstack(Client *c); | static void detachstack(Client *c); | ||||||
| @ -706,6 +707,31 @@ destroynotify(XEvent *e) | |||||||
| 		unmanage(c, 1); | 		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 | void | ||||||
| detach(Client *c) | detach(Client *c) | ||||||
| { | { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user