| tapplied Mate's patch, added Mate to LICENSE - dwm - [fork] customized build of… | |
| git clone git://src.adamsgaard.dk/dwm | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit a72dc2fec277bb517adcb98edfb18f469333d980 | |
| parent 8b17f5517b12a84a52e9073ace4c8bb9eb6bb941 | |
| Author: Anselm R Garbe <[email protected]> | |
| Date: Mon, 6 Jul 2009 20:12:47 +0100 | |
| applied Mate's patch, added Mate to LICENSE | |
| Diffstat: | |
| M LICENSE | 1 + | |
| M dwm.c | 40 ++++++++++++++++-------------… | |
| 2 files changed, 21 insertions(+), 20 deletions(-) | |
| --- | |
| diff --git a/LICENSE b/LICENSE | |
| t@@ -10,6 +10,7 @@ MIT/X Consortium License | |
| © 2007-2008 Peter Hartlich <sgkkr at hartlich dot com> | |
| © 2008 Martin Hurton <martin dot hurton at gmail dot com> | |
| © 2008 Neale Pickett <neale dot woozle dot org> | |
| +© 2009 Mate Nagy <[email protected]> | |
| Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and associated documentation files (the "Software"), | |
| diff --git a/dwm.c b/dwm.c | |
| t@@ -136,6 +136,7 @@ struct Monitor { | |
| Client *stack; | |
| Monitor *next; | |
| Window barwin; | |
| + Layout *lt[2]; | |
| }; | |
| typedef struct { | |
| t@@ -261,7 +262,6 @@ static Bool running = True; | |
| static Cursor cursor[CurLast]; | |
| static Display *dpy; | |
| static DC dc; | |
| -static Layout *lt[] = { NULL, NULL }; | |
| static Monitor *mons = NULL, *selmon = NULL; | |
| static Window root; | |
| t@@ -376,8 +376,8 @@ arrange(void) { | |
| showhide(m->stack); | |
| focus(NULL); | |
| for(m = mons; m; m = m->next) { | |
| - if(lt[m->sellt]->arrange) | |
| - lt[m->sellt]->arrange(m); | |
| + if(m->lt[m->sellt]->arrange) | |
| + m->lt[m->sellt]->arrange(m); | |
| restack(m); | |
| } | |
| } | |
| t@@ -456,7 +456,7 @@ cleanup(void) { | |
| Monitor *m; | |
| view(&a); | |
| - lt[selmon->sellt] = &foo; | |
| + selmon->lt[selmon->sellt] = &foo; | |
| for(m = mons; m; m = m->next) | |
| while(m->stack) | |
| unmanage(m->stack); | |
| t@@ -547,7 +547,7 @@ configurerequest(XEvent *e) { | |
| if((c = wintoclient(ev->window))) { | |
| if(ev->value_mask & CWBorderWidth) | |
| c->bw = ev->border_width; | |
| - else if(c->isfloating || !lt[selmon->sellt]->arrange) { | |
| + else if(c->isfloating || !selmon->lt[selmon->sellt]->arrange) { | |
| m = c->mon; | |
| if(ev->value_mask & CWX) | |
| c->x = m->mx + ev->x; | |
| t@@ -668,7 +668,7 @@ drawbar(Monitor *m) { | |
| } | |
| if(blw > 0) { | |
| dc.w = blw; | |
| - drawtext(lt[m->sellt]->symbol, dc.norm, False); | |
| + drawtext(m->lt[m->sellt]->symbol, dc.norm, False); | |
| x = dc.x + dc.w; | |
| } | |
| else | |
| t@@ -1170,11 +1170,11 @@ movemouse(const Arg *arg) { | |
| ny = selmon->wy; | |
| else if(abs((selmon->wy + selmon->wh) - (ny + … | |
| ny = selmon->wy + selmon->wh - HEIGHT(… | |
| - if(!c->isfloating && lt[selmon->sellt]->arrange | |
| + if(!c->isfloating && selmon->lt[selmon->sellt]… | |
| && (abs(nx - c->x) > snap ||… | |
| togglefloating(NULL); | |
| } | |
| - if(!lt[selmon->sellt]->arrange || c->isfloating) | |
| + if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| resize(c, nx, ny, c->w, c->h, True); | |
| break; | |
| } | |
| t@@ -1289,11 +1289,11 @@ resizemouse(const Arg *arg) { | |
| nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1); | |
| if(snap && nw >= selmon->wx && nw <= selmon->wx + selm… | |
| && nh >= selmon->wy && nh <= selmon->wy + selm… | |
| - if(!c->isfloating && lt[selmon->sellt]->arrange | |
| + if(!c->isfloating && selmon->lt[selmon->sellt]… | |
| && (abs(nw - c->w) > snap || abs(nh - c->h)… | |
| togglefloating(NULL); | |
| } | |
| - if(!lt[selmon->sellt]->arrange || c->isfloating) | |
| + if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| resize(c, c->x, c->y, nw, nh, True); | |
| break; | |
| } | |
| t@@ -1318,9 +1318,9 @@ restack(Monitor *m) { | |
| drawbars(); | |
| if(!m->sel) | |
| return; | |
| - if(m->sel->isfloating || !lt[m->sellt]->arrange) | |
| + if(m->sel->isfloating || !m->lt[m->sellt]->arrange) | |
| XRaiseWindow(dpy, m->sel->win); | |
| - if(lt[m->sellt]->arrange) { | |
| + if(m->lt[m->sellt]->arrange) { | |
| wc.stack_mode = Below; | |
| wc.sibling = m->barwin; | |
| for(c = m->stack; c; c = c->snext) | |
| t@@ -1396,10 +1396,10 @@ setclientstate(Client *c, long state) { | |
| void | |
| setlayout(const Arg *arg) { | |
| - if(!arg || !arg->v || arg->v != lt[selmon->sellt]) | |
| + if(!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) | |
| selmon->sellt ^= 1; | |
| if(arg && arg->v) | |
| - lt[selmon->sellt] = (Layout *)arg->v; | |
| + selmon->lt[selmon->sellt] = (Layout *)arg->v; | |
| if(selmon->sel) | |
| arrange(); | |
| else | |
| t@@ -1411,7 +1411,7 @@ void | |
| setmfact(const Arg *arg) { | |
| float f; | |
| - if(!arg || !lt[selmon->sellt]->arrange) | |
| + if(!arg || !selmon->lt[selmon->sellt]->arrange) | |
| return; | |
| f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; | |
| if(f < 0.1 || f > 0.9) | |
| t@@ -1433,8 +1433,6 @@ setup(void) { | |
| sw = DisplayWidth(dpy, screen); | |
| sh = DisplayHeight(dpy, screen); | |
| bh = dc.h = dc.font.height + 2; | |
| - lt[0] = &layouts[0]; | |
| - lt[1] = &layouts[1 % LENGTH(layouts)]; | |
| updategeom(); | |
| /* init atoms */ | |
| wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); | |
| t@@ -1484,7 +1482,7 @@ showhide(Client *c) { | |
| return; | |
| if(ISVISIBLE(c)) { /* show clients top down */ | |
| XMoveWindow(dpy, c->win, c->x, c->y); | |
| - if(!lt[c->mon->sellt]->arrange || c->isfloating) | |
| + if(!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) | |
| resize(c, c->x, c->y, c->w, c->h, False); | |
| showhide(c->snext); | |
| } | |
| t@@ -1730,6 +1728,8 @@ updategeom(void) { | |
| m->mfact = mfact; | |
| m->showbar = SHOWBAR; | |
| m->topbar = TOPBAR; | |
| + m->lt[0] = &layouts[0]; | |
| + m->lt[1] = &layouts[1 % LENGTH(layouts)]; | |
| updatebarpos(m); | |
| } | |
| /* reassign left over clients of disappeared monitors */ | |
| t@@ -1916,8 +1916,8 @@ void | |
| zoom(const Arg *arg) { | |
| Client *c = selmon->sel; | |
| - if(!lt[selmon->sellt]->arrange | |
| - || lt[selmon->sellt]->arrange == monocle | |
| + if(!selmon->lt[selmon->sellt]->arrange | |
| + || selmon->lt[selmon->sellt]->arrange == monocle | |
| || (selmon->sel && selmon->sel->isfloating)) | |
| return; | |
| if(c == nexttiled(selmon->clients)) |