Xinqi Bao's Git
projects
/
dwm.git
/ diff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
af508c2
)
applied the patch I missed from Gottox, thanks mate!
author
[email protected]
<unknown>
Tue, 3 Mar 2009 11:22:16 +0000
(11:22 +0000)
committer
[email protected]
<unknown>
Tue, 3 Mar 2009 11:22:16 +0000
(11:22 +0000)
dwm.c
diff
|
blob
|
history
diff --git
a/dwm.c
b/dwm.c
index
e1c0645
..
3ae709b
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-170,7
+170,7
@@
static void movemouse(const Arg *arg);
static Client *nexttiled(Client *c);
static void propertynotify(XEvent *e);
static void quit(const Arg *arg);
static Client *nexttiled(Client *c);
static void propertynotify(XEvent *e);
static void quit(const Arg *arg);
-static void resize(Client *c, int x, int y, int w, int h
, Bool sizehints
);
+static void resize(Client *c, int x, int y, int w, int h);
static void resizemouse(const Arg *arg);
static void restack(void);
static void run(void);
static void resizemouse(const Arg *arg);
static void restack(void);
static void run(void);
@@
-275,6
+275,9
@@
void
applysizehints(Client *c, int *w, int *h) {
Bool baseismin;
applysizehints(Client *c, int *w, int *h) {
Bool baseismin;
+ if(!resizehints && !c->isfloating)
+ return;
+
/* see last two sentences in ICCCM 4.1.2.3 */
baseismin = c->basew == c->minw && c->baseh == c->minh;
/* see last two sentences in ICCCM 4.1.2.3 */
baseismin = c->basew == c->minw && c->baseh == c->minh;
@@
-981,7
+984,7
@@
monocle(void) {
Client *c;
for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
Client *c;
for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
- resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw
, resizehints
);
+ resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw);
}
}
}
}
@@
-1029,7
+1032,7
@@
movemouse(const Arg *arg) {
togglefloating(NULL);
}
if(!lt[sellt]->arrange || c->isfloating)
togglefloating(NULL);
}
if(!lt[sellt]->arrange || c->isfloating)
- resize(c, nx, ny, c->w, c->h
, False
);
+ resize(c, nx, ny, c->w, c->h);
break;
}
}
break;
}
}
@@
-1085,11
+1088,10
@@
quit(const Arg *arg) {
}
void
}
void
-resize(Client *c, int x, int y, int w, int h
, Bool sizehints
) {
+resize(Client *c, int x, int y, int w, int h) {
XWindowChanges wc;
XWindowChanges wc;
- if(sizehints)
- applysizehints(c, &w, &h);
+ applysizehints(c, &w, &h);
if(w <= 0 || h <= 0)
return;
if(x > sx + sw)
if(w <= 0 || h <= 0)
return;
if(x > sx + sw)
@@
-1154,7
+1156,7
@@
resizemouse(const Arg *arg) {
togglefloating(NULL);
}
if(!lt[sellt]->arrange || c->isfloating)
togglefloating(NULL);
}
if(!lt[sellt]->arrange || c->isfloating)
- resize(c, c->x, c->y, nw, nh
, True
);
+ resize(c, c->x, c->y, nw, nh);
break;
}
}
break;
}
}
@@
-1344,7
+1346,7
@@
showhide(Client *c, unsigned int ntiled) {
if(ISVISIBLE(c)) { /* show clients top down */
XMoveWindow(dpy, c->win, c->x, c->y);
if(!lt[sellt]->arrange || c->isfloating)
if(ISVISIBLE(c)) { /* show clients top down */
XMoveWindow(dpy, c->win, c->x, c->y);
if(!lt[sellt]->arrange || c->isfloating)
- resize(c, c->x, c->y, c->w, c->h
, True
);
+ resize(c, c->x, c->y, c->w, c->h);
showhide(c->snext, ntiled);
}
else { /* hide clients bottom up */
showhide(c->snext, ntiled);
}
else { /* hide clients bottom up */
@@
-1405,7
+1407,7
@@
tile(void) {
/* master */
c = nexttiled(clients);
mw = mfact * ww;
/* master */
c = nexttiled(clients);
mw = mfact * ww;
- resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw
, resizehints
);
+ resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw);
if(--n == 0)
return;
if(--n == 0)
return;
@@
-1420,7
+1422,7
@@
tile(void) {
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)
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)
- ? wy + wh - y - 2 * c->bw : h - 2 * c->bw)
, resizehints
);
+ ? wy + wh - y - 2 * c->bw : h - 2 * c->bw));
if(h != wh)
y = c->y + HEIGHT(c);
}
if(h != wh)
y = c->y + HEIGHT(c);
}
@@
-1440,7
+1442,7
@@
togglefloating(const Arg *arg) {
return;
sel->isfloating = !sel->isfloating || sel->isfixed;
if(sel->isfloating)
return;
sel->isfloating = !sel->isfloating || sel->isfixed;
if(sel->isfloating)
- resize(sel, sel->x, sel->y, sel->w, sel->h
, True
);
+ resize(sel, sel->x, sel->y, sel->w, sel->h);
arrange();
}
arrange();
}