Introduction
Introduction Statistics Contact Development Disclaimer Help
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))
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.