floating: allow to move geometry while floating mode set 28/144728/2
authorJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 17 Aug 2017 14:27:11 +0000 (23:27 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Fri, 18 Aug 2017 01:35:11 +0000 (01:35 +0000)
Change-Id: I5294d278affbd58e2b71b6eb21577b2537fa477d

src/bin/e_client.c
src/bin/e_policy_wl.c

index f75747f..e1b942a 100644 (file)
@@ -5197,7 +5197,13 @@ e_client_unmaximize(E_Client *ec, E_Maximize max)
                   if (ec->layout.splited)
                     e_client_util_move_resize_without_frame(ec, x, y, w, h);
                   else
-                    e_policy_visibility_client_defer_move(ec, x, y);
+                    {
+                       if (ec->changes.pos)
+                         {
+                            x = ec->x; y = ec->y;
+                         }
+                       e_policy_visibility_client_defer_move(ec, x, y);
+                    }
                   e_hints_window_size_unset(ec);
                }
              else
@@ -5207,7 +5213,14 @@ e_client_unmaximize(E_Client *ec, E_Maximize max)
                   if (ec->layout.splited)
                     e_client_util_move_resize_without_frame(ec, x, y, w, h);
                   else
-                    e_policy_visibility_client_defer_move(ec, x, y);
+                     {
+                        if (ec->changes.pos)
+                          {
+                             x = ec->x; y = ec->y;
+                          }
+                        e_policy_visibility_client_defer_move(ec, x, y);
+                     }
+
                   e_hints_window_size_set(ec);
                }
              if (vert)
index d1e2845..6ab936d 100644 (file)
@@ -2714,6 +2714,7 @@ _e_policy_wl_floating_mode_apply(E_Client *ec, Eina_Bool floating)
    if (ec->floating == floating) return;
 
    ec->floating = floating;
+   ec->lock_client_location = EINA_FALSE;
 
    if (ec->frame)
      {