Add code to update the layout_apply information 64/292364/2 accepted/tizen/7.0/unified/20230505.170237
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 May 2023 08:04:56 +0000 (17:04 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 May 2023 09:43:34 +0000 (09:43 +0000)
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 71c7d5b4d6bc3c3782d07300c44dc932e1d87518..798d579cea7d463ea126b9d1219a549131389546 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 b4a61c5692284f109e1cc56382be42e65272a32d..385da2723971682fd1ff01820e1d71781a11a34b 100644 (file)
@@ -3638,6 +3638,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 70c75268bec4d9f7d3181514f0442d23c61da6d4..0a4f28e8ca87f0448da1177adc48ab1a38ca293c 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;