Add code to update the layout_apply information 61/292361/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 May 2023 08:04:56 +0000 (17:04 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 4 May 2023 09:36:47 +0000 (18:36 +0900)
We update the layout_apply value of EC to EINA_TRUE when the user requests to layout_set.
And we change it to EINA_FALSE when the user requests to maximize, unmaximize and
interactive move or resize.

Change-Id: Ib8f3a88d8689aad625b2cdaa453548a98ab39d5b

src/bin/e_comp_wl_shell.c
src/bin/e_policy_wl.c
src/bin/e_xdg_shell_v6.c

index cd6a49d..0736676 100644 (file)
@@ -277,6 +277,8 @@ e_shell_e_client_interactive_move(E_Client *ec,
 
    TRACE_DS_BEGIN(SHELL:SURFACE MOVE REQUEST CB);
 
+   e_client_layout_apply(ec, EINA_FALSE);
+
    switch (e_comp_wl->ptr.button)
      {
       case BTN_LEFT:    ev.button = 1; break;
@@ -321,6 +323,8 @@ e_shell_e_client_interactive_resize(E_Client *ec,
 
    TRACE_DS_BEGIN(SHELL:SURFACE RESIZE REQUEST CB);
 
+   e_client_layout_apply(ec, EINA_FALSE);
+
    e_comp_wl->resize.resource = resource;
    e_comp_wl->resize.edges = edges;
    e_comp_wl->ptr.grab_x = e_comp_wl->ptr.x - wl_fixed_from_int(ec->client.x);
index 33a760f..4adb922 100644 (file)
@@ -3641,6 +3641,7 @@ _tzpol_iface_cb_set_layout(struct wl_client *client EINA_UNUSED, struct wl_resou
    ELOGF("TZPOL", "Consider Shadow size(l:%d,r:%d,t:%d,b:%d). new (%d,%d,%dx%d)",
          ec, ec->manage_resize.shadow.l, ec->manage_resize.shadow.r, ec->manage_resize.shadow.t, ec->manage_resize.shadow.b, x, y, w, h);
 
+   e_client_layout_apply(ec, EINA_TRUE);
    e_client_frame_geometry_set(ec, x, y, w, h);
 
    if (!ec->visible)
index 70c7526..0a4f28e 100644 (file)
@@ -810,6 +810,8 @@ _e_xdg_toplevel_cb_maximized_set(struct wl_client *client, struct wl_resource *r
      {
         if ((ec->maximize_dir == E_MAXIMIZE_DIRECTION_ALL) || (ec->maximize_dir == E_MAXIMIZE_DIRECTION_NONE))
           {
+             e_client_layout_apply(ec, EINA_FALSE);
+
              max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
              e_client_maximize(ec, max);
           }
@@ -836,6 +838,8 @@ _e_xdg_toplevel_cb_maximized_unset(struct wl_client *client, struct wl_resource
         return;
      }
 
+   e_client_layout_apply(ec, EINA_FALSE);
+
    ELOGF("XDG6", "Toplevel Maximized Unset. res:%p, lock_user_maximize:%d", ec, resource, ec->lock_user_maximize);
 
    ec->maximize_dir = E_MAXIMIZE_DIRECTION_NONE;