dwm

my fork of dwm
Index Commits Files Refs README LICENSE
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:
Mdwm.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;