[gtk+] Remove GtkWindow::hide-titlebar-when-maximized



commit 92b0d2e8ea8b41ea914eb4d66b48cc7dd2d34b9d
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon May 1 12:57:05 2017 -0400

    Remove GtkWindow::hide-titlebar-when-maximized
    
    This was only every implemented under X11, and with CSD,
    this is clearly in the application realm. We should not
    pretend that we can support it on the toolkit level.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=775061

 demos/gtk-demo/application.c         |   14 ------
 demos/gtk-demo/menus.ui              |    4 --
 docs/reference/gtk/gtk4-sections.txt |    2 -
 gtk/gtkwindow.c                      |   86 +--------------------------------
 gtk/gtkwindow.h                      |    5 --
 testsuite/gtk/window.c               |   61 ------------------------
 6 files changed, 3 insertions(+), 169 deletions(-)
---
diff --git a/demos/gtk-demo/application.c b/demos/gtk-demo/application.c
index 6233f72..217947f 100644
--- a/demos/gtk-demo/application.c
+++ b/demos/gtk-demo/application.c
@@ -292,19 +292,6 @@ change_theme_state (GSimpleAction *action,
 }
 
 static void
-change_titlebar_state (GSimpleAction *action,
-                       GVariant      *state,
-                       gpointer       user_data)
-{
-  GtkWindow *window = user_data;
-
-  gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window),
-                                               g_variant_get_boolean (state));
-
-  g_simple_action_set_state (action, state);
-}
-
-static void
 change_radio_state (GSimpleAction *action,
                     GVariant      *state,
                     gpointer       user_data)
@@ -322,7 +309,6 @@ static GActionEntry app_entries[] = {
 };
 
 static GActionEntry win_entries[] = {
-  { "titlebar", activate_toggle, NULL, "false", change_titlebar_state },
   { "shape", activate_radio, "s", "'oval'", change_radio_state },
   { "bold", activate_toggle, NULL, "false", NULL },
   { "about", activate_about, NULL, NULL, NULL },
diff --git a/demos/gtk-demo/menus.ui b/demos/gtk-demo/menus.ui
index a0aecfa..16ca40b 100644
--- a/demos/gtk-demo/menus.ui
+++ b/demos/gtk-demo/menus.ui
@@ -38,10 +38,6 @@
           <attribute name="label" translatable="yes">_Prefer Dark Theme</attribute>
           <attribute name="action">app.dark</attribute>
         </item>
-        <item>
-          <attribute name="label" translatable="yes">_Hide Titlebar when maximized</attribute>
-          <attribute name="action">win.titlebar</attribute>
-        </item>
         <submenu>
           <attribute name="label" translatable="yes">_Color</attribute>
           <section>
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 3c0e27c..e74f9c5 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4749,7 +4749,6 @@ gtk_window_set_position
 gtk_window_set_transient_for
 gtk_window_set_attached_to
 gtk_window_set_destroy_with_parent
-gtk_window_set_hide_titlebar_when_maximized
 gtk_window_set_screen
 gtk_window_get_screen
 gtk_window_is_active
@@ -4797,7 +4796,6 @@ gtk_window_get_default_icon_list
 gtk_window_get_default_icon_name
 gtk_window_get_default_size
 gtk_window_get_destroy_with_parent
-gtk_window_get_hide_titlebar_when_maximized
 gtk_window_get_icon
 gtk_window_get_icon_list
 gtk_window_get_icon_name
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 56da76f..091b7f0 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -238,7 +238,6 @@ struct _GtkWindowPrivate
   guint    focus_on_map              : 1;
   guint    fullscreen_initially      : 1;
   guint    has_user_ref_count        : 1;
-  guint    hide_titlebar_when_maximized : 1;
   guint    iconify_initially         : 1; /* gtk_window_iconify() called before realization */
   guint    is_active                 : 1;
   guint    maximize_initially        : 1;
@@ -1787,9 +1786,6 @@ gtk_window_set_property (GObject      *object,
     case PROP_DESTROY_WITH_PARENT:
       gtk_window_set_destroy_with_parent (window, g_value_get_boolean (value));
       break;
-    case PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED:
-      gtk_window_set_hide_titlebar_when_maximized (window, g_value_get_boolean (value));
-      break;
     case PROP_ICON:
       gtk_window_set_icon (window,
                            g_value_get_object (value));
@@ -1901,9 +1897,6 @@ gtk_window_get_property (GObject      *object,
     case PROP_DESTROY_WITH_PARENT:
       g_value_set_boolean (value, priv->destroy_with_parent);
       break;
-    case PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED:
-      g_value_set_boolean (value, priv->hide_titlebar_when_maximized);
-      break;
     case PROP_ICON:
       g_value_set_object (value, gtk_window_get_icon (window));
       break;
@@ -3800,74 +3793,6 @@ gtk_window_get_destroy_with_parent (GtkWindow *window)
   return window->priv->destroy_with_parent;
 }
 
-static void
-gtk_window_apply_hide_titlebar_when_maximized (GtkWindow *window)
-{
-#ifdef GDK_WINDOWING_X11
-  GdkWindow *gdk_window;
-  gboolean setting;
-
-  setting = window->priv->hide_titlebar_when_maximized;
-  gdk_window = _gtk_widget_get_window (GTK_WIDGET (window));
-
-  if (GDK_IS_X11_WINDOW (gdk_window))
-    gdk_x11_window_set_hide_titlebar_when_maximized (gdk_window, setting);
-#endif
-}
-
-/**
- * gtk_window_set_hide_titlebar_when_maximized:
- * @window: a #GtkWindow
- * @setting: whether to hide the titlebar when @window is maximized
- *
- * If @setting is %TRUE, then @window will request that it’s titlebar
- * should be hidden when maximized.
- * This is useful for windows that don’t convey any information other
- * than the application name in the titlebar, to put the available
- * screen space to better use. If the underlying window system does not
- * support the request, the setting will not have any effect.
- *
- * Note that custom titlebars set with gtk_window_set_titlebar() are
- * not affected by this. The application is in full control of their
- * content and visibility anyway.
- * 
- * Since: 3.4
- **/
-void
-gtk_window_set_hide_titlebar_when_maximized (GtkWindow *window,
-                                             gboolean   setting)
-{
-  g_return_if_fail (GTK_IS_WINDOW (window));
-
-  if (window->priv->hide_titlebar_when_maximized == setting)
-    return;
-
-  window->priv->hide_titlebar_when_maximized = setting;
-  gtk_window_apply_hide_titlebar_when_maximized (window);
-
-  g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_HIDE_TITLEBAR_WHEN_MAXIMIZED]);
-}
-
-/**
- * gtk_window_get_hide_titlebar_when_maximized:
- * @window: a #GtkWindow
- *
- * Returns whether the window has requested to have its titlebar hidden
- * when maximized. See gtk_window_set_hide_titlebar_when_maximized ().
- *
- * Returns: %TRUE if the window has requested to have its titlebar
- *               hidden when maximized
- *
- * Since: 3.4
- **/
-gboolean
-gtk_window_get_hide_titlebar_when_maximized (GtkWindow *window)
-{
-  g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
-
-  return window->priv->hide_titlebar_when_maximized;
-}
-
 static GtkWindowGeometryInfo*
 gtk_window_get_geometry_info (GtkWindow *window,
                              gboolean   create)
@@ -5753,10 +5678,8 @@ update_csd_visibility (GtkWindow *window)
   if (priv->title_box == NULL)
     return FALSE;
 
-  visible = !priv->fullscreen &&
-            !(priv->titlebar == priv->title_box &&
-              priv->maximized &&
-              priv->hide_titlebar_when_maximized);
+  visible = !priv->fullscreen;
+
   gtk_widget_set_child_visible (priv->title_box, visible);
 
   return visible;
@@ -6016,10 +5939,7 @@ gtk_window_map (GtkWidget *widget)
   gdk_window_set_keep_below (gdk_window, priv->below_initially);
 
   if (priv->type == GTK_WINDOW_TOPLEVEL)
-    {
-      gtk_window_set_theme_variant (window);
-      gtk_window_apply_hide_titlebar_when_maximized (window);
-    }
+    gtk_window_set_theme_variant (window);
 
   /* No longer use the default settings */
   priv->need_default_size = FALSE;
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index 771feee..0f247e0 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -227,11 +227,6 @@ void       gtk_window_set_destroy_with_parent  (GtkWindow           *window,
                                                 gboolean             setting);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_window_get_destroy_with_parent  (GtkWindow           *window);
-GDK_AVAILABLE_IN_3_4
-void       gtk_window_set_hide_titlebar_when_maximized (GtkWindow   *window,
-                                                        gboolean     setting);
-GDK_AVAILABLE_IN_3_4
-gboolean   gtk_window_get_hide_titlebar_when_maximized (GtkWindow   *window);
 GDK_AVAILABLE_IN_ALL
 void       gtk_window_set_mnemonics_visible    (GtkWindow           *window,
                                                 gboolean             setting);
diff --git a/testsuite/gtk/window.c b/testsuite/gtk/window.c
index 70fdf76..59454cc 100644
--- a/testsuite/gtk/window.c
+++ b/testsuite/gtk/window.c
@@ -348,66 +348,6 @@ on_map_event (GtkWidget *window)
   return FALSE;
 }
 
-static void
-test_hide_titlebar_when_maximized (void)
-{
-  GtkWidget *window;
-
-  g_test_bug ("740287");
-
-  /* test that hide-titlebar-when-maximized gets set appropriately
-   * on the window, if it's set before the window is realized.
-   */
-
-  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
-  g_signal_connect (window,
-                    "map-event",
-                    G_CALLBACK (on_map_event),
-                    NULL);
-
-  gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
-
-  gtk_widget_show (window);
-
-  g_timeout_add (100, stop_main, NULL);
-  gtk_main ();
-
-#ifdef GDK_WINDOWING_X11
-  if (GDK_IS_X11_SCREEN (gtk_widget_get_screen (window)))
-    {
-      Atom type;
-      gint format;
-      gulong nitems;
-      gulong bytes_after;
-      gulong *hide = NULL;
-
-      XGetWindowProperty (gdk_x11_get_default_xdisplay (),
-                          GDK_WINDOW_XID (gtk_widget_get_window (window)),
-                          gdk_x11_get_xatom_by_name ("_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED"),
-                          0,
-                          G_MAXLONG,
-                          False,
-                          XA_CARDINAL,
-                          &type,
-                          &format,
-                          &nitems,
-                          &bytes_after,
-                          (guchar **) &hide);
-
-      g_assert_cmpint (type, !=, None);
-      g_assert_cmpint (type, ==, XA_CARDINAL);
-      g_assert_cmpint (format, ==, 32);
-      g_assert_cmpint (nitems, ==, 1);
-      g_assert_cmpint (hide[0], ==, 1);
-
-      XFree (hide);
-    }
-#endif
-
-  gtk_widget_destroy (window);
-}
-
 int
 main (int argc, char *argv[])
 {
@@ -428,7 +368,6 @@ main (int argc, char *argv[])
   g_test_add_func ("/window/show-hide", test_show_hide);
   g_test_add_func ("/window/show-hide2", test_show_hide2);
   g_test_add_func ("/window/show-hide3", test_show_hide3);
-  g_test_add_func ("/window/hide-titlebar-when-maximized", test_hide_titlebar_when_maximized);
 
   return g_test_run ();
 }


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