Introduction
Introduction Statistics Contact Development Disclaimer Help
tremoved some empty lines - dwm - [fork] customized build of dwm, the dynamic w…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 5dd92c765570caa6d96ab125aa655e30cf82eb20
parent 52bd69c2a4998294a259efbedafca961dc2781eb
Author: Anselm R Garbe <[email protected]>
Date: Thu, 2 Jul 2009 18:40:04 +0100
removed some empty lines
Diffstat:
M dwm.c | 49 ++++-------------------------…
1 file changed, 6 insertions(+), 43 deletions(-)
---
diff --git a/dwm.c b/dwm.c
t@@ -330,16 +330,13 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h…
*h = bh;
if(*w < bh)
*w = bh;
-
if(resizehints || c->isfloating) {
/* see last two sentences in ICCCM 4.1.2.3 */
baseismin = c->basew == c->minw && c->baseh == c->minh;
-
if(!baseismin) { /* temporarily remove base dimensions */
*w -= c->basew;
*h -= c->baseh;
}
-
/* adjust for aspect limits */
if(c->mina > 0 && c->maxa > 0) {
if(c->maxa < (float)*w / *h)
t@@ -347,28 +344,22 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h…
else if(c->mina < (float)*h / *w)
*h = *w * c->mina;
}
-
if(baseismin) { /* increment calculation requires this */
*w -= c->basew;
*h -= c->baseh;
}
-
/* adjust for increment value */
if(c->incw)
*w -= *w % c->incw;
if(c->inch)
*h -= *h % c->inch;
-
/* restore base dimensions */
*w += c->basew;
*h += c->baseh;
-
*w = MAX(*w, c->minw);
*h = MAX(*h, c->minh);
-
if(c->maxw)
*w = MIN(*w, c->maxw);
-
if(c->maxh)
*h = MIN(*h, c->maxh);
}
t@@ -438,7 +429,6 @@ buttonpress(XEvent *e) {
focus(c);
click = ClkClientWin;
}
-
for(i = 0; i < LENGTH(buttons); i++)
if(click == buttons[i].click && buttons[i].func && buttons[i].…
&& CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state))
t@@ -449,7 +439,6 @@ void
checkotherwm(void) {
otherwm = False;
xerrorxlib = XSetErrorHandler(xerrorstart);
-
/* this causes an error if some other window manager is running */
XSelectInput(dpy, DefaultRootWindow(dpy), SubstructureRedirectMask);
XSync(dpy, False);
t@@ -644,7 +633,6 @@ drawbar(Monitor *m) {
if(c->isurgent)
urg |= c->tags;
}
-
dc.x = 0;
if(mons->next) { /* more than a single monitor */
dc.w = TEXTW(monsyms[m->screen_number]);
t@@ -676,9 +664,8 @@ drawbar(Monitor *m) {
}
drawtext(stext, dc.norm, False);
}
- else {
+ else
dc.x = m->ww;
- }
if((dc.w = dc.x - x) > bh) {
dc.x = x;
if(m->sel) {
t@@ -860,6 +847,7 @@ getrootpointer(int *x, int *y) {
int di;
unsigned int dui;
Window dummy;
+
return XQueryPointer(dpy, root, &dummy, &dummy, x, y, &di, &di, &dui);
}
t@@ -931,7 +919,7 @@ grabbuttons(Client *c, Bool focused) {
void
grabkeys(void) {
updatenumlockmask();
- { /* grab keys */
+ {
unsigned int i, j;
unsigned int modifiers[] = { 0, LockMask, numlockmask, numlock…
KeyCode code;
t@@ -1050,7 +1038,6 @@ manage(Window w, XWindowAttributes *wa) {
die("fatal: could not malloc() %u bytes\n", sizeof(Client));
*c = cz;
c->win = w;
-
if(XGetTransientForHint(dpy, w, &trans))
t = wintoclient(trans);
if(t) {
t@@ -1061,7 +1048,6 @@ manage(Window w, XWindowAttributes *wa) {
c->mon = selmon;
applyrules(c);
}
-
/* geometry */
c->x = wa->x + c->mon->wx;
c->y = wa->y + c->mon->wy;
t@@ -1084,7 +1070,6 @@ manage(Window w, XWindowAttributes *wa) {
&& (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ?…
c->bw = borderpx;
}
-
wc.border_width = c->bw;
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
t@@ -1290,7 +1275,6 @@ resizemouse(const Arg *arg) {
case MotionNotify:
nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
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
t@@ -1440,19 +1424,16 @@ setup(void) {
lt[0] = &layouts[0];
lt[1] = &layouts[1 % LENGTH(layouts)];
updategeom();
-
/* init atoms */
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False);
netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
-
/* init cursors */
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
-
/* init appearance */
dc.norm[ColBorder] = getcolor(normbordercolor);
dc.norm[ColBG] = getcolor(normbgcolor);
t@@ -1465,7 +1446,6 @@ setup(void) {
XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
if(!dc.font.set)
XSetFont(dpy, dc.gc, dc.font.xfont->fid);
-
/* init bars */
for(blw = i = 0; LENGTH(layouts) > 1 && i < LENGTH(layouts); i++) {
w = TEXTW(layouts[i].symbol);
t@@ -1473,11 +1453,9 @@ setup(void) {
}
updatebars();
updatestatus();
-
/* EWMH support per view */
XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32,
PropModeReplace, (unsigned char *) netatom, NetLast);
-
/* select for events */
wa.cursor = cursor[CurNormal];
wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask|Button…
t@@ -1485,7 +1463,6 @@ setup(void) {
|PropertyChangeMask;
XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa);
XSelectInput(dpy, root, wa.event_mask);
-
grabkeys();
}
t@@ -1562,15 +1539,12 @@ tile(Monitor *m) {
for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
if(n == 0)
return;
-
/* master */
c = nexttiled(m->clients);
mw = m->mfact * m->ww;
resize(c, m->wx, m->wy, (n == 1 ? m->ww : mw) - 2 * c->bw, m->wh - 2 *…
-
if(--n == 0)
return;
-
/* tile stack */
x = (m->wx + mw > c->x + c->w) ? c->x + c->w + 2 * c->bw : m->wx + mw;
y = m->wy;
t@@ -1578,7 +1552,6 @@ tile(Monitor *m) {
h = m->wh / n;
if(h < bh)
h = m->wh;
-
for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) {
resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n)
? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False…
t@@ -1612,7 +1585,6 @@ toggletag(const Arg *arg) {
if(!selmon->sel)
return;
-
mask = selmon->sel->tags ^ (arg->ui & TAGMASK);
if(mask) {
selmon->sel->tags = mask;
t@@ -1677,10 +1649,8 @@ updatebars(void) {
wa.override_redirect = True;
wa.background_pixmap = ParentRelative;
wa.event_mask = ButtonPressMask|ExposureMask;
-
for(m = mons; m; m = m->next) {
m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, …
-
CopyFromParent, DefaultVisual(dpy, s…
CWOverrideRedirect|CWBackPixmap|CWEv…
XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
t@@ -1719,7 +1689,6 @@ updategeom(void) {
m->next = newmons;
newmons = m;
}
-
/* initialise monitor(s) */
#ifdef XINERAMA
if(XineramaIsActive(dpy)) {
t@@ -1742,7 +1711,6 @@ updategeom(void) {
m->mw = m->ww = sw;
m->mh = m->wh = sh;
}
-
/* bar geometry setup */
for(m = newmons; m; m = m->next) {
m->sel = m->stack = m->clients = NULL;
t@@ -1754,7 +1722,6 @@ updategeom(void) {
m->topbar = TOPBAR;
updatebarpos(m);
}
-
/* reassign left over clients of disappeared monitors */
for(tm = mons; tm; tm = tm->next)
while(tm->clients) {
t@@ -1765,7 +1732,6 @@ updategeom(void) {
attach(c);
attachstack(c);
}
-
/* select focused monitor */
cleanupmons();
selmon = mons = newmons;
t@@ -1861,7 +1827,6 @@ updatewmhints(Client *c) {
}
else
c->isurgent = (wmh->flags & XUrgencyHint) ? True : Fal…
-
XFree(wmh);
}
}
t@@ -1941,7 +1906,9 @@ void
zoom(const Arg *arg) {
Client *c = selmon->sel;
- if(!lt[selmon->sellt]->arrange || lt[selmon->sellt]->arrange == monocl…
+ if(!lt[selmon->sellt]->arrange
+ || lt[selmon->sellt]->arrange == monocle
+ || (selmon->sel && selmon->sel->isfloating))
return;
if(c == nexttiled(selmon->clients))
if(!c || !(c = nexttiled(c->next)))
t@@ -1958,19 +1925,15 @@ main(int argc, char *argv[]) {
die("dwm-"VERSION", © 2006-2009 dwm engineers, see LICENSE fo…
else if(argc != 1)
die("usage: dwm [-v]\n");
-
if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
fputs("warning: no locale support\n", stderr);
-
if(!(dpy = XOpenDisplay(NULL)))
die("dwm: cannot open display\n");
-
checkotherwm();
setup();
scan();
run();
cleanup();
-
XCloseDisplay(dpy);
return 0;
}
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.