Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
applied Connors aesthitic buf fix in tile(), thanks
[dwm.git]
/
dwm.c
diff --git
a/dwm.c
b/dwm.c
index
01e8d1f
..
f176f4c
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-615,18
+615,26
@@
configurerequest(XEvent *e) {
c->bw = ev->border_width;
else if(c->isfloating || !selmon->lt[selmon->sellt]->arrange) {
m = c->mon;
c->bw = ev->border_width;
else if(c->isfloating || !selmon->lt[selmon->sellt]->arrange) {
m = c->mon;
- if(ev->value_mask & CWX)
+ if(ev->value_mask & CWX) {
+ c->oldx = c->x;
c->x = m->mx + ev->x;
c->x = m->mx + ev->x;
- if(ev->value_mask & CWY)
+ }
+ if(ev->value_mask & CWY) {
+ c->oldy = c->y;
c->y = m->my + ev->y;
c->y = m->my + ev->y;
- if(ev->value_mask & CWWidth)
+ }
+ if(ev->value_mask & CWWidth) {
+ c->oldw = c->w;
c->w = ev->width;
c->w = ev->width;
- if(ev->value_mask & CWHeight)
+ }
+ if(ev->value_mask & CWHeight) {
+ c->oldh = c->h;
c->h = ev->height;
c->h = ev->height;
+ }
if((c->x + c->w) > m->mx + m->mw && c->isfloating)
if((c->x + c->w) > m->mx + m->mw && c->isfloating)
- c->x = m->mx + (m->mw / 2 -
c->w
/ 2); /* center in x direction */
+ c->x = m->mx + (m->mw / 2 -
WIDTH(c)
/ 2); /* center in x direction */
if((c->y + c->h) > m->my + m->mh && c->isfloating)
if((c->y + c->h) > m->my + m->mh && c->isfloating)
- c->y = m->my + (m->mh / 2 -
c->h
/ 2); /* center in y direction */
+ c->y = m->my + (m->mh / 2 -
HEIGHT(c)
/ 2); /* center in y direction */
if((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
configure(c);
if(ISVISIBLE(c))
if((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
configure(c);
if(ISVISIBLE(c))
@@
-1119,7
+1127,6
@@
manage(Window w, XWindowAttributes *wa) {
c->h = c->oldh = wa->height;
c->oldbw = wa->border_width;
if(c->w == c->mon->mw && c->h == c->mon->mh) {
c->h = c->oldh = wa->height;
c->oldbw = wa->border_width;
if(c->w == c->mon->mw && c->h == c->mon->mh) {
- c->isfloating = True;
c->x = c->mon->mx;
c->y = c->mon->my;
c->bw = 0;
c->x = c->mon->mx;
c->y = c->mon->my;
c->bw = 0;
@@
-1655,9
+1662,9
@@
tile(Monitor *m) {
if(--n == 0)
return;
/* tile stack */
if(--n == 0)
return;
/* tile stack */
- x = (m->wx
+ mw > c->x + c->w) ? c->x + c->
w + 2 * c->bw : m->wx + mw;
+ x = (m->wx
> c->x) ? c->x + m
w + 2 * c->bw : m->wx + mw;
y = m->wy;
y = m->wy;
- w = (m->wx
+ mw > c->x + c->w
) ? m->wx + m->ww - x : m->ww - mw;
+ w = (m->wx
> c->x
) ? m->wx + m->ww - x : m->ww - mw;
h = m->wh / n;
if(h < bh)
h = m->wh;
h = m->wh / n;
if(h < bh)
h = m->wh;