From c8e95a89313c4a5943295914ff40723de20a145e Mon Sep 17 00:00:00 2001 From: Thomas Holder Date: Sun, 7 Jul 2019 17:38:50 +0200 Subject: macOS menu: "Window" before "Help" Closes #322 --- src/widgets/desktop-widget.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/widgets/desktop-widget.cpp') diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index be477baf4..99f24f818 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -878,6 +878,19 @@ sp_desktop_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation) } } +#ifdef GDK_WINDOWING_QUARTZ +static GtkMenuItem *_get_help_menu(GtkMenuShell *menu) +{ + // Assume "Help" is the last child in menu + GtkMenuItem *last = nullptr; + auto callback = [](GtkWidget *widget, gpointer data) { + *static_cast(data) = GTK_MENU_ITEM(widget); + }; + gtk_container_foreach(GTK_CONTAINER(menu), callback, &last); + return last; +} +#endif + /** * Callback to realize desktop widget. */ @@ -939,6 +952,7 @@ sp_desktop_widget_realize (GtkWidget *widget) menushell->set_parent(*window); gtkosx_application_set_menu_bar(osxapp, menushell->gobj()); gtkosx_application_set_use_quartz_accelerators(osxapp, false); + gtkosx_application_set_help_menu(osxapp, _get_help_menu(menushell->gobj())); gtkosx_application_set_window_menu(osxapp, nullptr); } #endif -- cgit v1.2.3