]> Dogcows Code - chaz/openbox/blobdiff - openbox/moveresize.c
remove trailing whitespace
[chaz/openbox] / openbox / moveresize.c
index 9ccfbd6a1620be389ffb220268b6ce818c79f85c..7388107d6a250b4ec289c45f58ba2278b464d5cf 100644 (file)
@@ -72,7 +72,7 @@ static gboolean sync_timeout_func(gpointer data);
 static void client_dest(ObClient *client, gpointer data)
 {
     if (moveresize_client == client)
-        moveresize_end(TRUE);    
+        moveresize_end(TRUE);
 }
 
 void moveresize_startup(gboolean reconfig)
@@ -167,14 +167,14 @@ void moveresize_start(ObClient *c, gint x, gint y, guint b, guint32 cnr)
     moveresize_client = c;
     start_cx = c->area.x;
     start_cy = c->area.y;
+    start_cw = c->area.width;
+    start_ch = c->area.height;
     /* these adjustments for the size_inc make resizing a terminal more
        friendly. you essentially start the resize in the middle of the
        increment instead of at 0, so you have to move half an increment
        either way instead of a full increment one and 1 px the other. */
-    start_cw = c->area.width + c->size_inc.width / 2;
-    start_ch = c->area.height + c->size_inc.height / 2;
-    start_x = x;
-    start_y = y;
+    start_x = x - (mv ? 0 : c->size_inc.width / 2);
+    start_y = y - (mv ? 0 : c->size_inc.height / 2);
     corner = cnr;
     button = b;
     key_resize_edge = -1;
@@ -195,7 +195,7 @@ void moveresize_start(ObClient *c, gint x, gint y, guint b, guint32 cnr)
     moveresize_in_progress = TRUE;
 
 #ifdef SYNC
-    if (config_resize_redraw && !moving && extensions_shape &&
+    if (config_resize_redraw && !moving && extensions_sync &&
         moveresize_client->sync_request && moveresize_client->sync_counter)
     {
         /* Initialize values for the resize syncing, and create an alarm for
@@ -341,7 +341,7 @@ static void do_resize()
         waiting_for_sync = TRUE;
 
         ob_main_loop_timeout_remove(ob_main_loop, sync_timeout_func);
-        ob_main_loop_timeout_add(ob_main_loop, G_USEC_PER_SEC / 2,
+        ob_main_loop_timeout_add(ob_main_loop, G_USEC_PER_SEC * 2,
                                  sync_timeout_func,
                                  NULL, NULL, NULL);
     }
@@ -374,17 +374,17 @@ static gboolean sync_timeout_func(gpointer data)
 static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh,
                         ObCorner cor)
 {
-    gint resist, ow, oh, nw, nh;
+    gint resist, x, y, lw, lh, ow, oh, nw, nh;
 
+    ow = cur_w;
+    oh = cur_h;
     /* resist_size_* needs the frame size */
-    ow = cur_w +
+    nw = ow + *dw +
         moveresize_client->frame->size.left +
         moveresize_client->frame->size.right;
-    oh = cur_h +
+    nh = oh + *dh +
         moveresize_client->frame->size.top +
         moveresize_client->frame->size.bottom;
-    nw = ow + *dw;
-    nh = oh + *dh;
 
     if (keyboard) resist = keydist - 1; /* resist for one key press */
     else resist = config_resist_win;
@@ -392,6 +392,17 @@ static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh,
     if (!keyboard) resist = config_resist_edge;
     resist_size_monitors(moveresize_client, resist, &nw, &nh, cor);
 
+    nw -= moveresize_client->frame->size.left +
+        moveresize_client->frame->size.right;
+    nh -= moveresize_client->frame->size.top +
+        moveresize_client->frame->size.bottom;
+
+    /* see its actual size */
+    x = 0;
+    y = 0;
+    client_try_configure(moveresize_client, &x, &y, &nw, &nh, &lw, &lh, TRUE);
+
+
     *dw = nw - ow;
     *dh = nh - oh;
 }
@@ -650,7 +661,7 @@ static void resize_with_keys(gint keycode, gint state)
         pdy = -dh;
     else if (key_resize_edge == OB_DIRECTION_SOUTH)
         pdy = dh;
-    
+
     screen_pointer_pos(&opx, &opy);
     XWarpPointer(ob_display, None, None, 0, 0, 0, 0, pdx, pdy);
     /* steal the motion events this causes */
@@ -705,13 +716,13 @@ gboolean moveresize_event(XEvent *e)
                 lockcorner = OB_CORNER_BOTTOMRIGHT;
             } else if (corner == prop_atoms.net_wm_moveresize_size_top) {
                 dw = 0;
-                dh = (e->xmotion.y_root - start_y);
+                dh = -(e->xmotion.y_root - start_y);
                 lockcorner = OB_CORNER_BOTTOMRIGHT;
             } else if (corner == prop_atoms.net_wm_moveresize_size_topright) {
                 dw = (e->xmotion.x_root - start_x);
                 dh = -(e->xmotion.y_root - start_y);
                 lockcorner = OB_CORNER_BOTTOMLEFT;
-            } else if (corner == prop_atoms.net_wm_moveresize_size_right) { 
+            } else if (corner == prop_atoms.net_wm_moveresize_size_right) {
                 dw = (e->xmotion.x_root - start_x);
                 dh = 0;
                 lockcorner = OB_CORNER_BOTTOMLEFT;
This page took 0.023056 seconds and 4 git commands to generate.