Open Bug 1149972 Opened 9 years ago Updated 2 years ago

Feature request: Gnome 3 AppMenu and Menubar support

Categories

(Core :: Widget: Gtk, defect, P5)

x86_64
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: ria.freelander, Unassigned)

References

Details

(Whiteboard: tpi:+)

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0
Build ID: 20150331042127

Steps to reproduce:

Open firefox under Gnome-Shell or with indicator-appmenu


Actual results:

Only dummy menuitem shows (in case of Gnome-Shell, this is File->Quit)


Expected results:

Firefox menu should be mirrored into menubar, and Generic Firefox menu should be shown as AppMenu (example in Attachment)
I was looking at a way of implementing this but I got stuck on following:

Setting the Gnome-Shell app menu is done with gtk_application_set_app_menu() function (available since GTK 3.4) and for that we would need to use GtkApplication class which is currently not used. I had a look at some other applications which implemented the Gnome-Shell app menu (e.g. gedit or nautilus) and they used either gtk_main() (before porting to GtkApplication) or g_application_run() blocking calls for event processing which firefox does not use.

Firefox uses non-blocking g_main_context_iteration() for fetching and processing events as far as I know.

So basically I am looking for a way how to implement GtkApplication so that I am able to add Gnome-Shell app menu items but I do not know how so far.

Any ideas or suggestions ?
Bug 619899 probably has some of what is required here.
It may make sense to dupe this bug to that and retitle if the patch there can be generalized.
Depends on: 619899
In fact, what needs to create AppMenu:
1. Bunch of GAction wrappers for all menuitems (or way to generate wrappers in runtime, which is better)
2. GMenuModel (which is actual an XML file for menu, but can dynamically generated as code (GMenu class))
3.Export GMenuModel via g_dbus_connection_export_menu_model.

It's all.
Priority: -- → P5
Whiteboard: tpi:+
For Unity it is now Wontfix. But what about gnome3?
For set a model, you need actually set a bunch of window properties and export a menu model and actions.

This is exactly what gtk_application_set_app_menu() do.

This can be closed, appmenus are retired upstream, see https://wiki.gnome.org/Initiatives/GnomeGoals/AppMenuRetirement

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: