[mutter/gtk3-ci: 12/18] window: Add meta_window_untile()



commit 95f3fe7bd5b26276889ac6d1639c90f5d1807801
Author: Jonas Ådahl <jadahl gmail com>
Date:   Thu Apr 2 19:04:43 2020 +0200

    window: Add meta_window_untile()
    
    It does the same as the untile keyboard shortcut does, i.e. handles
    going back to saved maximized state. It's split out to be able to be
    tested by the stacking tests.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1171

 src/core/keybindings.c    | 10 +---------
 src/core/window-private.h |  3 +++
 src/core/window.c         | 16 ++++++++++++++++
 3 files changed, 20 insertions(+), 9 deletions(-)
---
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 7f930874f..31d23c2be 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -3302,15 +3302,7 @@ handle_toggle_tiled (MetaDisplay     *display,
   if ((META_WINDOW_TILED_LEFT (window) && mode == META_TILE_LEFT) ||
       (META_WINDOW_TILED_RIGHT (window) && mode == META_TILE_RIGHT))
     {
-      window->tile_monitor_number = window->saved_maximize ? window->monitor->number
-        : -1;
-      window->tile_mode = window->saved_maximize ? META_TILE_MAXIMIZED
-        : META_TILE_NONE;
-
-      if (window->saved_maximize)
-        meta_window_maximize (window, META_MAXIMIZE_BOTH);
-      else
-        meta_window_unmaximize (window, META_MAXIMIZE_BOTH);
+      meta_window_untile (window);
     }
   else if (meta_window_can_tile_side_by_side (window))
     {
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 07f316e90..7f68eca7f 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -656,6 +656,9 @@ void        meta_window_unmanage           (MetaWindow  *window,
 void        meta_window_unmanage_on_idle   (MetaWindow *window);
 void        meta_window_queue              (MetaWindow  *window,
                                             guint queuebits);
+META_EXPORT_TEST
+void        meta_window_untile             (MetaWindow        *window);
+
 META_EXPORT_TEST
 void        meta_window_tile               (MetaWindow        *window,
                                             MetaTileMode       mode);
diff --git a/src/core/window.c b/src/core/window.c
index ea721f794..b66ae67f3 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3148,6 +3148,22 @@ update_edge_constraints (MetaWindow *window)
     }
 }
 
+void
+meta_window_untile (MetaWindow *window)
+{
+  window->tile_monitor_number =
+    window->saved_maximize ? window->monitor->number
+                           : -1;
+  window->tile_mode =
+    window->saved_maximize ? META_TILE_MAXIMIZED
+                           : META_TILE_NONE;
+
+  if (window->saved_maximize)
+    meta_window_maximize (window, META_MAXIMIZE_BOTH);
+  else
+    meta_window_unmaximize (window, META_MAXIMIZE_BOTH);
+}
+
 void
 meta_window_tile (MetaWindow   *window,
                   MetaTileMode  tile_mode)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]