Make app menu fallback a bit more reliable
If the theme has no 'menu' control in the window decorations, show the menubar after all.
This commit is contained in:
@@ -486,11 +486,24 @@ _gtk_header_bar_update_window_buttons (GtkHeaderBar *bar)
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gtk_header_bar_get_shows_app_menu (GtkHeaderBar *bar)
|
||||
_gtk_header_bar_shows_app_menu (GtkHeaderBar *bar)
|
||||
{
|
||||
GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
|
||||
GtkWindow *window;
|
||||
gchar *layout_desc;
|
||||
gboolean ret;
|
||||
|
||||
return (priv->titlebar_menu_button != NULL);
|
||||
window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (bar)));
|
||||
gtk_widget_style_get (GTK_WIDGET (window),
|
||||
"decoration-button-layout", &layout_desc,
|
||||
NULL);
|
||||
|
||||
ret = priv->shows_wm_decorations &&
|
||||
(layout_desc && strstr (layout_desc, "menu"));
|
||||
|
||||
g_free (layout_desc);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef __GTK_HEADER_BAR_PRIVATE_H__
|
||||
#define __GTK_HEADER_BAR_PRIVATE_H__
|
||||
|
||||
gboolean _gtk_header_bar_get_shows_app_menu (GtkHeaderBar *bar);
|
||||
gboolean _gtk_header_bar_shows_app_menu (GtkHeaderBar *bar);
|
||||
void _gtk_header_bar_update_window_buttons (GtkHeaderBar *bar);
|
||||
gboolean _gtk_header_bar_update_window_icon (GtkHeaderBar *bar,
|
||||
GtkWindow *window);
|
||||
|
||||
@@ -3619,7 +3619,7 @@ _gtk_window_titlebar_shows_app_menu (GtkWindow *window)
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
|
||||
if (GTK_IS_HEADER_BAR (priv->title_box))
|
||||
return gtk_header_bar_get_show_close_button (GTK_HEADER_BAR (priv->title_box));
|
||||
return _gtk_header_bar_shows_app_menu (GTK_HEADER_BAR (priv->title_box));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user