diff options
author | Dmitry Shachnev <mitya57@gmail.com> | 2016-01-15 17:04:01 +0300 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@theqtcompany.com> | 2016-02-23 20:56:07 +0000 |
commit | b6a824d0a3b4fabd9c22fe4c954d50e8755fb509 (patch) | |
tree | 3d37a77576234e54ffc173df7bcf4e78b2f48112 /src/3rdparty/dbus-ifaces | |
parent | 950bb7185c320ca9fe776bf0dc2a9589bf193a0d (diff) |
Add native support for D-Bus global menu
The protocol was originally developed by Canonical, currently supported
by Unity and Plasma.
Adjust some tests to use the non-native menu bar when they require it.
[ChangeLog][XCB / X11] QMenuBar uses the unified D-Bus AppMenu menubar
when the desktop environment supports it.
Change-Id: Iea74b40522573bcc4f70168fe7fa2a49b4f3fc21
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Diffstat (limited to 'src/3rdparty/dbus-ifaces')
-rw-r--r-- | src/3rdparty/dbus-ifaces/com.canonical.AppMenu.Registrar.xml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/3rdparty/dbus-ifaces/com.canonical.AppMenu.Registrar.xml b/src/3rdparty/dbus-ifaces/com.canonical.AppMenu.Registrar.xml new file mode 100644 index 0000000000..42a71707b6 --- /dev/null +++ b/src/3rdparty/dbus-ifaces/com.canonical.AppMenu.Registrar.xml @@ -0,0 +1,56 @@ +<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> +<node xmlns:dox="http://www.ayatana.org/dbus/dox.dtd"> + <dox:d><![CDATA[ + @mainpage + + An interface to register menus that are associated with a window in an application. The + main interface is documented here: @ref com::canonical::AppMenu::Registrar. + + The actual menus are transported using the dbusmenu protocol which is available + here: @ref com::canonical::dbusmenu. + ]]></dox:d> + <interface name="com.canonical.AppMenu.Registrar" xmlns:dox="http://www.ayatana.org/dbus/dox.dtd"> + <dox:d> + An interface to register a menu from an application's window to be displayed in another + window. This manages that association between XWindow Window IDs and the dbus + address and object that provides the menu using the dbusmenu dbus interface. + </dox:d> + <method name="RegisterWindow"> + <dox:d><![CDATA[ + Associates a dbusmenu with a window + + /note this method assumes that the connection from the caller is the DBus connection + to use for the object. Applications that use multiple DBus connections will need to + ensure this method is called with the same connection that implmenets the object. + ]]></dox:d> + <arg name="windowId" type="u" direction="in"> + <dox:d>The XWindow ID of the window</dox:d> + </arg> + <arg name="menuObjectPath" type="o" direction="in"> + <dox:d>The object on the dbus interface implementing the dbusmenu interface</dox:d> + </arg> + </method> + <method name="UnregisterWindow"> + <dox:d> + A method to allow removing a window from the database. Windows will also be removed + when the client drops off DBus so this is not required. It is polite though. And + important for testing. + </dox:d> + <arg name="windowId" type="u" direction="in"> + <dox:d>The XWindow ID of the window</dox:d> + </arg> + </method> + <method name="GetMenuForWindow"> + <dox:d>Gets the registered menu for a given window ID.</dox:d> + <arg name="windowId" type="u" direction="in"> + <dox:d>The XWindow ID of the window to get</dox:d> + </arg> + <arg name="service" type="s" direction="out"> + <dox:d>The address of the connection on DBus (e.g. :1.23 or org.example.service)</dox:d> + </arg> + <arg name="menuObjectPath" type="o" direction="out"> + <dox:d>The path to the object which implements the com.canonical.dbusmenu interface.</dox:d> + </arg> + </method> + </interface> +</node> |