a26ded47d9
Add a new interface, gtk_shell, than can be used by gtk to retrieve a surface extension called gtk_surface, which will be used to communicate with mutter all the GTK extensions to EWMH https://bugzilla.gnome.org/show_bug.cgi?id=707128 Add support for GTK application menus To do so, we need to be able to set surface state before creating the MetaWindow, so we introduce MetaWaylandSurfaceInitialState as a staging area. The gtk-shell-surface implementation would either write to the initial state, or directly to the window. At the same, implement set_title and set_class too, because it's easy enough. https://bugzilla.gnome.org/show_bug.cgi?id=707128
31 lines
1.0 KiB
XML
31 lines
1.0 KiB
XML
<protocol name="gtk">
|
|
|
|
<interface name="gtk_shell" version="1">
|
|
<enum name="capability">
|
|
<entry name="global_app_menu" value="1"/>
|
|
<entry name="global_menu_bar" value="2"/>
|
|
</enum>
|
|
|
|
<event name="capabilities">
|
|
<arg name="capabilities" type="uint"/>
|
|
</event>
|
|
|
|
<request name="get_gtk_surface">
|
|
<arg name="gtk_surface" type="new_id" interface="gtk_surface"/>
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
</request>
|
|
</interface>
|
|
|
|
<interface name="gtk_surface" version="1">
|
|
<request name="set_dbus_properties">
|
|
<arg name="application_id" type="string" allow-null="true"/>
|
|
<arg name="app_menu_path" type="string" allow-null="true"/>
|
|
<arg name="menubar_path" type="string" allow-null="true"/>
|
|
<arg name="window_object_path" type="string" allow-null="true"/>
|
|
<arg name="application_object_path" type="string" allow-null="true"/>
|
|
<arg name="unique_bus_name" type="string" allow-null="true"/>
|
|
</request>
|
|
</interface>
|
|
|
|
</protocol>
|