]> Dogcows Code - chaz/openbox/blobdiff - plugins/resistance.c
use the number for sendtodesktop
[chaz/openbox] / plugins / resistance.c
index 2b7bd1dff67e81340d9ec9f84c4470350abdd5f3..30741d80b83fea40f5e2ef004b0dba320e783ae9 100644 (file)
@@ -244,17 +244,27 @@ static void resist_size(Client *c, int *w, int *h, Corner corn)
     case Corner_TopRight:
         dlt = lt;
         drb = rb + *h - c->frame->area.height;
+        g_message("dlt %d drb %d rb %d ab %d", dlt, drb, rb, ab);
         if (rb <= ab && drb > ab && drb <= ab + resist.integer)
-            *h = ar - lt + 1;
+            *h = ab - lt + 1;
         break;
     case Corner_BottomLeft:
     case Corner_BottomRight:
         dlt = lt - *h + c->frame->area.height;
         drb = rb;
         if (lt >= at && dlt < at && dlt >= at - resist.integer)
-            *h = rb - al + 1;
+            *h = rb - at + 1;
         break;
     }
+
+    /* round down for size increments */
+    *w -= c->frame->area.width + c->frame->size.left + c->frame->size.right;
+    *w = *w / c->size_inc.width * c->size_inc.width;
+    *w += c->frame->area.width + c->frame->size.left + c->frame->size.right;
+
+    *h -= c->frame->area.height + c->frame->size.top + c->frame->size.bottom;
+    *h = *h / c->size_inc.height * c->size_inc.height;
+    *h += c->frame->area.height + c->frame->size.top + c->frame->size.bottom;
 }
 
 static void event(ObEvent *e, void *foo)
This page took 0.020627 seconds and 4 git commands to generate.