]> git.mdlowis.com Git - proto/anvil.git/commitdiff
refactored move and resize code
authorMichael D. Lowis <mike@mdlowis.com>
Mon, 30 Mar 2020 01:40:16 +0000 (21:40 -0400)
committerMichael D. Lowis <mike@mdlowis.com>
Mon, 30 Mar 2020 01:40:16 +0000 (21:40 -0400)
client.c

index b5fe0ca76f75597fbc8002ddaa546a3da07c9c92..7a4c0b1a7af2e9343627da8886ef717e916675b1 100644 (file)
--- a/client.c
+++ b/client.c
@@ -90,43 +90,31 @@ Client* client_get(Window w, Location* loc)
 
 void client_adjust(Client* c)
 {
-    client_move(c, 0, 0);
-    client_resize(c, 0, 0);
+    if (c->w < MIN_HEIGHT) c->w = MIN_HEIGHT;
+    if (c->h < MIN_HEIGHT) c->h = MIN_HEIGHT;
+    XMoveResizeWindow(X.disp, c->frame, c->x, c->y, c->w, c->h);
+    printf("CONFIG(c: %lx x: %d y: %d w: %d h: %d)\n", c->frame, c->x, c->y, c->w, c->h);
+    if ( !(c->flags & F_SHADED) )
+    {
+        XResizeWindow(X.disp, c->win,
+            c->w - 2*BORDER_WIDTH - 2,
+            c->h - 2*BORDER_WIDTH - TITLE_HEIGHT - 2);
+    }
+    mons_place(c);
 }
 
 void client_move(Client* c, int xdiff, int ydiff)
 {
     c->x += xdiff;
     c->y += ydiff;
-    printf("MOVE(c: %lx x: %d y: %d)\n", c->frame, c->x, c->y);
-    XMoveWindow(X.disp, c->frame, c->x, c->y);
-    mons_place(c);
+    client_adjust(c);
 }
 
 void client_resize(Client* c, int xdiff, int ydiff)
 {
     c->w += xdiff;
     c->h += ydiff;
-    if (c->w < MIN_HEIGHT) c->w = MIN_HEIGHT;
-    if (c->h < MIN_HEIGHT) c->h = MIN_HEIGHT;
-    if (c->flags & F_SHADED)
-    {
-        XResizeWindow(X.disp, c->frame, c->w, MIN_HEIGHT);
-    }
-    else
-    {
-        XResizeWindow(X.disp, c->frame, c->w, c->h);
-        printf("RESIZE(c: %lx w: %d h: %d)\n",
-            c->win,
-            c->w - 2*BORDER_WIDTH - 2,
-            c->h - 2*BORDER_WIDTH - TITLE_HEIGHT - 2
-        );
-        XResizeWindow(X.disp, c->win,
-            c->w - 2*BORDER_WIDTH - 2,
-            c->h - 2*BORDER_WIDTH - TITLE_HEIGHT - 2
-        );
-    }
-    mons_place(c);
+    client_adjust(c);
 }
 
 void client_close(Client* c)
@@ -198,14 +186,7 @@ void client_readprops(Client* c)
 
 void client_shade(Client* c)
 {
-    if (c->flags & F_SHADED)
-    {
-        client_setshade(c, 0);
-    }
-    else
-    {
-        client_setshade(c, 1);
-    }
+    client_setshade(c, ((c->flags & F_SHADED) ? 0 : 1));
     client_adjust(c);
 }