tresize handles offscreen issues - dwm - [fork] customized build of dwm, the dy… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e0f039789643381485dab5c467f66db5162d4f63 | |
parent ca3e847e459e1ba43f45513877d39d50cce7a0c5 | |
Author: Anselm R Garbe <[email protected]> | |
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 | |
t@@ -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 */ | |
t@@ -1307,17 +1308,14 @@ resize(Client *c, int x, int y, int w, int h, Bool siz… | |
} | |
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; |