Revision control
++ <?xml version="1.0" encoding="UTF-8"?>
++ <protocol name="appmenu">
++ <copyright><![CDATA[
++ SPDX-FileCopyrightText: 2017 David Edmundson
++
++ SPDX-License-Identifier: LGPL-2.1-or-later
++ ]]></copyright>
++ <interface name="org_kde_kwin_appmenu_manager" version="1">
++ <description summary="appmenu dbus address interface">
++ This interface allows a client to link a window (or wl_surface) to an com.canonical.dbusmenu
++ interface registered on DBus.
++ </description>
++ <request name="create">
++ <arg name="id" type="new_id" interface="org_kde_kwin_appmenu"/>
++ <arg name="surface" type="object" interface="wl_surface"/>
++ </request>
++ </interface>
++ <interface name="org_kde_kwin_appmenu" version="1">
++ <description summary="appmenu dbus address interface">
++ The DBus service name and object path where the appmenu interface is present
++ The object should be registered on the session bus before sending this request.
++ If not applicable, clients should remove this object.
++ </description>
++ <request name="set_address">
++ <description summary="initialise or update the location of the AppMenu interface">
++ Set or update the service name and object path.
++ Strings should be formatted in Latin-1 matching the relevant DBus specifications.
++ </description>
++ <arg name="service_name" type="string" />
++ <arg name="object_path" type="string" />
++ </request>
++ <request name="release" type="destructor">
++ <description summary="release the appmenu object"/>
++ </request>
++ </interface>
++ </protocol>