commit e0f039789643381485dab5c467f66db5162d4f63
parent ca3e847e459e1ba43f45513877d39d50cce7a0c5
Author: Anselm R Garbe <garbeam@gmail.com>
Date: Wed, 20 Feb 2008 08:13:41 +0000
resize handles offscreen issues
Diffstat:
M | dwm.c | | | 24 | +++++++++++------------- |
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/dwm.c b/dwm.c
@@ -1263,9 +1263,10 @@ reapply(const char *arg) {
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 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
}
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;