Center a dialog window when it is displaying off-screen
authorToan Pham <reset.pointer@gmail.com>
Tue, 16 Jun 2015 18:28:32 +0000 (14:28 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Tue, 16 Jun 2015 18:28:54 +0000 (14:28 -0400)
Summary: Center a newly created dialog window when it is displaying off-screen.  Fixes T2419

Reviewers: zmike

Subscribers: cedric

Maniphest Tasks: T2419

Differential Revision: https://phab.enlightenment.org/D2646

src/bin/e_client.c

index e600e39..7545263 100644 (file)
@@ -1866,6 +1866,13 @@ _e_client_eval(E_Client *ec)
              ec->placed = 1;
              ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
           }
+        else if (!E_INSIDE(ec->x, ec->y, zx, zy, zw, zh))
+          {
+             /* If an ec is placed out of bound, fix it! */
+             ec->x = zx + ((zw - ec->w) / 2);
+             ec->y = zy + ((zh - ec->h) / 2);
+             ec->changes.pos = 1;
+          }
 
         /* Recreate state */
         if (!ec->override)