File window-Maximize-resizable-pseudo-dialogs-on-mobile.patch of Package gtk3

From: Adrien Plazas <kekun.plazas@laposte.net>
Date: Thu, 11 Jul 2019 14:18:39 +0200
Subject: window: Maximize resizable pseudo-dialogs on mobile

This will make them look better on phone screens.
---
 gtk/gtkwindow.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 39b01ee..d7f8e26 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -39,6 +39,7 @@
 #include "gtkcssiconthemevalueprivate.h"
 #include "gtkcssrgbavalueprivate.h"
 #include "gtkcssshadowsvalueprivate.h"
+#include "gtkdialog.h"
 #include "gtkkeyhash.h"
 #include "gtkmain.h"
 #include "gtkmnemonichash.h"
@@ -6317,6 +6318,7 @@ gtk_window_map (GtkWidget *widget)
   GdkWindow *gdk_window;
   GList *link;
   GdkDisplay *display;
+  gboolean is_dialog;
 
   if (!_gtk_widget_is_toplevel (widget))
     {
@@ -6341,7 +6343,10 @@ gtk_window_map (GtkWidget *widget)
 
   gdk_window = _gtk_widget_get_window (widget);
 
-  if (priv->maximize_initially)
+  /* Transient windows can be considered pseudo-dialogs. */
+  is_dialog = GTK_IS_DIALOG (widget) || !!gtk_window_get_transient_for (window);
+  if (priv->maximize_initially ||
+      (is_dialog && gtk_window_get_resizable (window) && _gtk_get_is_phone ()))
     gdk_window_maximize (gdk_window);
   else
     gdk_window_unmaximize (gdk_window);
openSUSE Build Service is sponsored by