all repos — dwm @ e0f039789643381485dab5c467f66db5162d4f63

my dwm build

resize handles offscreen issues
Anselm R Garbe garbeam@gmail.com
Wed, 20 Feb 2008 08:13:41 +0000
commit

e0f039789643381485dab5c467f66db5162d4f63

parent

ca3e847e459e1ba43f45513877d39d50cce7a0c5

1 files changed, 11 insertions(+), 13 deletions(-)

jump to
M dwm.cdwm.c

@@ -1263,9 +1263,10 @@ }

void resize(Client *c, int x, int y, int w, int h, Bool sizehints) { + Monitor *m; XWindowChanges wc; - //Monitor scr = monitors[monitorat()]; -// c->monitor = monitorat(); + + m = &monitors[c->monitor]; if(sizehints) { /* set minimum possible */

@@ -1307,17 +1308,14 @@ h = c->maxh;

} if(w <= 0 || h <= 0) return; - /* TODO: offscreen appearance fixes */ - /* - if(x > scr.sw) - x = scr.sw - w - 2 * c->border; - if(y > scr.sh) - y = scr.sh - h - 2 * c->border; - if(x + w + 2 * c->border < scr.sx) - x = scr.sx; - if(y + h + 2 * c->border < scr.sy) - y = scr.sy; - */ + if(x > m->sw) + x = m->sw - w - 2 * c->border; + if(y > m->sh) + y = m->sh - h - 2 * c->border; + if(x + w + 2 * c->border < m->sx) + x = m->sx; + if(y + h + 2 * c->border < m->sy) + y = m->sy; if(c->x != x || c->y != y || c->w != w || c->h != h) { c->x = wc.x = x; c->y = wc.y = y;