aboutsummaryrefslogtreecommitdiff
path: root/docs/libdbusmenu-glib/reference/xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libdbusmenu-glib/reference/xml')
-rw-r--r--docs/libdbusmenu-glib/reference/xml/annotation-glossary.xml80
-rw-r--r--docs/libdbusmenu-glib/reference/xml/api-index-deprecated.xml8
-rw-r--r--docs/libdbusmenu-glib/reference/xml/api-index-full.xml153
-rw-r--r--docs/libdbusmenu-glib/reference/xml/client.xml448
-rw-r--r--docs/libdbusmenu-glib/reference/xml/menuitem-proxy.xml114
-rw-r--r--docs/libdbusmenu-glib/reference/xml/menuitem.xml1331
-rw-r--r--docs/libdbusmenu-glib/reference/xml/server.xml309
-rw-r--r--docs/libdbusmenu-glib/reference/xml/types.xml192
8 files changed, 2635 insertions, 0 deletions
diff --git a/docs/libdbusmenu-glib/reference/xml/annotation-glossary.xml b/docs/libdbusmenu-glib/reference/xml/annotation-glossary.xml
new file mode 100644
index 0000000..873e3a8
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/annotation-glossary.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+
+<glossary id="annotation-glossary">
+ <title>Annotation Glossary</title>
+<glossdiv><title>A</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-allow-none"/>allow-none</glossterm>
+ <glossdef>
+ <para>NULL is ok, both for passing and for returning.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>C</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-closure"/>closure</glossterm>
+ <glossdef>
+ <para>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>T</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-transfer none"/>transfer none</glossterm>
+ <glossdef>
+ <para>Don't free data after the code is done.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>A</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-array"/>array</glossterm>
+ <glossdef>
+ <para>Parameter points to an array of items.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>E</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-element-type"/>element-type</glossterm>
+ <glossdef>
+ <para>Generics and defining elements of containers and arrays.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>I</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-in"/>in</glossterm>
+ <glossdef>
+ <para>Parameter for input. Default is <acronym>transfer none</acronym>.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>T</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-transfer container"/>transfer container</glossterm>
+ <glossdef>
+ <para>Free data container after the code is done.</para>
+ </glossdef>
+ </glossentry>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-transfer full"/>transfer full</glossterm>
+ <glossdef>
+ <para>Free data after the code is done.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+<glossdiv><title>S</title>
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-scope notified"/>scope notified</glossterm>
+ <glossdef>
+ <para>The callback is valid until the GDestroyNotify argument is called.</para>
+ </glossdef>
+ </glossentry>
+</glossdiv>
+</glossary>
diff --git a/docs/libdbusmenu-glib/reference/xml/api-index-deprecated.xml b/docs/libdbusmenu-glib/reference/xml/api-index-deprecated.xml
new file mode 100644
index 0000000..8ec0fe4
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/api-index-deprecated.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<indexdiv>
+</indexdiv>
diff --git a/docs/libdbusmenu-glib/reference/xml/api-index-full.xml b/docs/libdbusmenu-glib/reference/xml/api-index-full.xml
new file mode 100644
index 0000000..54cebe8
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/api-index-full.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<indexdiv>
+<indexdiv><title>C</title>
+<indexentry><primaryie linkends="DbusmenuClient"><link linkend="DbusmenuClient">DbusmenuClient</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuClientClass"><link linkend="DbusmenuClientClass">DbusmenuClientClass</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuClientTypeHandler"><link linkend="DbusmenuClientTypeHandler">DbusmenuClientTypeHandler</link>, user_function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-add-type-handler"><link linkend="dbusmenu-client-add-type-handler">dbusmenu_client_add_type_handler</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-add-type-handler-full"><link linkend="dbusmenu-client-add-type-handler-full">dbusmenu_client_add_type_handler_full</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-get-icon-paths"><link linkend="dbusmenu-client-get-icon-paths">dbusmenu_client_get_icon_paths</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-get-root"><link linkend="dbusmenu-client-get-root">dbusmenu_client_get_root</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-get-status"><link linkend="dbusmenu-client-get-status">dbusmenu_client_get_status</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-get-text-direction"><link linkend="dbusmenu-client-get-text-direction">dbusmenu_client_get_text_direction</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-client-new"><link linkend="dbusmenu-client-new">dbusmenu_client_new</link>, function in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-PROP-DBUS-NAME:CAPS"><link linkend="DBUSMENU-CLIENT-PROP-DBUS-NAME:CAPS">DBUSMENU_CLIENT_PROP_DBUS_NAME</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-PROP-DBUS-OBJECT:CAPS"><link linkend="DBUSMENU-CLIENT-PROP-DBUS-OBJECT:CAPS">DBUSMENU_CLIENT_PROP_DBUS_OBJECT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-PROP-GROUP-EVENTS:CAPS"><link linkend="DBUSMENU-CLIENT-PROP-GROUP-EVENTS:CAPS">DBUSMENU_CLIENT_PROP_GROUP_EVENTS</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-PROP-STATUS:CAPS"><link linkend="DBUSMENU-CLIENT-PROP-STATUS:CAPS">DBUSMENU_CLIENT_PROP_STATUS</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-PROP-TEXT-DIRECTION:CAPS"><link linkend="DBUSMENU-CLIENT-PROP-TEXT-DIRECTION:CAPS">DBUSMENU_CLIENT_PROP_TEXT_DIRECTION</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-EVENT-RESULT:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-EVENT-RESULT:CAPS">DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-ICON-THEME-DIRS-CHANGED:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-ICON-THEME-DIRS-CHANGED:CAPS">DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-ITEM-ACTIVATE:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-ITEM-ACTIVATE:CAPS">DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-LAYOUT-UPDATED:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-LAYOUT-UPDATED:CAPS">DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-NEW-MENUITEM:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-NEW-MENUITEM:CAPS">DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-SIGNAL-ROOT-CHANGED:CAPS"><link linkend="DBUSMENU-CLIENT-SIGNAL-ROOT-CHANGED:CAPS">DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-TYPES-DEFAULT:CAPS"><link linkend="DBUSMENU-CLIENT-TYPES-DEFAULT:CAPS">DBUSMENU_CLIENT_TYPES_DEFAULT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-TYPES-IMAGE:CAPS"><link linkend="DBUSMENU-CLIENT-TYPES-IMAGE:CAPS">DBUSMENU_CLIENT_TYPES_IMAGE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-CLIENT-TYPES-SEPARATOR:CAPS"><link linkend="DBUSMENU-CLIENT-TYPES-SEPARATOR:CAPS">DBUSMENU_CLIENT_TYPES_SEPARATOR</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuClient">DbusmenuClient</link></primaryie></indexentry>
+</indexdiv>
+<indexdiv><title>M</title>
+<indexentry><primaryie linkends="DbusmenuMenuitem"><link linkend="DbusmenuMenuitem">DbusmenuMenuitem</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuMenuitemClass"><link linkend="DbusmenuMenuitemClass">DbusmenuMenuitemClass</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuMenuitemProxy"><link linkend="DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuMenuitemProxyClass"><link linkend="DbusmenuMenuitemProxyClass">DbusmenuMenuitemProxyClass</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-about-to-show-cb"><link linkend="dbusmenu-menuitem-about-to-show-cb">dbusmenu_menuitem_about_to_show_cb</link>, user_function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-buildvariant-slot-t"><link linkend="dbusmenu-menuitem-buildvariant-slot-t">dbusmenu_menuitem_buildvariant_slot_t</link>, user_function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-add-position"><link linkend="dbusmenu-menuitem-child-add-position">dbusmenu_menuitem_child_add_position</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-append"><link linkend="dbusmenu-menuitem-child-append">dbusmenu_menuitem_child_append</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-delete"><link linkend="dbusmenu-menuitem-child-delete">dbusmenu_menuitem_child_delete</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS"><link linkend="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS">DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-find"><link linkend="dbusmenu-menuitem-child-find">dbusmenu_menuitem_child_find</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-prepend"><link linkend="dbusmenu-menuitem-child-prepend">dbusmenu_menuitem_child_prepend</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-child-reorder"><link linkend="dbusmenu-menuitem-child-reorder">dbusmenu_menuitem_child_reorder</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-DISPOSITION-ALERT:CAPS"><link linkend="DBUSMENU-MENUITEM-DISPOSITION-ALERT:CAPS">DBUSMENU_MENUITEM_DISPOSITION_ALERT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-DISPOSITION-INFORMATIVE:CAPS"><link linkend="DBUSMENU-MENUITEM-DISPOSITION-INFORMATIVE:CAPS">DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-DISPOSITION-NORMAL:CAPS"><link linkend="DBUSMENU-MENUITEM-DISPOSITION-NORMAL:CAPS">DBUSMENU_MENUITEM_DISPOSITION_NORMAL</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-DISPOSITION-WARNING:CAPS"><link linkend="DBUSMENU-MENUITEM-DISPOSITION-WARNING:CAPS">DBUSMENU_MENUITEM_DISPOSITION_WARNING</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-EVENT-ACTIVATED:CAPS"><link linkend="DBUSMENU-MENUITEM-EVENT-ACTIVATED:CAPS">DBUSMENU_MENUITEM_EVENT_ACTIVATED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-EVENT-CLOSED:CAPS"><link linkend="DBUSMENU-MENUITEM-EVENT-CLOSED:CAPS">DBUSMENU_MENUITEM_EVENT_CLOSED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-EVENT-OPENED:CAPS"><link linkend="DBUSMENU-MENUITEM-EVENT-OPENED:CAPS">DBUSMENU_MENUITEM_EVENT_OPENED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-find-id"><link linkend="dbusmenu-menuitem-find-id">dbusmenu_menuitem_find_id</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-foreach"><link linkend="dbusmenu-menuitem-foreach">dbusmenu_menuitem_foreach</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-children"><link linkend="dbusmenu-menuitem-get-children">dbusmenu_menuitem_get_children</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-id"><link linkend="dbusmenu-menuitem-get-id">dbusmenu_menuitem_get_id</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-parent"><link linkend="dbusmenu-menuitem-get-parent">dbusmenu_menuitem_get_parent</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-position"><link linkend="dbusmenu-menuitem-get-position">dbusmenu_menuitem_get_position</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-position-realized"><link linkend="dbusmenu-menuitem-get-position-realized">dbusmenu_menuitem_get_position_realized</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-get-root"><link linkend="dbusmenu-menuitem-get-root">dbusmenu_menuitem_get_root</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-handle-event"><link linkend="dbusmenu-menuitem-handle-event">dbusmenu_menuitem_handle_event</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-ICON-NAME-BLANK:CAPS"><link linkend="DBUSMENU-MENUITEM-ICON-NAME-BLANK:CAPS">DBUSMENU_MENUITEM_ICON_NAME_BLANK</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-new"><link linkend="dbusmenu-menuitem-new">dbusmenu_menuitem_new</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-new-with-id"><link linkend="dbusmenu-menuitem-new-with-id">dbusmenu_menuitem_new_with_id</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-properties-copy"><link linkend="dbusmenu-menuitem-properties-copy">dbusmenu_menuitem_properties_copy</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-properties-list"><link linkend="dbusmenu-menuitem-properties-list">dbusmenu_menuitem_properties_list</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-exist"><link linkend="dbusmenu-menuitem-property-exist">dbusmenu_menuitem_property_exist</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-get"><link linkend="dbusmenu-menuitem-property-get">dbusmenu_menuitem_property_get</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-get-bool"><link linkend="dbusmenu-menuitem-property-get-bool">dbusmenu_menuitem_property_get_bool</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-get-byte-array"><link linkend="dbusmenu-menuitem-property-get-byte-array">dbusmenu_menuitem_property_get_byte_array</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-get-int"><link linkend="dbusmenu-menuitem-property-get-int">dbusmenu_menuitem_property_get_int</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-get-variant"><link linkend="dbusmenu-menuitem-property-get-variant">dbusmenu_menuitem_property_get_variant</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-remove"><link linkend="dbusmenu-menuitem-property-remove">dbusmenu_menuitem_property_remove</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-set"><link linkend="dbusmenu-menuitem-property-set">dbusmenu_menuitem_property_set</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-set-bool"><link linkend="dbusmenu-menuitem-property-set-bool">dbusmenu_menuitem_property_set_bool</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-set-byte-array"><link linkend="dbusmenu-menuitem-property-set-byte-array">dbusmenu_menuitem_property_set_byte_array</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-set-int"><link linkend="dbusmenu-menuitem-property-set-int">dbusmenu_menuitem_property_set_int</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-property-set-variant"><link linkend="dbusmenu-menuitem-property-set-variant">dbusmenu_menuitem_property_set_variant</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-ACCESSIBLE-DESC:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-ACCESSIBLE-DESC:CAPS">DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS">DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS">DBUSMENU_MENUITEM_PROP_DISPOSITION</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-ENABLED:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-ENABLED:CAPS">DBUSMENU_MENUITEM_PROP_ENABLED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-ICON-DATA:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-ICON-DATA:CAPS">DBUSMENU_MENUITEM_PROP_ICON_DATA</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-ICON-NAME:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-ICON-NAME:CAPS">DBUSMENU_MENUITEM_PROP_ICON_NAME</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-LABEL:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-LABEL:CAPS">DBUSMENU_MENUITEM_PROP_LABEL</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS">DBUSMENU_MENUITEM_PROP_SHORTCUT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS">DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS">DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-TYPE:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-TYPE:CAPS">DBUSMENU_MENUITEM_PROP_TYPE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-PROP-VISIBLE:CAPS"><link linkend="DBUSMENU-MENUITEM-PROP-VISIBLE:CAPS">DBUSMENU_MENUITEM_PROP_VISIBLE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-proxy-get-wrapped"><link linkend="dbusmenu-menuitem-proxy-get-wrapped">dbusmenu_menuitem_proxy_get_wrapped</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-proxy-new"><link linkend="dbusmenu-menuitem-proxy-new">dbusmenu_menuitem_proxy_new</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-send-about-to-show"><link linkend="dbusmenu-menuitem-send-about-to-show">dbusmenu_menuitem_send_about_to_show</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-set-parent"><link linkend="dbusmenu-menuitem-set-parent">dbusmenu_menuitem_set_parent</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-set-root"><link linkend="dbusmenu-menuitem-set-root">dbusmenu_menuitem_set_root</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SHORTCUT-ALT:CAPS"><link linkend="DBUSMENU-MENUITEM-SHORTCUT-ALT:CAPS">DBUSMENU_MENUITEM_SHORTCUT_ALT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SHORTCUT-CONTROL:CAPS"><link linkend="DBUSMENU-MENUITEM-SHORTCUT-CONTROL:CAPS">DBUSMENU_MENUITEM_SHORTCUT_CONTROL</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SHORTCUT-SHIFT:CAPS"><link linkend="DBUSMENU-MENUITEM-SHORTCUT-SHIFT:CAPS">DBUSMENU_MENUITEM_SHORTCUT_SHIFT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SHORTCUT-SUPER:CAPS"><link linkend="DBUSMENU-MENUITEM-SHORTCUT-SUPER:CAPS">DBUSMENU_MENUITEM_SHORTCUT_SUPER</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-show-to-user"><link linkend="dbusmenu-menuitem-show-to-user">dbusmenu_menuitem_show_to_user</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-ABOUT-TO-SHOW:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-ABOUT-TO-SHOW:CAPS">DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-CHILD-ADDED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-ADDED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-CHILD-MOVED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-MOVED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-CHILD-REMOVED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-REMOVED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-EVENT:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-EVENT:CAPS">DBUSMENU_MENUITEM_SIGNAL_EVENT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-ITEM-ACTIVATED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-ITEM-ACTIVATED:CAPS">DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-PROPERTY-CHANGED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-PROPERTY-CHANGED:CAPS">DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-REALIZED:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-REALIZED:CAPS">DBUSMENU_MENUITEM_SIGNAL_REALIZED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-REALIZED-ID:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-REALIZED-ID:CAPS">DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-SIGNAL-SHOW-TO-USER:CAPS"><link linkend="DBUSMENU-MENUITEM-SIGNAL-SHOW-TO-USER:CAPS">DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-take-children"><link linkend="dbusmenu-menuitem-take-children">dbusmenu_menuitem_take_children</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS"><link linkend="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS">DBUSMENU_MENUITEM_TOGGLE_CHECK</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS"><link linkend="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS">DBUSMENU_MENUITEM_TOGGLE_RADIO</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS"><link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS"><link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-MENUITEM-TOGGLE-STATE-UNKNOWN:CAPS"><link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-UNKNOWN:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-menuitem-unparent"><link linkend="dbusmenu-menuitem-unparent">dbusmenu_menuitem_unparent</link>, function in <link linkend="libdbusmenu-glib-DbusmenuMenuitem">DbusmenuMenuitem</link></primaryie></indexentry>
+</indexdiv>
+<indexdiv><title>S</title>
+<indexentry><primaryie linkends="DbusmenuServer"><link linkend="DbusmenuServer">DbusmenuServer</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuServerClass"><link linkend="DbusmenuServerClass">DbusmenuServerClass</link>, struct in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-get-status"><link linkend="dbusmenu-server-get-status">dbusmenu_server_get_status</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-get-text-direction"><link linkend="dbusmenu-server-get-text-direction">dbusmenu_server_get_text_direction</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-new"><link linkend="dbusmenu-server-new">dbusmenu_server_new</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-PROP-DBUS-OBJECT:CAPS"><link linkend="DBUSMENU-SERVER-PROP-DBUS-OBJECT:CAPS">DBUSMENU_SERVER_PROP_DBUS_OBJECT</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-PROP-ROOT-NODE:CAPS"><link linkend="DBUSMENU-SERVER-PROP-ROOT-NODE:CAPS">DBUSMENU_SERVER_PROP_ROOT_NODE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-PROP-STATUS:CAPS"><link linkend="DBUSMENU-SERVER-PROP-STATUS:CAPS">DBUSMENU_SERVER_PROP_STATUS</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-PROP-TEXT-DIRECTION:CAPS"><link linkend="DBUSMENU-SERVER-PROP-TEXT-DIRECTION:CAPS">DBUSMENU_SERVER_PROP_TEXT_DIRECTION</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-PROP-VERSION:CAPS"><link linkend="DBUSMENU-SERVER-PROP-VERSION:CAPS">DBUSMENU_SERVER_PROP_VERSION</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-set-root"><link linkend="dbusmenu-server-set-root">dbusmenu_server_set_root</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-set-status"><link linkend="dbusmenu-server-set-status">dbusmenu_server_set_status</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-server-set-text-direction"><link linkend="dbusmenu-server-set-text-direction">dbusmenu_server_set_text_direction</link>, function in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-SIGNAL-ID-PROP-UPDATE:CAPS"><link linkend="DBUSMENU-SERVER-SIGNAL-ID-PROP-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-SIGNAL-ID-UPDATE:CAPS"><link linkend="DBUSMENU-SERVER-SIGNAL-ID-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_ID_UPDATE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-SIGNAL-ITEM-ACTIVATION:CAPS"><link linkend="DBUSMENU-SERVER-SIGNAL-ITEM-ACTIVATION:CAPS">DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATE:CAPS"><link linkend="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATED:CAPS"><link linkend="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATED:CAPS">DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED</link>, macro in <link linkend="libdbusmenu-glib-DbusmenuServer">DbusmenuServer</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DbusmenuStatus"><link linkend="DbusmenuStatus">DbusmenuStatus</link>, enum in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-status-get-nick"><link linkend="dbusmenu-status-get-nick">dbusmenu_status_get_nick</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-status-get-type"><link linkend="dbusmenu-status-get-type">dbusmenu_status_get_type</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-status-get-value-from-nick"><link linkend="dbusmenu-status-get-value-from-nick">dbusmenu_status_get_value_from_nick</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+</indexdiv>
+<indexdiv><title>T</title>
+<indexentry><primaryie linkends="DbusmenuTextDirection"><link linkend="DbusmenuTextDirection">DbusmenuTextDirection</link>, enum in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-text-direction-get-nick"><link linkend="dbusmenu-text-direction-get-nick">dbusmenu_text_direction_get_nick</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-text-direction-get-type"><link linkend="dbusmenu-text-direction-get-type">dbusmenu_text_direction_get_type</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="dbusmenu-text-direction-get-value-from-nick"><link linkend="dbusmenu-text-direction-get-value-from-nick">dbusmenu_text_direction_get_value_from_nick</link>, function in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-TYPE-STATUS:CAPS"><link linkend="DBUSMENU-TYPE-STATUS:CAPS">DBUSMENU_TYPE_STATUS</link>, macro in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+<indexentry><primaryie linkends="DBUSMENU-TYPE-TEXT-DIRECTION:CAPS"><link linkend="DBUSMENU-TYPE-TEXT-DIRECTION:CAPS">DBUSMENU_TYPE_TEXT_DIRECTION</link>, macro in <link linkend="libdbusmenu-glib-Types">Types</link></primaryie></indexentry>
+</indexdiv>
+</indexdiv>
diff --git a/docs/libdbusmenu-glib/reference/xml/client.xml b/docs/libdbusmenu-glib/reference/xml/client.xml
new file mode 100644
index 0000000..9fa0269
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/client.xml
@@ -0,0 +1,448 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<refentry id="libdbusmenu-glib-DbusmenuClient">
+<refmeta>
+<refentrytitle role="top_of_page" id="libdbusmenu-glib-DbusmenuClient.top_of_page">DbusmenuClient</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ LIBDBUSMENU-GLIB Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>DbusmenuClient</refname>
+<refpurpose>The catcher of all the server traffic</refpurpose>
+</refnamediv>
+<refsect1 id="libdbusmenu-glib-DbusmenuClient.stability-level">
+<title>Stability Level</title>
+Unstable, unless otherwise indicated
+</refsect1>
+
+<refsynopsisdiv id="libdbusmenu-glib-DbusmenuClient.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+
+<synopsis>
+#include &lt;libdbusmenu-glib/client.h&gt;
+
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-LAYOUT-UPDATED:CAPS">DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED</link>
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-ROOT-CHANGED:CAPS">DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED</link>
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-NEW-MENUITEM:CAPS">DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM</link>
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-EVENT-RESULT:CAPS">DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT</link>
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-ITEM-ACTIVATE:CAPS">DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE</link>
+#define <link linkend="DBUSMENU-CLIENT-SIGNAL-ICON-THEME-DIRS-CHANGED:CAPS">DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED</link>
+#define <link linkend="DBUSMENU-CLIENT-PROP-DBUS-NAME:CAPS">DBUSMENU_CLIENT_PROP_DBUS_NAME</link>
+#define <link linkend="DBUSMENU-CLIENT-PROP-DBUS-OBJECT:CAPS">DBUSMENU_CLIENT_PROP_DBUS_OBJECT</link>
+#define <link linkend="DBUSMENU-CLIENT-PROP-GROUP-EVENTS:CAPS">DBUSMENU_CLIENT_PROP_GROUP_EVENTS</link>
+#define <link linkend="DBUSMENU-CLIENT-PROP-STATUS:CAPS">DBUSMENU_CLIENT_PROP_STATUS</link>
+#define <link linkend="DBUSMENU-CLIENT-PROP-TEXT-DIRECTION:CAPS">DBUSMENU_CLIENT_PROP_TEXT_DIRECTION</link>
+#define <link linkend="DBUSMENU-CLIENT-TYPES-DEFAULT:CAPS">DBUSMENU_CLIENT_TYPES_DEFAULT</link>
+#define <link linkend="DBUSMENU-CLIENT-TYPES-SEPARATOR:CAPS">DBUSMENU_CLIENT_TYPES_SEPARATOR</link>
+#define <link linkend="DBUSMENU-CLIENT-TYPES-IMAGE:CAPS">DBUSMENU_CLIENT_TYPES_IMAGE</link>
+ <link linkend="DbusmenuClient">DbusmenuClient</link>;
+struct <link linkend="DbusmenuClientClass">DbusmenuClientClass</link>;
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> (<link linkend="DbusmenuClientTypeHandler">*DbusmenuClientTypeHandler</link>) (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *newitem</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>,
+ <parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
+<link linkend="DbusmenuClient"><returnvalue>DbusmenuClient</returnvalue></link> * <link linkend="dbusmenu-client-new">dbusmenu_client_new</link> (<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *object</parameter>);
+<link linkend="GStrv"><returnvalue>GStrv</returnvalue></link> <link linkend="dbusmenu-client-get-icon-paths">dbusmenu_client_get_icon_paths</link> (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-client-get-root">dbusmenu_client_get_root</link> (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);
+<link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> <link linkend="dbusmenu-client-get-status">dbusmenu_client_get_status</link> (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);
+<link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> <link linkend="dbusmenu-client-get-text-direction">dbusmenu_client_get_text_direction</link>
+ (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-client-add-type-handler">dbusmenu_client_add_type_handler</link> (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *type</parameter>,
+ <parameter><link linkend="DbusmenuClientTypeHandler"><type>DbusmenuClientTypeHandler</type></link> newfunc</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-client-add-type-handler-full">dbusmenu_client_add_type_handler_full</link>
+ (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *type</parameter>,
+ <parameter><link linkend="DbusmenuClientTypeHandler"><type>DbusmenuClientTypeHandler</type></link> newfunc</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>,
+ <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy_func</parameter>);
+</synopsis>
+</refsynopsisdiv>
+
+<refsect1 id="libdbusmenu-glib-DbusmenuClient.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+The client exists as a mirror to the server. For most folks
+ all they will do with a client is set it up to connect to
+ a server and then watch as the menu items on their side
+ of the bus change. This is all they should need to know about
+ the client, that it magically makes their menuitems dance.
+</para>
+<para>
+ It does this by setting up signal watchers and adjusting
+ the menuitems appropriately. Most users should watch the
+ menu items and the signal <link linkend="DbusmenuClient-layout-changed"><type>"layout-changed"</type></link> for
+ larger events so that they can be optimized. It is possible
+ with that signal that even the root node would change. If
+ that doesn't happen the normal signals on the individual
+ nodes should be enough for most users.
+</para>
+</refsect1>
+<refsect1 id="libdbusmenu-glib-DbusmenuClient.details" role="details">
+<title role="details.title">Details</title>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-LAYOUT-UPDATED:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-LAYOUT-UPDATED:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED "layout-updated"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-layout-updated"><type>"layout-updated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-ROOT-CHANGED:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-ROOT-CHANGED:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED "root-changed"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-root-changed"><type>"root-changed"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-NEW-MENUITEM:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-NEW-MENUITEM:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM "new-menuitem"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-new-menuitem"><type>"new-menuitem"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-EVENT-RESULT:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-EVENT-RESULT:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT "event-result"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-event-result"><type>"event-result"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-ITEM-ACTIVATE:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-ITEM-ACTIVATE:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE "item-activate"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-item-activate"><type>"item-activate"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-SIGNAL-ICON-THEME-DIRS-CHANGED:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED</title>
+<indexterm zone="DBUSMENU-CLIENT-SIGNAL-ICON-THEME-DIRS-CHANGED:CAPS"><primary>DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED "icon-theme-dirs-changed"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuClient-icon-theme-dirs-changed"><type>"icon-theme-dirs-changed"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-PROP-DBUS-NAME:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_PROP_DBUS_NAME</title>
+<indexterm zone="DBUSMENU-CLIENT-PROP-DBUS-NAME:CAPS"><primary>DBUSMENU_CLIENT_PROP_DBUS_NAME</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_PROP_DBUS_NAME "dbus-name"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuClient--dbus-name"><type>"dbus-name"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-PROP-DBUS-OBJECT:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_PROP_DBUS_OBJECT</title>
+<indexterm zone="DBUSMENU-CLIENT-PROP-DBUS-OBJECT:CAPS"><primary>DBUSMENU_CLIENT_PROP_DBUS_OBJECT</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_PROP_DBUS_OBJECT "dbus-object"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuClient--dbus-object"><type>"dbus-object"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-PROP-GROUP-EVENTS:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_PROP_GROUP_EVENTS</title>
+<indexterm zone="DBUSMENU-CLIENT-PROP-GROUP-EVENTS:CAPS"><primary>DBUSMENU_CLIENT_PROP_GROUP_EVENTS</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_PROP_GROUP_EVENTS "group-events"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuClient--group-events"><type>"group-events"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-PROP-STATUS:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_PROP_STATUS</title>
+<indexterm zone="DBUSMENU-CLIENT-PROP-STATUS:CAPS"><primary>DBUSMENU_CLIENT_PROP_STATUS</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_PROP_STATUS "status"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuClient--status"><type>"status"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-PROP-TEXT-DIRECTION:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_PROP_TEXT_DIRECTION</title>
+<indexterm zone="DBUSMENU-CLIENT-PROP-TEXT-DIRECTION:CAPS"><primary>DBUSMENU_CLIENT_PROP_TEXT_DIRECTION</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_PROP_TEXT_DIRECTION "text-direction"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuClient--text-direction"><type>"text-direction"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-TYPES-DEFAULT:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_TYPES_DEFAULT</title>
+<indexterm zone="DBUSMENU-CLIENT-TYPES-DEFAULT:CAPS"><primary>DBUSMENU_CLIENT_TYPES_DEFAULT</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_TYPES_DEFAULT "standard"
+</programlisting>
+<para>
+Used to set the 'type' property on a menu item to create
+a standard menu item.
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-TYPES-SEPARATOR:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_TYPES_SEPARATOR</title>
+<indexterm zone="DBUSMENU-CLIENT-TYPES-SEPARATOR:CAPS"><primary>DBUSMENU_CLIENT_TYPES_SEPARATOR</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_TYPES_SEPARATOR "separator"
+</programlisting>
+<para>
+Used to set the 'type' property on a menu item to create
+a separator menu item.
+</para></refsect2>
+<refsect2 id="DBUSMENU-CLIENT-TYPES-IMAGE:CAPS" role="macro">
+<title>DBUSMENU_CLIENT_TYPES_IMAGE</title>
+<indexterm zone="DBUSMENU-CLIENT-TYPES-IMAGE:CAPS"><primary>DBUSMENU_CLIENT_TYPES_IMAGE</primary></indexterm>
+<programlisting>#define DBUSMENU_CLIENT_TYPES_IMAGE "standard"
+</programlisting>
+<para>
+Used to set the 'type' property on a menu item to create
+an image menu item. Deprecated as standard menu items now
+support images as well.
+</para></refsect2>
+<refsect2 id="DbusmenuClient" role="struct">
+<title>DbusmenuClient</title>
+<indexterm zone="DbusmenuClient"><primary>DbusmenuClient</primary></indexterm>
+<programlisting>typedef struct _DbusmenuClient DbusmenuClient;</programlisting>
+<para>
+The client for a <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> creating a shared
+ object set of <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects.
+</para></refsect2>
+<refsect2 id="DbusmenuClientClass" role="struct">
+<title>struct DbusmenuClientClass</title>
+<indexterm zone="DbusmenuClientClass"><primary>DbusmenuClientClass</primary></indexterm>
+<programlisting>struct DbusmenuClientClass {
+ GObjectClass parent_class;
+
+ void (*layout_updated)(void);
+ void (*root_changed) (DbusmenuMenuitem * newroot);
+ void (*new_menuitem) (DbusmenuMenuitem * newitem);
+ void (*item_activate) (DbusmenuMenuitem * item, guint timestamp);
+ void (*event_result) (DbusmenuMenuitem * item, gchar * event, GVariant * data, guint timestamp, GError * error);
+ void (*icon_theme_dirs) (DbusmenuMenuitem * item, gpointer theme_dirs, GError * error);
+
+ /*&lt; Private &gt;*/
+ void (*reserved1) (void);
+ void (*reserved2) (void);
+ void (*reserved3) (void);
+ void (*reserved4) (void);
+ void (*reserved5) (void);
+};
+</programlisting>
+<para>
+A simple class that takes all of the information from a
+ <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> over DBus and makes the same set of
+ <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects appear on the other side.
+</para><variablelist role="struct">
+<varlistentry><term><link linkend="GObjectClass"><type>GObjectClass</type></link>&#160;<structfield id="DbusmenuClientClass.parent-class">parent_class</structfield>;</term>
+<listitem><simpara><link linkend="GObjectClass"><type>GObjectClass</type></link></simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.layout-updated">layout_updated</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-layout-updated"><type>"layout-updated"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.root-changed">root_changed</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-root-changed"><type>"root-changed"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.new-menuitem">new_menuitem</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-new-menuitem"><type>"new-menuitem"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.item-activate">item_activate</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-item-activate"><type>"item-activate"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.event-result">event_result</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-event-error"><type>"event-error"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.icon-theme-dirs">icon_theme_dirs</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuClient-icon-theme-dirs-changed"><type>"icon-theme-dirs-changed"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.reserved1">reserved1</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.reserved2">reserved2</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.reserved3">reserved3</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.reserved4">reserved4</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuClientClass.reserved5">reserved5</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="DbusmenuClientTypeHandler" role="function">
+<title>DbusmenuClientTypeHandler ()</title>
+<indexterm zone="DbusmenuClientTypeHandler"><primary>DbusmenuClientTypeHandler</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> (*DbusmenuClientTypeHandler) (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *newitem</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>,
+ <parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
+<para>
+The type handler is called when a dbusmenu item is created
+ with a matching type as setup in <link linkend="dbusmenu-client-add-type-handler"><type>dbusmenu_client_add_type_handler</type></link>
+</para><variablelist role="params">
+<varlistentry><term><parameter>newitem</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that was created</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>parent</parameter>&#160;:</term>
+<listitem><simpara>The parent of <parameter>newitem</parameter> or <link linkend="NULL:CAPS"><type>NULL</type></link> if none</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara>A pointer to the <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link></simpara></listitem></varlistentry>
+<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
+<listitem><simpara>The data you gave us</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara><link linkend="TRUE:CAPS"><type>TRUE</type></link> if the type has been handled. <link linkend="FALSE:CAPS"><type>FALSE</type></link> if this
+function was somehow unable to handle it.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-new" role="function">
+<title>dbusmenu_client_new ()</title>
+<indexterm zone="dbusmenu-client-new"><primary>dbusmenu_client_new</primary></indexterm>
+<programlisting><link linkend="DbusmenuClient"><returnvalue>DbusmenuClient</returnvalue></link> * dbusmenu_client_new (<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *object</parameter>);</programlisting>
+<para>
+This function creates a new client that connects to a specific
+server on DBus. That server is at a specific location sharing
+a known object. The interface is assumed by the code to be
+the DBus menu interface. The newly created client will start
+sending out events as it syncs up with the server.
+</para><variablelist role="params">
+<varlistentry><term><parameter>name</parameter>&#160;:</term>
+<listitem><simpara>The DBus name for the server to connect to</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>object</parameter>&#160;:</term>
+<listitem><simpara>The object on the server to monitor</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A brand new <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-get-icon-paths" role="function">
+<title>dbusmenu_client_get_icon_paths ()</title>
+<indexterm zone="dbusmenu-client-get-icon-paths"><primary>dbusmenu_client_get_icon_paths</primary></indexterm>
+<programlisting><link linkend="GStrv"><returnvalue>GStrv</returnvalue></link> dbusmenu_client_get_icon_paths (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);</programlisting>
+<para>
+Gets the stored and exported icon paths from the client.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> to get the icon paths from</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A NULL-terminated list of icon paths with
+memory managed by the client. Duplicate if you want
+to keep them. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-get-root" role="function">
+<title>dbusmenu_client_get_root ()</title>
+<indexterm zone="dbusmenu-client-get-root"><primary>dbusmenu_client_get_root</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_client_get_root (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);</programlisting>
+<para>
+Grabs the root node for the specified client <parameter>client</parameter>. This
+function may block. It will block if there is currently a
+call to update the layout, it will block on that layout
+updated and then return the newly updated layout. Chances
+are that this update is in the queue for the mainloop as
+it would have been requested some time ago, but in theory
+it could block longer.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> to get the root node from</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> representing the root of
+menu on the server. If there is no server or there is
+an error receiving its layout it'll return <link linkend="NULL:CAPS"><type>NULL</type></link>. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-get-status" role="function">
+<title>dbusmenu_client_get_status ()</title>
+<indexterm zone="dbusmenu-client-get-status"><primary>dbusmenu_client_get_status</primary></indexterm>
+<programlisting><link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> dbusmenu_client_get_status (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);</programlisting>
+<para>
+Gets the recommended current status that the server
+ is exporting for the menus. In situtations where the
+ value is <link linkend="DBUSMENU-STATUS-NOTICE:CAPS"><type>DBUSMENU_STATUS_NOTICE</type></link> it is recommended that
+ the client show the menus to the user an a more noticible
+ way.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> to check the status on</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Status being exported.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-get-text-direction" role="function">
+<title>dbusmenu_client_get_text_direction ()</title>
+<indexterm zone="dbusmenu-client-get-text-direction"><primary>dbusmenu_client_get_text_direction</primary></indexterm>
+<programlisting><link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> dbusmenu_client_get_text_direction
+ (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>);</programlisting>
+<para>
+Gets the text direction that the server is exporting. If
+ the server is not exporting a direction then the value
+ <link linkend="DBUSMENU-TEXT-DIRECTION-NONE:CAPS"><type>DBUSMENU_TEXT_DIRECTION_NONE</type></link> will be returned.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> to check the text direction on</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Text direction being exported.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-add-type-handler" role="function">
+<title>dbusmenu_client_add_type_handler ()</title>
+<indexterm zone="dbusmenu-client-add-type-handler"><primary>dbusmenu_client_add_type_handler</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_client_add_type_handler (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *type</parameter>,
+ <parameter><link linkend="DbusmenuClientTypeHandler"><type>DbusmenuClientTypeHandler</type></link> newfunc</parameter>);</programlisting>
+<para>
+This function connects into the type handling of the <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link>.
+Every new menuitem that comes in immediately gets asked for it's
+properties. When we get those properties we check the 'type'
+property and look to see if it matches a handler that is known
+by the client. If so, the <parameter>newfunc</parameter> function is executed on that
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>. If not, then the DbusmenuClient::new-menuitem
+signal is sent.
+</para>
+<para>
+In the future the known types will be sent to the server so that it
+can make choices about the menu item types availble.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara>Client where we're getting types coming in</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>type</parameter>&#160;:</term>
+<listitem><simpara>A text string that will be matched with the 'type'
+property on incoming menu items</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>newfunc</parameter>&#160;:</term>
+<listitem><simpara>The function that will be executed with those new
+items when they come in. <emphasis role="annotation">[<acronym>scope notified</acronym>]</emphasis></simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>If registering the new type was successful.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-client-add-type-handler-full" role="function">
+<title>dbusmenu_client_add_type_handler_full ()</title>
+<indexterm zone="dbusmenu-client-add-type-handler-full"><primary>dbusmenu_client_add_type_handler_full</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_client_add_type_handler_full
+ (<parameter><link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> *client</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *type</parameter>,
+ <parameter><link linkend="DbusmenuClientTypeHandler"><type>DbusmenuClientTypeHandler</type></link> newfunc</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>,
+ <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy_func</parameter>);</programlisting>
+<para>
+This function connects into the type handling of the <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link>.
+Every new menuitem that comes in immediately gets asked for it's
+properties. When we get those properties we check the 'type'
+property and look to see if it matches a handler that is known
+by the client. If so, the <parameter>newfunc</parameter> function is executed on that
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>. If not, then the DbusmenuClient::new-menuitem
+signal is sent.
+</para>
+<para>
+In the future the known types will be sent to the server so that it
+can make choices about the menu item types availble.
+</para><variablelist role="params">
+<varlistentry><term><parameter>client</parameter>&#160;:</term>
+<listitem><simpara>Client where we're getting types coming in</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>type</parameter>&#160;:</term>
+<listitem><simpara>A text string that will be matched with the 'type'
+property on incoming menu items</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>newfunc</parameter>&#160;:</term>
+<listitem><simpara>The function that will be executed with those new
+items when they come in. <emphasis role="annotation">[<acronym>scope notified</acronym>]</emphasis></simpara></listitem></varlistentry>
+<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
+<listitem><simpara>Data passed to <parameter>newfunc</parameter> when it is called</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>destroy_func</parameter>&#160;:</term>
+<listitem><simpara>A function that is called when the type handler is
+removed (usually on client destruction) which will free
+the resources in <parameter>user_data</parameter>.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>If registering the new type was successful.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+
+</refsect1>
+
+</refentry>
diff --git a/docs/libdbusmenu-glib/reference/xml/menuitem-proxy.xml b/docs/libdbusmenu-glib/reference/xml/menuitem-proxy.xml
new file mode 100644
index 0000000..6f4b277
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/menuitem-proxy.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<refentry id="libdbusmenu-glib-DbusmenuMenuitemProxy">
+<refmeta>
+<refentrytitle role="top_of_page" id="libdbusmenu-glib-DbusmenuMenuitemProxy.top_of_page">DbusmenuMenuitemProxy</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ LIBDBUSMENU-GLIB Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>DbusmenuMenuitemProxy</refname>
+<refpurpose>A menuitem that proxies from another menuitem</refpurpose>
+</refnamediv>
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitemProxy.stability-level">
+<title>Stability Level</title>
+Unstable, unless otherwise indicated
+</refsect1>
+
+<refsynopsisdiv id="libdbusmenu-glib-DbusmenuMenuitemProxy.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+
+<synopsis>
+#include &lt;libdbusmenu-glib/menuitem-proxy.h&gt;
+
+ <link linkend="DbusmenuMenuitemProxy">DbusmenuMenuitemProxy</link>;
+struct <link linkend="DbusmenuMenuitemProxyClass">DbusmenuMenuitemProxyClass</link>;
+<link linkend="DbusmenuMenuitemProxy"><returnvalue>DbusmenuMenuitemProxy</returnvalue></link> * <link linkend="dbusmenu-menuitem-proxy-new">dbusmenu_menuitem_proxy_new</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-proxy-get-wrapped">dbusmenu_menuitem_proxy_get_wrapped</link> (<parameter><link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link> *pmi</parameter>);
+</synopsis>
+</refsynopsisdiv>
+
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitemProxy.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+This small object allows for proxying all the properties from a remote
+menuitem to a new object that can be moved around appropriately within
+the new menu structure.
+</para>
+</refsect1>
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitemProxy.details" role="details">
+<title role="details.title">Details</title>
+<refsect2 id="DbusmenuMenuitemProxy" role="struct">
+<title>DbusmenuMenuitemProxy</title>
+<indexterm zone="DbusmenuMenuitemProxy"><primary>DbusmenuMenuitemProxy</primary></indexterm>
+<programlisting>typedef struct _DbusmenuMenuitemProxy DbusmenuMenuitemProxy;</programlisting>
+<para>
+Public instance data for a <link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link>.
+</para></refsect2>
+<refsect2 id="DbusmenuMenuitemProxyClass" role="struct">
+<title>struct DbusmenuMenuitemProxyClass</title>
+<indexterm zone="DbusmenuMenuitemProxyClass"><primary>DbusmenuMenuitemProxyClass</primary></indexterm>
+<programlisting>struct DbusmenuMenuitemProxyClass {
+ DbusmenuMenuitemClass parent_class;
+
+ /*&lt; Private &gt;*/
+ void (*reserved1) (void);
+ void (*reserved2) (void);
+ void (*reserved3) (void);
+ void (*reserved4) (void);
+};
+</programlisting>
+<para>
+Functions and signal slots for <link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link>.
+</para><variablelist role="struct">
+<varlistentry><term><link linkend="DbusmenuMenuitemClass"><type>DbusmenuMenuitemClass</type></link>&#160;<structfield id="DbusmenuMenuitemProxyClass.parent-class">parent_class</structfield>;</term>
+<listitem><simpara>The Class of <link linkend="DbusmeneMenuitem"><type>DbusmeneMenuitem</type></link></simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemProxyClass.reserved1">reserved1</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemProxyClass.reserved2">reserved2</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemProxyClass.reserved3">reserved3</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemProxyClass.reserved4">reserved4</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-proxy-new" role="function">
+<title>dbusmenu_menuitem_proxy_new ()</title>
+<indexterm zone="dbusmenu-menuitem-proxy-new"><primary>dbusmenu_menuitem_proxy_new</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitemProxy"><returnvalue>DbusmenuMenuitemProxy</returnvalue></link> * dbusmenu_menuitem_proxy_new (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+Builds a new <link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link> object that proxies
+all of the values for <parameter>mi</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to proxy</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A new <link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link> object.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-proxy-get-wrapped" role="function">
+<title>dbusmenu_menuitem_proxy_get_wrapped ()</title>
+<indexterm zone="dbusmenu-menuitem-proxy-get-wrapped"><primary>dbusmenu_menuitem_proxy_get_wrapped</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_proxy_get_wrapped (<parameter><link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link> *pmi</parameter>);</programlisting>
+<para>
+Accesses the private variable of which <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>
+we are doing the proxying for.
+</para><variablelist role="params">
+<varlistentry><term><parameter>pmi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitemProxy"><type>DbusmenuMenuitemProxy</type></link> to look into</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> object or a <link linkend="NULL:CAPS"><type>NULL</type></link> if we
+don't have one or there is an error. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+
+</refsect1>
+
+</refentry>
diff --git a/docs/libdbusmenu-glib/reference/xml/menuitem.xml b/docs/libdbusmenu-glib/reference/xml/menuitem.xml
new file mode 100644
index 0000000..e2da731
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/menuitem.xml
@@ -0,0 +1,1331 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<refentry id="libdbusmenu-glib-DbusmenuMenuitem">
+<refmeta>
+<refentrytitle role="top_of_page" id="libdbusmenu-glib-DbusmenuMenuitem.top_of_page">DbusmenuMenuitem</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ LIBDBUSMENU-GLIB Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>DbusmenuMenuitem</refname>
+<refpurpose>A lowlevel represenation of a menuitem</refpurpose>
+</refnamediv>
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitem.stability-level">
+<title>Stability Level</title>
+Unstable, unless otherwise indicated
+</refsect1>
+
+<refsynopsisdiv id="libdbusmenu-glib-DbusmenuMenuitem.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+
+<synopsis>
+#include &lt;libdbusmenu-glib/menuitem.h&gt;
+
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-PROPERTY-CHANGED:CAPS">DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-ITEM-ACTIVATED:CAPS">DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-ADDED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-REMOVED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-CHILD-MOVED:CAPS">DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-EVENT:CAPS">DBUSMENU_MENUITEM_SIGNAL_EVENT</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-REALIZED:CAPS">DBUSMENU_MENUITEM_SIGNAL_REALIZED</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-REALIZED-ID:CAPS">DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-ABOUT-TO-SHOW:CAPS">DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW</link>
+#define <link linkend="DBUSMENU-MENUITEM-SIGNAL-SHOW-TO-USER:CAPS">DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-TYPE:CAPS">DBUSMENU_MENUITEM_PROP_TYPE</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-VISIBLE:CAPS">DBUSMENU_MENUITEM_PROP_VISIBLE</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-ENABLED:CAPS">DBUSMENU_MENUITEM_PROP_ENABLED</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-LABEL:CAPS">DBUSMENU_MENUITEM_PROP_LABEL</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-ICON-NAME:CAPS">DBUSMENU_MENUITEM_PROP_ICON_NAME</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-ICON-DATA:CAPS">DBUSMENU_MENUITEM_PROP_ICON_DATA</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS">DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS">DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS">DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS">DBUSMENU_MENUITEM_PROP_SHORTCUT</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS">DBUSMENU_MENUITEM_PROP_DISPOSITION</link>
+#define <link linkend="DBUSMENU-MENUITEM-PROP-ACCESSIBLE-DESC:CAPS">DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC</link>
+#define <link linkend="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS">DBUSMENU_MENUITEM_TOGGLE_CHECK</link>
+#define <link linkend="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS">DBUSMENU_MENUITEM_TOGGLE_RADIO</link>
+#define <link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED</link>
+#define <link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED</link>
+#define <link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-UNKNOWN:CAPS">DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN</link>
+#define <link linkend="DBUSMENU-MENUITEM-ICON-NAME-BLANK:CAPS">DBUSMENU_MENUITEM_ICON_NAME_BLANK</link>
+#define <link linkend="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS">DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU</link>
+#define <link linkend="DBUSMENU-MENUITEM-SHORTCUT-ALT:CAPS">DBUSMENU_MENUITEM_SHORTCUT_ALT</link>
+#define <link linkend="DBUSMENU-MENUITEM-SHORTCUT-CONTROL:CAPS">DBUSMENU_MENUITEM_SHORTCUT_CONTROL</link>
+#define <link linkend="DBUSMENU-MENUITEM-SHORTCUT-SHIFT:CAPS">DBUSMENU_MENUITEM_SHORTCUT_SHIFT</link>
+#define <link linkend="DBUSMENU-MENUITEM-SHORTCUT-SUPER:CAPS">DBUSMENU_MENUITEM_SHORTCUT_SUPER</link>
+#define <link linkend="DBUSMENU-MENUITEM-DISPOSITION-NORMAL:CAPS">DBUSMENU_MENUITEM_DISPOSITION_NORMAL</link>
+#define <link linkend="DBUSMENU-MENUITEM-DISPOSITION-INFORMATIVE:CAPS">DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE</link>
+#define <link linkend="DBUSMENU-MENUITEM-DISPOSITION-WARNING:CAPS">DBUSMENU_MENUITEM_DISPOSITION_WARNING</link>
+#define <link linkend="DBUSMENU-MENUITEM-DISPOSITION-ALERT:CAPS">DBUSMENU_MENUITEM_DISPOSITION_ALERT</link>
+#define <link linkend="DBUSMENU-MENUITEM-EVENT-ACTIVATED:CAPS">DBUSMENU_MENUITEM_EVENT_ACTIVATED</link>
+#define <link linkend="DBUSMENU-MENUITEM-EVENT-CLOSED:CAPS">DBUSMENU_MENUITEM_EVENT_CLOSED</link>
+#define <link linkend="DBUSMENU-MENUITEM-EVENT-OPENED:CAPS">DBUSMENU_MENUITEM_EVENT_OPENED</link>
+struct <link linkend="DbusmenuMenuitem">DbusmenuMenuitem</link>;
+<link linkend="void"><returnvalue>void</returnvalue></link> (<link linkend="dbusmenu-menuitem-about-to-show-cb">*dbusmenu_menuitem_about_to_show_cb</link>)
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
+<link linkend="GVariant"><returnvalue>GVariant</returnvalue></link> * (<link linkend="dbusmenu-menuitem-buildvariant-slot-t">*dbusmenu_menuitem_buildvariant_slot_t</link>)
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gchar"><type>gchar</type></link> **properties</parameter>);
+struct <link linkend="DbusmenuMenuitemClass">DbusmenuMenuitemClass</link>;
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-new">dbusmenu_menuitem_new</link> (<parameter><type>void</type></parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-new-with-id">dbusmenu_menuitem_new_with_id</link> (<parameter><link linkend="gint"><type>gint</type></link> id</parameter>);
+<link linkend="gint"><returnvalue>gint</returnvalue></link> <link linkend="dbusmenu-menuitem-get-id">dbusmenu_menuitem_get_id</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="GList"><returnvalue>GList</returnvalue></link> * <link linkend="dbusmenu-menuitem-get-children">dbusmenu_menuitem_get_children</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="GList"><returnvalue>GList</returnvalue></link> * <link linkend="dbusmenu-menuitem-take-children">dbusmenu_menuitem_take_children</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="guint"><returnvalue>guint</returnvalue></link> <link linkend="dbusmenu-menuitem-get-position">dbusmenu_menuitem_get_position</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);
+<link linkend="guint"><returnvalue>guint</returnvalue></link> <link linkend="dbusmenu-menuitem-get-position-realized">dbusmenu_menuitem_get_position_realized</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-child-append">dbusmenu_menuitem_child_append</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-child-prepend">dbusmenu_menuitem_child_prepend</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-child-delete">dbusmenu_menuitem_child_delete</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-child-add-position">dbusmenu_menuitem_child_add_position</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> position</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-child-reorder">dbusmenu_menuitem_child_reorder</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> position</parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-child-find">dbusmenu_menuitem_child_find</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gint"><type>gint</type></link> id</parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-find-id">dbusmenu_menuitem_find_id</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gint"><type>gint</type></link> id</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-set">dbusmenu_menuitem_property_set</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-set-bool">dbusmenu_menuitem_property_set_bool</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gboolean"><type>gboolean</type></link> value</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-set-byte-array">dbusmenu_menuitem_property_set_byte_array</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="guchar"><type>guchar</type></link> *value</parameter>,
+ <parameter><link linkend="gsize"><type>gsize</type></link> nelements</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-set-int">dbusmenu_menuitem_property_set_int</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gint"><type>gint</type></link> value</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-set-variant">dbusmenu_menuitem_property_set_variant</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter><link linkend="GVariant"><type>GVariant</type></link> *value</parameter>);
+const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="dbusmenu-menuitem-property-get">dbusmenu_menuitem_property_get</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-get-bool">dbusmenu_menuitem_property_get_bool</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+const <link linkend="guchar"><returnvalue>guchar</returnvalue></link> * <link linkend="dbusmenu-menuitem-property-get-byte-array">dbusmenu_menuitem_property_get_byte_array</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter><link linkend="gsize"><type>gsize</type></link> *nelements</parameter>);
+<link linkend="gint"><returnvalue>gint</returnvalue></link> <link linkend="dbusmenu-menuitem-property-get-int">dbusmenu_menuitem_property_get_int</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+<link linkend="GVariant"><returnvalue>GVariant</returnvalue></link> * <link linkend="dbusmenu-menuitem-property-get-variant">dbusmenu_menuitem_property_get_variant</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-property-exist">dbusmenu_menuitem_property_exist</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+<link linkend="GList"><returnvalue>GList</returnvalue></link> * <link linkend="dbusmenu-menuitem-properties-list">dbusmenu_menuitem_properties_list</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> * <link linkend="dbusmenu-menuitem-properties-copy">dbusmenu_menuitem_properties_copy</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-property-remove">dbusmenu_menuitem_property_remove</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-set-root">dbusmenu_menuitem_set_root</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gboolean"><type>gboolean</type></link> root</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-get-root">dbusmenu_menuitem_get_root</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-foreach">dbusmenu_menuitem_foreach</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="void"><type>void</type></link> (*func) (DbusmenuMenuitem * mi, gpointer data)</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-handle-event">dbusmenu_menuitem_handle_event</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
+ <parameter><link linkend="GVariant"><type>GVariant</type></link> *variant</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> timestamp</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-send-about-to-show">dbusmenu_menuitem_send_about_to_show</link>
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="void"><type>void</type></link> (*cb) (DbusmenuMenuitem * mi, gpointer user_data)</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> cb_data</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-menuitem-show-to-user">dbusmenu_menuitem_show_to_user</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> timestamp</parameter>);
+<link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * <link linkend="dbusmenu-menuitem-get-parent">dbusmenu_menuitem_get_parent</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-set-parent">dbusmenu_menuitem_set_parent</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);
+<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="dbusmenu-menuitem-unparent">dbusmenu_menuitem_unparent</link> (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);
+</synopsis>
+</refsynopsisdiv>
+
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitem.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+A <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> is the lowest level of represenation of a
+single item in a menu. It gets created on the server side
+and copied over to the client side where it gets rendered. As
+the server starts to change it, and grow it, and do all kinds
+of fun stuff that information is transfered over DBus and the
+client updates it's understanding of the object model.
+</para>
+<para>
+Most people using either the client or the server should be
+able to deal mostly with <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects. These
+are simple, but then they can be attached to more complex
+objects and handled appropriately.
+</para>
+</refsect1>
+<refsect1 id="libdbusmenu-glib-DbusmenuMenuitem.details" role="details">
+<title role="details.title">Details</title>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-PROPERTY-CHANGED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-PROPERTY-CHANGED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED "property-changed"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-property-changed"><type>"property-changed"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-ITEM-ACTIVATED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-ITEM-ACTIVATED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED "item-activated"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-item-activated"><type>"item-activated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-CHILD-ADDED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-CHILD-ADDED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED "child-added"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-child-added"><type>"child-added"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-CHILD-REMOVED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-CHILD-REMOVED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED "child-removed"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-child-removed"><type>"child-removed"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-CHILD-MOVED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-CHILD-MOVED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED "child-moved"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-child-moved"><type>"child-moved"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-EVENT:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_EVENT</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-EVENT:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_EVENT</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_EVENT "event"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-event"><type>"event"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-REALIZED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_REALIZED</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-REALIZED:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_REALIZED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_REALIZED "realized"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-realized"><type>"realized"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-REALIZED-ID:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-REALIZED-ID:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID (g_signal_lookup(DBUSMENU_MENUITEM_SIGNAL_REALIZED, DBUSMENU_TYPE_MENUITEM))
+</programlisting>
+<para>
+ID to attach to signal <link linkend="DbusmenuServer-realized"><type>"realized"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-ABOUT-TO-SHOW:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-ABOUT-TO-SHOW:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW "about-to-show"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-about-to-show"><type>"about-to-show"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SIGNAL-SHOW-TO-USER:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER</title>
+<indexterm zone="DBUSMENU-MENUITEM-SIGNAL-SHOW-TO-USER:CAPS"><primary>DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER "show-to-user"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-show-to-user"><type>"show-to-user"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-TYPE:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_TYPE</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-TYPE:CAPS"><primary>DBUSMENU_MENUITEM_PROP_TYPE</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_TYPE "type"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property used to represent what type of menuitem
+this object represents. Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-VISIBLE:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_VISIBLE</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-VISIBLE:CAPS"><primary>DBUSMENU_MENUITEM_PROP_VISIBLE</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_VISIBLE "visible"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property used to represent whether the menuitem
+should be shown or not. Type: <link linkend="G-VARIANT-TYPE-BOOLEAN:CAPS"><type>G_VARIANT_TYPE_BOOLEAN</type></link>.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-ENABLED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_ENABLED</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-ENABLED:CAPS"><primary>DBUSMENU_MENUITEM_PROP_ENABLED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_ENABLED "enabled"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property used to represent whether the menuitem
+is clickable or not. Type: <link linkend="G-VARIANT-TYPE-BOOLEAN:CAPS"><type>G_VARIANT_TYPE_BOOLEAN</type></link>.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-LABEL:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_LABEL</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-LABEL:CAPS"><primary>DBUSMENU_MENUITEM_PROP_LABEL</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_LABEL "label"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property used for the text on the menu item.
+Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-ICON-NAME:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_ICON_NAME</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-ICON-NAME:CAPS"><primary>DBUSMENU_MENUITEM_PROP_ICON_NAME</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_ICON_NAME "icon-name"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that is the name of the icon under the
+Freedesktop.org icon naming spec. Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-ICON-DATA:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_ICON_DATA</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-ICON-DATA:CAPS"><primary>DBUSMENU_MENUITEM_PROP_ICON_DATA</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_ICON_DATA "icon-data"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that is the raw data of a custom icon
+used in the application. Type: <link linkend="G-VARIANT-TYPE-VARIANT:CAPS"><type>G_VARIANT_TYPE_VARIANT</type></link>
+</para>
+<para>
+It is recommended that this is not set directly but instead the
+libdbusmenu-gtk library is used with the function <link linkend="dbusmenu-menuitem-property-set-image"><function>dbusmenu_menuitem_property_set_image()</function></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS"><primary>DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE "toggle-type"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that says what type of toggle entry should
+be shown in the menu. Should be either <link linkend="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS"><type>DBUSMENU_MENUITEM_TOGGLE_CHECK</type></link>
+or <link linkend="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS"><type>DBUSMENU_MENUITEM_TOGGLE_RADIO</type></link>. Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><primary>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_TOGGLE_STATE "toggle-state"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that says what state a toggle entry should
+be shown as the menu. Should be either <link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS"><type>DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED</type></link>
+<link linkend="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS"><type>DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED</type></link> or <link linkend="DBUSMENU-MENUITEM-TOGGLE-STATUE-UNKNOWN:CAPS"><type>DBUSMENU_MENUITEM_TOGGLE_STATUE_UNKNOWN</type></link>.
+Type: <link linkend="G-VARIANT-TYPE-INT32:CAPS"><type>G_VARIANT_TYPE_INT32</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS"><primary>DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY "children-display"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that tells how the children of this menuitem
+should be displayed. Most likely this will be unset or of the value
+<link linkend="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS"><type>DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU</type></link>. Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_SHORTCUT</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><primary>DBUSMENU_MENUITEM_PROP_SHORTCUT</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_SHORTCUT "shortcut"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property that is the entries that represent a shortcut
+to activate the menuitem. It is an array of arrays of strings.
+Type: <link linkend="G-VARIANT-TYPE-ARRAY:CAPS"><type>G_VARIANT_TYPE_ARRAY</type></link>
+</para>
+<para>
+It is recommended that this is not set directly but instead the
+libdbusmenu-gtk library is used with the function <link linkend="dbusmenu-menuitem-property-set-shortcut"><function>dbusmenu_menuitem_property_set_shortcut()</function></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_DISPOSITION</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><primary>DBUSMENU_MENUITEM_PROP_DISPOSITION</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_DISPOSITION "disposition"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property to tell what type of information that the
+menu item is displaying to the user. Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-PROP-ACCESSIBLE-DESC:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC</title>
+<indexterm zone="DBUSMENU-MENUITEM-PROP-ACCESSIBLE-DESC:CAPS"><primary>DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC "accessible-desc"
+</programlisting>
+<para>
+<link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> property used to provide a textual description of any
+information that the icon may convey. The contents of this property are
+passed through to assistive technologies such as the Orca screen reader.
+The contents of this property will not be visible in the menu item. If
+this property is set, Orca will use this property instead of the label
+property.
+Type: <link linkend="G-VARIANT-TYPE-STRING:CAPS"><type>G_VARIANT_TYPE_STRING</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_TOGGLE_CHECK</title>
+<indexterm zone="DBUSMENU-MENUITEM-TOGGLE-CHECK:CAPS"><primary>DBUSMENU_MENUITEM_TOGGLE_CHECK</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_TOGGLE_CHECK "checkmark"
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</type></link> to be a standard
+check mark item.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_TOGGLE_RADIO</title>
+<indexterm zone="DBUSMENU-MENUITEM-TOGGLE-RADIO:CAPS"><primary>DBUSMENU_MENUITEM_TOGGLE_RADIO</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_TOGGLE_RADIO "radio"
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-TYPE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE</type></link> to be a standard
+radio item.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED</title>
+<indexterm zone="DBUSMENU-MENUITEM-TOGGLE-STATE-UNCHECKED:CAPS"><primary>DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED 0
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</type></link> so that the menu's
+toggle item is empty.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED</title>
+<indexterm zone="DBUSMENU-MENUITEM-TOGGLE-STATE-CHECKED:CAPS"><primary>DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED 1
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</type></link> so that the menu's
+toggle item is filled.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-TOGGLE-STATE-UNKNOWN:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN</title>
+<indexterm zone="DBUSMENU-MENUITEM-TOGGLE-STATE-UNKNOWN:CAPS"><primary>DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN -1
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</type></link> so that the menu's
+toggle item is undecided.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-ICON-NAME-BLANK:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_ICON_NAME_BLANK</title>
+<indexterm zone="DBUSMENU-MENUITEM-ICON-NAME-BLANK:CAPS"><primary>DBUSMENU_MENUITEM_ICON_NAME_BLANK</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_ICON_NAME_BLANK "blank-icon"
+</programlisting>
+<para>
+Used to set <link linkend="DBUSMENU-MENUITEM-PROP-TOGGLE-STATE:CAPS"><type>DBUSMENU_MENUITEM_PROP_TOGGLE_STATE</type></link> so that the menu's
+toggle item is undecided.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU</title>
+<indexterm zone="DBUSMENU-MENUITEM-CHILD-DISPLAY-SUBMENU:CAPS"><primary>DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU "submenu"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-CHILD-DISPLAY:CAPS"><type>DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY</type></link> to have the
+subitems displayed as a submenu.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SHORTCUT-ALT:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SHORTCUT_ALT</title>
+<indexterm zone="DBUSMENU-MENUITEM-SHORTCUT-ALT:CAPS"><primary>DBUSMENU_MENUITEM_SHORTCUT_ALT</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SHORTCUT_ALT "Alt"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><type>DBUSMENU_MENUITEM_PROP_SHORTCUT</type></link> to represent the
+alternate key.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SHORTCUT-CONTROL:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SHORTCUT_CONTROL</title>
+<indexterm zone="DBUSMENU-MENUITEM-SHORTCUT-CONTROL:CAPS"><primary>DBUSMENU_MENUITEM_SHORTCUT_CONTROL</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SHORTCUT_CONTROL "Control"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><type>DBUSMENU_MENUITEM_PROP_SHORTCUT</type></link> to represent the
+control key.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SHORTCUT-SHIFT:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SHORTCUT_SHIFT</title>
+<indexterm zone="DBUSMENU-MENUITEM-SHORTCUT-SHIFT:CAPS"><primary>DBUSMENU_MENUITEM_SHORTCUT_SHIFT</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SHORTCUT_SHIFT "Shift"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><type>DBUSMENU_MENUITEM_PROP_SHORTCUT</type></link> to represent the
+shift key.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-SHORTCUT-SUPER:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_SHORTCUT_SUPER</title>
+<indexterm zone="DBUSMENU-MENUITEM-SHORTCUT-SUPER:CAPS"><primary>DBUSMENU_MENUITEM_SHORTCUT_SUPER</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_SHORTCUT_SUPER "Super"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-SHORTCUT:CAPS"><type>DBUSMENU_MENUITEM_PROP_SHORTCUT</type></link> to represent the
+super key.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-DISPOSITION-NORMAL:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_DISPOSITION_NORMAL</title>
+<indexterm zone="DBUSMENU-MENUITEM-DISPOSITION-NORMAL:CAPS"><primary>DBUSMENU_MENUITEM_DISPOSITION_NORMAL</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_DISPOSITION_NORMAL "normal"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><type>DBUSMENU_MENUITEM_PROP_DISPOSITION</type></link> to have a menu
+item displayed in the normal manner. Default value.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-DISPOSITION-INFORMATIVE:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE</title>
+<indexterm zone="DBUSMENU-MENUITEM-DISPOSITION-INFORMATIVE:CAPS"><primary>DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE "informative"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><type>DBUSMENU_MENUITEM_PROP_DISPOSITION</type></link> to have a menu
+item displayed in a way that conveys it's giving additional
+information to the user.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-DISPOSITION-WARNING:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_DISPOSITION_WARNING</title>
+<indexterm zone="DBUSMENU-MENUITEM-DISPOSITION-WARNING:CAPS"><primary>DBUSMENU_MENUITEM_DISPOSITION_WARNING</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_DISPOSITION_WARNING "warning"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><type>DBUSMENU_MENUITEM_PROP_DISPOSITION</type></link> to have a menu
+item displayed in a way that conveys it's giving a warning
+to the user.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-DISPOSITION-ALERT:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_DISPOSITION_ALERT</title>
+<indexterm zone="DBUSMENU-MENUITEM-DISPOSITION-ALERT:CAPS"><primary>DBUSMENU_MENUITEM_DISPOSITION_ALERT</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_DISPOSITION_ALERT "alert"
+</programlisting>
+<para>
+Used in <link linkend="DBUSMENU-MENUITEM-PROP-DISPOSITION:CAPS"><type>DBUSMENU_MENUITEM_PROP_DISPOSITION</type></link> to have a menu
+item displayed in a way that conveys it's giving an alert
+to the user.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-EVENT-ACTIVATED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_EVENT_ACTIVATED</title>
+<indexterm zone="DBUSMENU-MENUITEM-EVENT-ACTIVATED:CAPS"><primary>DBUSMENU_MENUITEM_EVENT_ACTIVATED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_EVENT_ACTIVATED "clicked"
+</programlisting>
+<para>
+String for the event identifier when a menu item is clicked
+on by the user.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-EVENT-CLOSED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_EVENT_CLOSED</title>
+<indexterm zone="DBUSMENU-MENUITEM-EVENT-CLOSED:CAPS"><primary>DBUSMENU_MENUITEM_EVENT_CLOSED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_EVENT_CLOSED "closed"
+</programlisting>
+<para>
+String for the event identifier when a menu is closed and
+displayed to the user. Only valid for items that contain
+submenus.
+</para></refsect2>
+<refsect2 id="DBUSMENU-MENUITEM-EVENT-OPENED:CAPS" role="macro">
+<title>DBUSMENU_MENUITEM_EVENT_OPENED</title>
+<indexterm zone="DBUSMENU-MENUITEM-EVENT-OPENED:CAPS"><primary>DBUSMENU_MENUITEM_EVENT_OPENED</primary></indexterm>
+<programlisting>#define DBUSMENU_MENUITEM_EVENT_OPENED "opened"
+</programlisting>
+<para>
+String for the event identifier when a menu is opened and
+displayed to the user. Only valid for items that contain
+submenus.
+</para></refsect2>
+<refsect2 id="DbusmenuMenuitem" role="struct">
+<title>struct DbusmenuMenuitem</title>
+<indexterm zone="DbusmenuMenuitem"><primary>DbusmenuMenuitem</primary></indexterm>
+<programlisting>struct DbusmenuMenuitem {
+ GObject parent;
+
+ /*&lt; Private &gt;*/
+ DbusmenuMenuitemPrivate * priv;
+};
+</programlisting>
+<para>
+This is the <link linkend="GObject"><type>GObject</type></link> based object that represents a menu
+item. It gets created the same on both the client and
+the server side and libdbusmenu-glib does the work of making
+this object model appear on both sides of DBus. Simple
+really, though through updates and people coming on and off
+the bus it can lead to lots of fun complex scenarios.
+</para><variablelist role="struct">
+<varlistentry><term><link linkend="GObject"><type>GObject</type></link>&#160;<structfield id="DbusmenuMenuitem.parent">parent</structfield>;</term>
+<listitem><simpara>Parent object</simpara></listitem>
+</varlistentry>
+<varlistentry><term><link linkend="DbusmenuMenuitemPrivate"><type>DbusmenuMenuitemPrivate</type></link>&#160;*<structfield id="DbusmenuMenuitem.priv">priv</structfield>;</term>
+<listitem><simpara>Private data</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-about-to-show-cb" role="function">
+<title>dbusmenu_menuitem_about_to_show_cb ()</title>
+<indexterm zone="dbusmenu-menuitem-about-to-show-cb"><primary>dbusmenu_menuitem_about_to_show_cb</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> (*dbusmenu_menuitem_about_to_show_cb)
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
+<para>
+Callback prototype for a callback that is called when the
+menu should be shown.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>Menu item that should be shown</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
+<listitem><simpara>Extra user data sent with the function. <emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-buildvariant-slot-t" role="function">
+<title>dbusmenu_menuitem_buildvariant_slot_t ()</title>
+<indexterm zone="dbusmenu-menuitem-buildvariant-slot-t"><primary>dbusmenu_menuitem_buildvariant_slot_t</primary></indexterm>
+<programlisting><link linkend="GVariant"><returnvalue>GVariant</returnvalue></link> * (*dbusmenu_menuitem_buildvariant_slot_t)
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gchar"><type>gchar</type></link> **properties</parameter>);</programlisting>
+<para>
+This is the function that is called to represent this menu item
+as a variant. Should call it's own children.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>Menu item that should be built from. <emphasis role="annotation">[<acronym>in</acronym>]</emphasis></simpara></listitem></varlistentry>
+<varlistentry><term><parameter>properties</parameter>&#160;:</term>
+<listitem><simpara>A list of properties that should be the only ones in the resulting variant structure. <emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A variant representing this item and it's children. <emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="DbusmenuMenuitemClass" role="struct">
+<title>struct DbusmenuMenuitemClass</title>
+<indexterm zone="DbusmenuMenuitemClass"><primary>DbusmenuMenuitemClass</primary></indexterm>
+<programlisting>struct DbusmenuMenuitemClass {
+ GObjectClass parent_class;
+
+ /* Signals */
+ void (*property_changed) (gchar * property, GVariant * value);
+ void (*item_activated) (guint timestamp);
+ void (*child_added) (DbusmenuMenuitem * child, guint position);
+ void (*child_removed) (DbusmenuMenuitem * child);
+ void (*child_moved) (DbusmenuMenuitem * child, guint newpos, guint oldpos);
+ void (*realized) (void);
+
+ /* Virtual functions */
+ dbusmenu_menuitem_buildvariant_slot_t buildvariant;
+ void (*handle_event) (DbusmenuMenuitem * mi, const gchar * name, GVariant * variant, guint timestamp);
+ void (*send_about_to_show) (DbusmenuMenuitem * mi, void (*cb) (DbusmenuMenuitem * mi, gpointer user_data), gpointer cb_data);
+
+ void (*show_to_user) (DbusmenuMenuitem * mi, guint timestamp, gpointer cb_data);
+ gboolean (*about_to_show) (void);
+
+ void (*event) (const gchar * name, GVariant * value, guint timestamp);
+
+ /*&lt; Private &gt;*/
+ void (*reserved1) (void);
+ void (*reserved2) (void);
+ void (*reserved3) (void);
+ void (*reserved4) (void);
+ void (*reserved5) (void);
+};
+</programlisting>
+<para>
+Functions and signals that every menuitem should know something
+about.
+</para><variablelist role="struct">
+<varlistentry><term><link linkend="GObjectClass"><type>GObjectClass</type></link>&#160;<structfield id="DbusmenuMenuitemClass.parent-class">parent_class</structfield>;</term>
+<listitem><simpara>Functions and signals from our parent</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.property-changed">property_changed</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-property-changed"><type>"property-changed"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.item-activated">item_activated</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-item-activated"><type>"item-activated"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.child-added">child_added</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-child-added"><type>"child-added"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.child-removed">child_removed</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-child-removed"><type>"child-removed"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.child-moved">child_moved</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-child-moved"><type>"child-moved"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.realized">realized</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-realized"><type>"realized"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><link linkend="dbusmenu-menuitem-buildvariant-slot-t"><type>dbusmenu_menuitem_buildvariant_slot_t</type></link>&#160;<structfield id="DbusmenuMenuitemClass.buildvariant">buildvariant</structfield>;</term>
+<listitem><simpara>Virtual function that appends the strings required to represent this menu item in the menu variant.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.handle-event">handle_event</structfield>&#160;()</term>
+<listitem><simpara>This function is to override how events are handled by subclasses. Look at <link linkend="dbusmenu-menuitem-handle-event"><type>dbusmenu_menuitem_handle_event</type></link> for lots of good information.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.show-to-user">show_to_user</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-show-to-user"><type>"show-to-user"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.about-to-show">about_to_show</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuMenuitem-about-to-show"><type>"about-to-show"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.event">event</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbsumenuMenuitem-event"><type>"event"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.reserved1">reserved1</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.reserved2">reserved2</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.reserved3">reserved3</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.reserved4">reserved4</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuMenuitemClass.reserved5">reserved5</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-new" role="function">
+<title>dbusmenu_menuitem_new ()</title>
+<indexterm zone="dbusmenu-menuitem-new"><primary>dbusmenu_menuitem_new</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_new (<parameter><type>void</type></parameter>);</programlisting>
+<para>
+Create a new <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> with all default values.
+</para><variablelist role="params">
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A newly allocated <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-new-with-id" role="function">
+<title>dbusmenu_menuitem_new_with_id ()</title>
+<indexterm zone="dbusmenu-menuitem-new-with-id"><primary>dbusmenu_menuitem_new_with_id</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_new_with_id (<parameter><link linkend="gint"><type>gint</type></link> id</parameter>);</programlisting>
+<para>
+This creates a blank <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> with a specific ID.
+</para><variablelist role="params">
+<varlistentry><term><parameter>id</parameter>&#160;:</term>
+<listitem><simpara>ID to use for this menuitem</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A newly allocated <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-id" role="function">
+<title>dbusmenu_menuitem_get_id ()</title>
+<indexterm zone="dbusmenu-menuitem-get-id"><primary>dbusmenu_menuitem_get_id</primary></indexterm>
+<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link> dbusmenu_menuitem_get_id (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+Gets the unique ID for <parameter>mi</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to query.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The ID of the <parameter>mi</parameter>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-children" role="function">
+<title>dbusmenu_menuitem_get_children ()</title>
+<indexterm zone="dbusmenu-menuitem-get-children"><primary>dbusmenu_menuitem_get_children</primary></indexterm>
+<programlisting><link linkend="GList"><returnvalue>GList</returnvalue></link> * dbusmenu_menuitem_get_children (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+Returns simply the list of children that this menu item
+has. The list is valid until another child related function
+is called, where it might be changed.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to query.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A <link linkend="GList"><type>GList</type></link> of pointers to <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects. <emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>element-type</acronym> Dbusmenu.Menuitem]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-take-children" role="function">
+<title>dbusmenu_menuitem_take_children ()</title>
+<indexterm zone="dbusmenu-menuitem-take-children"><primary>dbusmenu_menuitem_take_children</primary></indexterm>
+<programlisting><link linkend="GList"><returnvalue>GList</returnvalue></link> * dbusmenu_menuitem_take_children (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+While the name sounds devious that's exactly what this function
+does. It takes the list of children from the <parameter>mi</parameter> and clears the
+internal list. The calling function is now in charge of the ref's
+on the children it has taken. A lot of responsibility involved
+in taking children.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenMenuitem"><type>DbusmenMenuitem</type></link> to take the children from.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A <link linkend="GList"><type>GList</type></link> of pointers to <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects. <emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>element-type</acronym> Dbusmenu.Menuitem]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-position" role="function">
+<title>dbusmenu_menuitem_get_position ()</title>
+<indexterm zone="dbusmenu-menuitem-get-position"><primary>dbusmenu_menuitem_get_position</primary></indexterm>
+<programlisting><link linkend="guint"><returnvalue>guint</returnvalue></link> dbusmenu_menuitem_get_position (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);</programlisting>
+<para>
+This function returns the position of the menu item <parameter>mi</parameter>
+in the children of <parameter>parent</parameter>. It will return zero if the
+menu item can't be found.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to find the position of</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>parent</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> who's children contain <parameter>mi</parameter></simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The position of <parameter>mi</parameter> in the children of <parameter>parent</parameter>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-position-realized" role="function">
+<title>dbusmenu_menuitem_get_position_realized ()</title>
+<indexterm zone="dbusmenu-menuitem-get-position-realized"><primary>dbusmenu_menuitem_get_position_realized</primary></indexterm>
+<programlisting><link linkend="guint"><returnvalue>guint</returnvalue></link> dbusmenu_menuitem_get_position_realized
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);</programlisting>
+<para>
+This function is very similar to <link linkend="dbusmenu-menuitem-get-position"><type>dbusmenu_menuitem_get_position</type></link>
+except that it only counts in the children that have been realized.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to find the position of</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>parent</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> who's children contain <parameter>mi</parameter></simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The position of <parameter>mi</parameter> in the realized children of <parameter>parent</parameter>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-append" role="function">
+<title>dbusmenu_menuitem_child_append ()</title>
+<indexterm zone="dbusmenu-menuitem-child-append"><primary>dbusmenu_menuitem_child_append</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_child_append (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);</programlisting>
+<para>
+This function adds <parameter>child</parameter> to the list of children on <parameter>mi</parameter> at
+the end of that list.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> which will become a new parent</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>child</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenMenuitem"><type>DbusmenMenuitem</type></link> that will be a child</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether the child has been added successfully.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-prepend" role="function">
+<title>dbusmenu_menuitem_child_prepend ()</title>
+<indexterm zone="dbusmenu-menuitem-child-prepend"><primary>dbusmenu_menuitem_child_prepend</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_child_prepend (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);</programlisting>
+<para>
+This function adds <parameter>child</parameter> to the list of children on <parameter>mi</parameter> at
+the beginning of that list.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> which will become a new parent</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>child</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenMenuitem"><type>DbusmenMenuitem</type></link> that will be a child</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether the child has been added successfully.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-delete" role="function">
+<title>dbusmenu_menuitem_child_delete ()</title>
+<indexterm zone="dbusmenu-menuitem-child-delete"><primary>dbusmenu_menuitem_child_delete</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_child_delete (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>);</programlisting>
+<para>
+This function removes <parameter>child</parameter> from the children list of <parameter>mi</parameter>. It does
+not call <link linkend="g-object-unref"><type>g_object_unref</type></link> on <parameter>child</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> which has <parameter>child</parameter> as a child</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>child</parameter>&#160;:</term>
+<listitem><simpara>The child <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that you want to no longer
+be a child of <parameter>mi</parameter>.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>If we were able to delete <parameter>child</parameter>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-add-position" role="function">
+<title>dbusmenu_menuitem_child_add_position ()</title>
+<indexterm zone="dbusmenu-menuitem-child-add-position"><primary>dbusmenu_menuitem_child_add_position</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_child_add_position
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> position</parameter>);</programlisting>
+<para>
+Puts <parameter>child</parameter> in the list of children for <parameter>mi</parameter> at the location
+specified in <parameter>position</parameter>. If there is not enough entires available
+then <parameter>child</parameter> will be placed at the end of the list.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that we're adding the child <parameter>child</parameter> to.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>child</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to make a child of <parameter>mi</parameter>.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>position</parameter>&#160;:</term>
+<listitem><simpara>Where in <parameter>mi</parameter> object's list of chidren <parameter>child</parameter> should be placed.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether <parameter>child</parameter> was added successfully.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-reorder" role="function">
+<title>dbusmenu_menuitem_child_reorder ()</title>
+<indexterm zone="dbusmenu-menuitem-child-reorder"><primary>dbusmenu_menuitem_child_reorder</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_child_reorder (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *child</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> position</parameter>);</programlisting>
+<para>
+This function moves a child on the list of children. It is
+for a child that is already in the list, but simply needs a
+new location.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that has children needing realignment</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>child</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that is a child needing to be moved</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>position</parameter>&#160;:</term>
+<listitem><simpara>The position in the list to place it in</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether the move was successful.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-child-find" role="function">
+<title>dbusmenu_menuitem_child_find ()</title>
+<indexterm zone="dbusmenu-menuitem-child-find"><primary>dbusmenu_menuitem_child_find</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_child_find (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gint"><type>gint</type></link> id</parameter>);</programlisting>
+<para>
+Search the children of <parameter>mi</parameter> to find one with the ID of <parameter>id</parameter>.
+If it doesn't exist then we return <link linkend="NULL:CAPS"><type>NULL</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> who's children to look on</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>id</parameter>&#160;:</term>
+<listitem><simpara>The ID of the child that we're looking for.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The menu item with the ID <parameter>id</parameter> or <link linkend="NULL:CAPS"><type>NULL</type></link> if it
+can't be found. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-find-id" role="function">
+<title>dbusmenu_menuitem_find_id ()</title>
+<indexterm zone="dbusmenu-menuitem-find-id"><primary>dbusmenu_menuitem_find_id</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_find_id (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gint"><type>gint</type></link> id</parameter>);</programlisting>
+<para>
+This function searchs the whole tree of children that
+are attached to <parameter>mi</parameter>. This could be quite a few nodes, all
+the way down the tree. It is a depth first search.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> at the top of the tree to search</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>id</parameter>&#160;:</term>
+<listitem><simpara>ID of the <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to search for</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> with the ID of <parameter>id</parameter>
+or <link linkend="NULL:CAPS"><type>NULL</type></link> if there isn't such a menu item in the tree
+represented by <parameter>mi</parameter>. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-set" role="function">
+<title>dbusmenu_menuitem_property_set ()</title>
+<indexterm zone="dbusmenu-menuitem-property-set"><primary>dbusmenu_menuitem_property_set</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_set (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>);</programlisting>
+<para>
+Takes the pair of <parameter>property</parameter> and <parameter>value</parameter> and places them as a
+property on <parameter>mi</parameter>. If a property already exists by that name,
+then the value is set to the new value. If not, the property
+is added. If the value is changed or the property was previously
+unset then the signal <link linkend="DbusmenuMenuitem-prop-changed"><type>"prop-changed"</type></link> will be
+emitted by this function.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>Name of the property to set.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of the property.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean representing if the property value was set.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-set-bool" role="function">
+<title>dbusmenu_menuitem_property_set_bool ()</title>
+<indexterm zone="dbusmenu-menuitem-property-set-bool"><primary>dbusmenu_menuitem_property_set_bool</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_set_bool (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gboolean"><type>gboolean</type></link> value</parameter>);</programlisting>
+<para>
+Takes a boolean <parameter>value</parameter> and sets it on <parameter>property</parameter> as a
+property on <parameter>mi</parameter>. If a property already exists by that name,
+then the value is set to the new value. If not, the property
+is added. If the value is changed or the property was previously
+unset then the signal <link linkend="DbusmenuMenuitem-prop-changed"><type>"prop-changed"</type></link> will be
+emitted by this function.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>Name of the property to set.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of the property.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean representing if the property value was set.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-set-byte-array" role="function">
+<title>dbusmenu_menuitem_property_set_byte_array ()</title>
+<indexterm zone="dbusmenu-menuitem-property-set-byte-array"><primary>dbusmenu_menuitem_property_set_byte_array</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_set_byte_array
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="guchar"><type>guchar</type></link> *value</parameter>,
+ <parameter><link linkend="gsize"><type>gsize</type></link> nelements</parameter>);</programlisting>
+<para>
+Takes a byte array <parameter>value</parameter> and sets it on <parameter>property</parameter> as a
+property on <parameter>mi</parameter>. If a property already exists by that name,
+then the value is set to the new value. If not, the property
+is added. If the value is changed or the property was previously
+unset then the signal <link linkend="DbusmenuMenuitem-prop-changed"><type>"prop-changed"</type></link> will be
+emitted by this function.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>Name of the property to set.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The byte array.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>nelements</parameter>&#160;:</term>
+<listitem><simpara>The number of elements in the byte array.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean representing if the property value was set.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-set-int" role="function">
+<title>dbusmenu_menuitem_property_set_int ()</title>
+<indexterm zone="dbusmenu-menuitem-property-set-int"><primary>dbusmenu_menuitem_property_set_int</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_set_int (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter>const <link linkend="gint"><type>gint</type></link> value</parameter>);</programlisting>
+<para>
+Takes a boolean <parameter>value</parameter> and sets it on <parameter>property</parameter> as a
+property on <parameter>mi</parameter>. If a property already exists by that name,
+then the value is set to the new value. If not, the property
+is added. If the value is changed or the property was previously
+unset then the signal <link linkend="DbusmenuMenuitem-prop-changed"><type>"prop-changed"</type></link> will be
+emitted by this function.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>Name of the property to set.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of the property.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean representing if the property value was set.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-set-variant" role="function">
+<title>dbusmenu_menuitem_property_set_variant ()</title>
+<indexterm zone="dbusmenu-menuitem-property-set-variant"><primary>dbusmenu_menuitem_property_set_variant</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_set_variant
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter><link linkend="GVariant"><type>GVariant</type></link> *value</parameter>);</programlisting>
+<para>
+Takes the pair of <parameter>property</parameter> and <parameter>value</parameter> and places them as a
+property on <parameter>mi</parameter>. If a property already exists by that name,
+then the value is set to the new value. If not, the property
+is added. If the value is changed or the property was previously
+unset then the signal <link linkend="DbusmenuMenuitem-prop-changed"><type>"prop-changed"</type></link> will be
+emitted by this function.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>Name of the property to set.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of the property.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean representing if the property value was set.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-get" role="function">
+<title>dbusmenu_menuitem_property_get ()</title>
+<indexterm zone="dbusmenu-menuitem-property-get"><primary>dbusmenu_menuitem_property_get</primary></indexterm>
+<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * dbusmenu_menuitem_property_get (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Look up a property on <parameter>mi</parameter> and return the value of it if
+it exits. <link linkend="NULL:CAPS"><type>NULL</type></link> will be returned if the property doesn't
+exist.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to grab.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A string with the value of the property
+that shouldn't be free'd. Or <link linkend="NULL:CAPS"><type>NULL</type></link> if the property
+is not set or is not a string. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-get-bool" role="function">
+<title>dbusmenu_menuitem_property_get_bool ()</title>
+<indexterm zone="dbusmenu-menuitem-property-get-bool"><primary>dbusmenu_menuitem_property_get_bool</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_get_bool (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Look up a property on <parameter>mi</parameter> and return the value of it if
+it exits. Returns <link linkend="FALSE:CAPS"><type>FALSE</type></link> if the property doesn't exist.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to grab.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The value of the property or <link linkend="FALSE:CAPS"><type>FALSE</type></link>.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-get-byte-array" role="function">
+<title>dbusmenu_menuitem_property_get_byte_array ()</title>
+<indexterm zone="dbusmenu-menuitem-property-get-byte-array"><primary>dbusmenu_menuitem_property_get_byte_array</primary></indexterm>
+<programlisting>const <link linkend="guchar"><returnvalue>guchar</returnvalue></link> * dbusmenu_menuitem_property_get_byte_array
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>,
+ <parameter><link linkend="gsize"><type>gsize</type></link> *nelements</parameter>);</programlisting>
+<para>
+Look up a property on <parameter>mi</parameter> and return the value of it if
+it exits. <link linkend="NULL:CAPS"><type>NULL</type></link> will be returned if the property doesn't
+exist.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to grab.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>nelements</parameter>&#160;:</term>
+<listitem><simpara>A pointer to the location to store the number of items (out)</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A byte array with the
+value of the property that shouldn't be free'd. Or <link linkend="NULL:CAPS"><type>NULL</type></link> if the property
+is not set or is not a byte array. <emphasis role="annotation">[<acronym>array</acronym> length=nelements][<acronym>element-type</acronym> guint8][<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-get-int" role="function">
+<title>dbusmenu_menuitem_property_get_int ()</title>
+<indexterm zone="dbusmenu-menuitem-property-get-int"><primary>dbusmenu_menuitem_property_get_int</primary></indexterm>
+<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link> dbusmenu_menuitem_property_get_int (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Look up a property on <parameter>mi</parameter> and return the value of it if
+it exits. Returns zero if the property doesn't exist.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to grab.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The value of the property or zero.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-get-variant" role="function">
+<title>dbusmenu_menuitem_property_get_variant ()</title>
+<indexterm zone="dbusmenu-menuitem-property-get-variant"><primary>dbusmenu_menuitem_property_get_variant</primary></indexterm>
+<programlisting><link linkend="GVariant"><returnvalue>GVariant</returnvalue></link> * dbusmenu_menuitem_property_get_variant
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Look up a property on <parameter>mi</parameter> and return the value of it if
+it exits. <link linkend="NULL:CAPS"><type>NULL</type></link> will be returned if the property doesn't
+exist.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to grab.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A GVariant for the property. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-exist" role="function">
+<title>dbusmenu_menuitem_property_exist ()</title>
+<indexterm zone="dbusmenu-menuitem-property-exist"><primary>dbusmenu_menuitem_property_exist</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_property_exist (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Checkes to see if a particular property exists on <parameter>mi</parameter> and
+returns <link linkend="TRUE:CAPS"><type>TRUE</type></link> if so.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to look for the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to look for.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A boolean checking to see if the property is available</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-properties-list" role="function">
+<title>dbusmenu_menuitem_properties_list ()</title>
+<indexterm zone="dbusmenu-menuitem-properties-list"><primary>dbusmenu_menuitem_properties_list</primary></indexterm>
+<programlisting><link linkend="GList"><returnvalue>GList</returnvalue></link> * dbusmenu_menuitem_properties_list (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+This functiong gets a list of the names of all the properties
+that are set on this menu item. This data on the list is owned
+by the menuitem but the list is not and should be freed using
+<link linkend="g-list-free"><function>g_list_free()</function></link> when the calling function is done with it.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to list the properties on</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A list of
+strings or NULL if there are none. <emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> utf8]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-properties-copy" role="function">
+<title>dbusmenu_menuitem_properties_copy ()</title>
+<indexterm zone="dbusmenu-menuitem-properties-copy"><primary>dbusmenu_menuitem_properties_copy</primary></indexterm>
+<programlisting><link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> * dbusmenu_menuitem_properties_copy (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+This function takes the properties of a <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>
+and puts them into a <link linkend="GHashTable"><type>GHashTable</type></link> that is referenced by the
+key of a string and has the value of a string. The hash
+table may not have any entries if there aren't any or there
+is an error in processing. It is the caller's responsibility
+to destroy the created <link linkend="GHashTable"><type>GHashTable</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> that we're interested in the properties of</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A brand new <link linkend="GHashTable"><type>GHashTable</type></link> that contains all of
+theroperties that are on this <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> <parameter>mi</parameter>. <emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-property-remove" role="function">
+<title>dbusmenu_menuitem_property_remove ()</title>
+<indexterm zone="dbusmenu-menuitem-property-remove"><primary>dbusmenu_menuitem_property_remove</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_property_remove (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *property</parameter>);</programlisting>
+<para>
+Removes a property from the menuitem.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to remove the property on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>property</parameter>&#160;:</term>
+<listitem><simpara>The property to look for.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-set-root" role="function">
+<title>dbusmenu_menuitem_set_root ()</title>
+<indexterm zone="dbusmenu-menuitem-set-root"><primary>dbusmenu_menuitem_set_root</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_set_root (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="gboolean"><type>gboolean</type></link> root</parameter>);</programlisting>
+<para>
+This function sets the internal value of whether this is a
+root node or not.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to set whether it's root</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>root</parameter>&#160;:</term>
+<listitem><simpara>Whether <parameter>mi</parameter> is a root node or not</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-root" role="function">
+<title>dbusmenu_menuitem_get_root ()</title>
+<indexterm zone="dbusmenu-menuitem-get-root"><primary>dbusmenu_menuitem_get_root</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_get_root (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+This function returns the internal value of whether this is a
+root node or not.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to see whether it's root</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara><link linkend="TRUE:CAPS"><type>TRUE</type></link> if this is a root node</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-foreach" role="function">
+<title>dbusmenu_menuitem_foreach ()</title>
+<indexterm zone="dbusmenu-menuitem-foreach"><primary>dbusmenu_menuitem_foreach</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_foreach (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="void"><type>void</type></link> (*func) (DbusmenuMenuitem * mi, gpointer data)</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
+<para>
+This calls the function <parameter>func</parameter> on this menu item and all
+of the children of this item. And their children. And
+their children. And... you get the point. It will get
+called on the whole tree.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenItem"><type>DbusmenItem</type></link> to start from</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>func</parameter>&#160;:</term>
+<listitem><simpara>Function to call on every node in the tree</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>data</parameter>&#160;:</term>
+<listitem><simpara>User data to pass to the function. <emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-handle-event" role="function">
+<title>dbusmenu_menuitem_handle_event ()</title>
+<indexterm zone="dbusmenu-menuitem-handle-event"><primary>dbusmenu_menuitem_handle_event</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_handle_event (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
+ <parameter><link linkend="GVariant"><type>GVariant</type></link> *variant</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> timestamp</parameter>);</programlisting>
+<para>
+This function is called to create an event. It is likely
+to be overrided by subclasses. The default menu item
+will respond to the activate signal and do:
+</para>
+<para>
+Emits the <link linkend="DbusmenuMenuitem-item-activate"><type>"item-activate"</type></link> signal on this
+menu item. Called by server objects when they get the
+appropriate DBus signals from the client.
+</para>
+<para>
+If you subclass this function you should really think
+about calling the parent function unless you have a good
+reason not to.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to send the signal on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>name</parameter>&#160;:</term>
+<listitem><simpara>The name of the signal</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>variant</parameter>&#160;:</term>
+<listitem><simpara>A value that could be set for the event</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>timestamp</parameter>&#160;:</term>
+<listitem><simpara>The timestamp of when the event happened</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-send-about-to-show" role="function">
+<title>dbusmenu_menuitem_send_about_to_show ()</title>
+<indexterm zone="dbusmenu-menuitem-send-about-to-show"><primary>dbusmenu_menuitem_send_about_to_show</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_send_about_to_show
+ (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="void"><type>void</type></link> (*cb) (DbusmenuMenuitem * mi, gpointer user_data)</parameter>,
+ <parameter><link linkend="gpointer"><type>gpointer</type></link> cb_data</parameter>);</programlisting>
+<para>
+This function is used to send the even that the submenu
+of this item is about to be shown. Callers to this event
+should delay showing the menu until their callback is
+called if possible.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to send the signal on.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>cb</parameter>&#160;:</term>
+<listitem><simpara>Callback to call when the call has returned.</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>cb_data</parameter>&#160;:</term>
+<listitem><simpara>Data to pass to the callback. <emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-show-to-user" role="function">
+<title>dbusmenu_menuitem_show_to_user ()</title>
+<indexterm zone="dbusmenu-menuitem-show-to-user"><primary>dbusmenu_menuitem_show_to_user</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_menuitem_show_to_user (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="guint"><type>guint</type></link> timestamp</parameter>);</programlisting>
+<para>
+Signals that this menu item should be shown to the user. If this is
+server side the server will then take it and send it over the
+bus.
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to show</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>timestamp</parameter>&#160;:</term>
+<listitem><simpara>The time that the user requested it to be shown</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-get-parent" role="function">
+<title>dbusmenu_menuitem_get_parent ()</title>
+<indexterm zone="dbusmenu-menuitem-get-parent"><primary>dbusmenu_menuitem_get_parent</primary></indexterm>
+<programlisting><link linkend="DbusmenuMenuitem"><returnvalue>DbusmenuMenuitem</returnvalue></link> * dbusmenu_menuitem_get_parent (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+This function looks up the parent of <parameter>mi</parameter>
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> for which to inspect the parent</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The parent of this menu item. <emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-set-parent" role="function">
+<title>dbusmenu_menuitem_set_parent ()</title>
+<indexterm zone="dbusmenu-menuitem-set-parent"><primary>dbusmenu_menuitem_set_parent</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_set_parent (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *parent</parameter>);</programlisting>
+<para>
+Sets the parent of <parameter>mi</parameter> to <parameter>parent</parameter>. If <parameter>mi</parameter> already
+has a parent, then this call will fail. The parent will
+be set automatically when using the usual methods to add a
+child menuitem, so this function should not normally be
+called directly
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> for which to set the parent</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>parent</parameter>&#160;:</term>
+<listitem><simpara>The new parent <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link></simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether the parent was set successfully</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-menuitem-unparent" role="function">
+<title>dbusmenu_menuitem_unparent ()</title>
+<indexterm zone="dbusmenu-menuitem-unparent"><primary>dbusmenu_menuitem_unparent</primary></indexterm>
+<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> dbusmenu_menuitem_unparent (<parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *mi</parameter>);</programlisting>
+<para>
+Unparents the menu item <parameter>mi</parameter>. If <parameter>mi</parameter> doesn't have a
+parent, then this call will fail. The menuitem will
+be unparented automatically when using the usual methods
+to delete a child menuitem, so this function should not
+normally be called directly
+</para><variablelist role="params">
+<varlistentry><term><parameter>mi</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> to unparent</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Whether the menu item was unparented successfully</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+
+</refsect1>
+
+</refentry>
diff --git a/docs/libdbusmenu-glib/reference/xml/server.xml b/docs/libdbusmenu-glib/reference/xml/server.xml
new file mode 100644
index 0000000..4f8f68a
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/server.xml
@@ -0,0 +1,309 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<refentry id="libdbusmenu-glib-DbusmenuServer">
+<refmeta>
+<refentrytitle role="top_of_page" id="libdbusmenu-glib-DbusmenuServer.top_of_page">DbusmenuServer</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ LIBDBUSMENU-GLIB Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>DbusmenuServer</refname>
+<refpurpose>The server signals changed and
+ updates on a tree of <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objecs.</refpurpose>
+</refnamediv>
+<refsect1 id="libdbusmenu-glib-DbusmenuServer.stability-level">
+<title>Stability Level</title>
+Unstable, unless otherwise indicated
+</refsect1>
+
+<refsynopsisdiv id="libdbusmenu-glib-DbusmenuServer.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+
+<synopsis>
+#include &lt;libdbusmenu-glib/server.h&gt;
+
+#define <link linkend="DBUSMENU-SERVER-SIGNAL-ID-PROP-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE</link>
+#define <link linkend="DBUSMENU-SERVER-SIGNAL-ID-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_ID_UPDATE</link>
+#define <link linkend="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATED:CAPS">DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED</link>
+#define <link linkend="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATE:CAPS">DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE</link>
+#define <link linkend="DBUSMENU-SERVER-SIGNAL-ITEM-ACTIVATION:CAPS">DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION</link>
+#define <link linkend="DBUSMENU-SERVER-PROP-DBUS-OBJECT:CAPS">DBUSMENU_SERVER_PROP_DBUS_OBJECT</link>
+#define <link linkend="DBUSMENU-SERVER-PROP-ROOT-NODE:CAPS">DBUSMENU_SERVER_PROP_ROOT_NODE</link>
+#define <link linkend="DBUSMENU-SERVER-PROP-STATUS:CAPS">DBUSMENU_SERVER_PROP_STATUS</link>
+#define <link linkend="DBUSMENU-SERVER-PROP-TEXT-DIRECTION:CAPS">DBUSMENU_SERVER_PROP_TEXT_DIRECTION</link>
+#define <link linkend="DBUSMENU-SERVER-PROP-VERSION:CAPS">DBUSMENU_SERVER_PROP_VERSION</link>
+ <link linkend="DbusmenuServer">DbusmenuServer</link>;
+struct <link linkend="DbusmenuServerClass">DbusmenuServerClass</link>;
+<link linkend="DbusmenuServer"><returnvalue>DbusmenuServer</returnvalue></link> * <link linkend="dbusmenu-server-new">dbusmenu_server_new</link> (<parameter>const <link linkend="gchar"><type>gchar</type></link> *object</parameter>);
+<link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> <link linkend="dbusmenu-server-get-status">dbusmenu_server_get_status</link> (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>);
+<link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> <link linkend="dbusmenu-server-get-text-direction">dbusmenu_server_get_text_direction</link>
+ (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-server-set-root">dbusmenu_server_set_root</link> (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *self</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *root</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-server-set-status">dbusmenu_server_set_status</link> (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>,
+ <parameter><link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> status</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="dbusmenu-server-set-text-direction">dbusmenu_server_set_text_direction</link> (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>,
+ <parameter><link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> dir</parameter>);
+</synopsis>
+</refsynopsisdiv>
+
+<refsect1 id="libdbusmenu-glib-DbusmenuServer.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+A <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> is the object that represents the local
+ tree of <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> objects on DBus. It watches the
+ various signals that those objects emit and correctly
+ represents them across DBus to a <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link> so that
+ the same tree can be maintained in another process.
+</para>
+<para>
+ The server needs to have the root set of <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link>
+ objects set via <link linkend="dbusmenu-server-set-root"><type>dbusmenu_server_set_root</type></link> but it will query
+ all of the objects in that tree automatically. After setting
+ the root there should be no other maintence required by
+ users of the server class.
+</para>
+</refsect1>
+<refsect1 id="libdbusmenu-glib-DbusmenuServer.details" role="details">
+<title role="details.title">Details</title>
+<refsect2 id="DBUSMENU-SERVER-SIGNAL-ID-PROP-UPDATE:CAPS" role="macro">
+<title>DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE</title>
+<indexterm zone="DBUSMENU-SERVER-SIGNAL-ID-PROP-UPDATE:CAPS"><primary>DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE "item-property-updated"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-item-property-updated"><type>"item-property-updated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-SIGNAL-ID-UPDATE:CAPS" role="macro">
+<title>DBUSMENU_SERVER_SIGNAL_ID_UPDATE</title>
+<indexterm zone="DBUSMENU-SERVER-SIGNAL-ID-UPDATE:CAPS"><primary>DBUSMENU_SERVER_SIGNAL_ID_UPDATE</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_SIGNAL_ID_UPDATE "item-updated"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-item-updated"><type>"item-updated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATED:CAPS" role="macro">
+<title>DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED</title>
+<indexterm zone="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATED:CAPS"><primary>DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED "layout-updated"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-layout-updated"><type>"layout-updated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATE:CAPS" role="macro">
+<title>DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE</title>
+<indexterm zone="DBUSMENU-SERVER-SIGNAL-LAYOUT-UPDATE:CAPS"><primary>DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-layout-updated"><type>"layout-updated"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-SIGNAL-ITEM-ACTIVATION:CAPS" role="macro">
+<title>DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION</title>
+<indexterm zone="DBUSMENU-SERVER-SIGNAL-ITEM-ACTIVATION:CAPS"><primary>DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION "item-activation-requested"
+</programlisting>
+<para>
+String to attach to signal <link linkend="DbusmenuServer-item-activation-requested"><type>"item-activation-requested"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-PROP-DBUS-OBJECT:CAPS" role="macro">
+<title>DBUSMENU_SERVER_PROP_DBUS_OBJECT</title>
+<indexterm zone="DBUSMENU-SERVER-PROP-DBUS-OBJECT:CAPS"><primary>DBUSMENU_SERVER_PROP_DBUS_OBJECT</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_PROP_DBUS_OBJECT "dbus-object"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuServer--dbus-object"><type>"dbus-object"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-PROP-ROOT-NODE:CAPS" role="macro">
+<title>DBUSMENU_SERVER_PROP_ROOT_NODE</title>
+<indexterm zone="DBUSMENU-SERVER-PROP-ROOT-NODE:CAPS"><primary>DBUSMENU_SERVER_PROP_ROOT_NODE</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_PROP_ROOT_NODE "root-node"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuServer--root-node"><type>"root-node"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-PROP-STATUS:CAPS" role="macro">
+<title>DBUSMENU_SERVER_PROP_STATUS</title>
+<indexterm zone="DBUSMENU-SERVER-PROP-STATUS:CAPS"><primary>DBUSMENU_SERVER_PROP_STATUS</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_PROP_STATUS "status"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuServer--status"><type>"status"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-PROP-TEXT-DIRECTION:CAPS" role="macro">
+<title>DBUSMENU_SERVER_PROP_TEXT_DIRECTION</title>
+<indexterm zone="DBUSMENU-SERVER-PROP-TEXT-DIRECTION:CAPS"><primary>DBUSMENU_SERVER_PROP_TEXT_DIRECTION</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_PROP_TEXT_DIRECTION "text-direction"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuServer--text-direction"><type>"text-direction"</type></link>
+</para></refsect2>
+<refsect2 id="DBUSMENU-SERVER-PROP-VERSION:CAPS" role="macro">
+<title>DBUSMENU_SERVER_PROP_VERSION</title>
+<indexterm zone="DBUSMENU-SERVER-PROP-VERSION:CAPS"><primary>DBUSMENU_SERVER_PROP_VERSION</primary></indexterm>
+<programlisting>#define DBUSMENU_SERVER_PROP_VERSION "version"
+</programlisting>
+<para>
+String to access property <link linkend="DbusmenuServer--version"><type>"version"</type></link>
+</para></refsect2>
+<refsect2 id="DbusmenuServer" role="struct">
+<title>DbusmenuServer</title>
+<indexterm zone="DbusmenuServer"><primary>DbusmenuServer</primary></indexterm>
+<programlisting>typedef struct _DbusmenuServer DbusmenuServer;</programlisting>
+<para>
+A server which represents a sharing of a set of
+ <link linkend="DbusmenuMenuitems"><type>DbusmenuMenuitems</type></link> across DBus to a <link linkend="DbusmenuClient"><type>DbusmenuClient</type></link>.
+</para></refsect2>
+<refsect2 id="DbusmenuServerClass" role="struct">
+<title>struct DbusmenuServerClass</title>
+<indexterm zone="DbusmenuServerClass"><primary>DbusmenuServerClass</primary></indexterm>
+<programlisting>struct DbusmenuServerClass {
+ GObjectClass parent_class;
+
+ /* Signals */
+ void (*id_prop_update)(gint id, gchar * property, gchar * value);
+ void (*id_update)(gint id);
+ void (*layout_updated)(gint revision);
+ void (*item_activation)(gint id, guint timestamp);
+
+ /*&lt; Private &gt;*/
+ void (*reserved1) (void);
+ void (*reserved2) (void);
+ void (*reserved3) (void);
+ void (*reserved4) (void);
+ void (*reserved5) (void);
+ void (*reserved6) (void);
+};
+</programlisting>
+<para>
+The class implementing the virtual functions for <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link>.
+</para><variablelist role="struct">
+<varlistentry><term><link linkend="GObjectClass"><type>GObjectClass</type></link>&#160;<structfield id="DbusmenuServerClass.parent-class">parent_class</structfield>;</term>
+<listitem><simpara><link linkend="GObjectClass"><type>GObjectClass</type></link></simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.id-prop-update">id_prop_update</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuServer-id-prop-update"><type>"id-prop-update"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.id-update">id_update</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuServer-id-update"><type>"id-update"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.layout-updated">layout_updated</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuServer-layout-update"><type>"layout-update"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.item-activation">item_activation</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="DbusmenuServer-item-activation-requested"><type>"item-activation-requested"</type></link>.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved1">reserved1</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved2">reserved2</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved3">reserved3</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved4">reserved4</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved5">reserved5</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="DbusmenuServerClass.reserved6">reserved6</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-new" role="function">
+<title>dbusmenu_server_new ()</title>
+<indexterm zone="dbusmenu-server-new"><primary>dbusmenu_server_new</primary></indexterm>
+<programlisting><link linkend="DbusmenuServer"><returnvalue>DbusmenuServer</returnvalue></link> * dbusmenu_server_new (<parameter>const <link linkend="gchar"><type>gchar</type></link> *object</parameter>);</programlisting>
+<para>
+Creates a new <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> object with a specific object
+ path on DBus. If <parameter>object</parameter> is set to NULL the default object
+ name of "/com/canonical/dbusmenu" will be used.
+</para><variablelist role="params">
+<varlistentry><term><parameter>object</parameter>&#160;:</term>
+<listitem><simpara>The object name to show for this menu structure
+on DBus. May be NULL.</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A brand new <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-get-status" role="function">
+<title>dbusmenu_server_get_status ()</title>
+<indexterm zone="dbusmenu-server-get-status"><primary>dbusmenu_server_get_status</primary></indexterm>
+<programlisting><link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> dbusmenu_server_get_status (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>);</programlisting>
+<para>
+Gets the current statust hat the server is sending out over
+ DBus.
+</para><variablelist role="params">
+<varlistentry><term><parameter>server</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> to get the status from</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The current status the server is sending</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-get-text-direction" role="function">
+<title>dbusmenu_server_get_text_direction ()</title>
+<indexterm zone="dbusmenu-server-get-text-direction"><primary>dbusmenu_server_get_text_direction</primary></indexterm>
+<programlisting><link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> dbusmenu_server_get_text_direction
+ (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>);</programlisting>
+<para>
+Returns the value of the text direction that is being exported
+ over DBus for this server. It should relate to the direction
+ of the labels and other text fields that are being exported by
+ this server.
+</para><variablelist role="params">
+<varlistentry><term><parameter>server</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> object to get the text direction from</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>Text direction exported for this server.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-set-root" role="function">
+<title>dbusmenu_server_set_root ()</title>
+<indexterm zone="dbusmenu-server-set-root"><primary>dbusmenu_server_set_root</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_server_set_root (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *self</parameter>,
+ <parameter><link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> *root</parameter>);</programlisting>
+<para>
+This function contains all of the <link linkend="GValue"><type>GValue</type></link> wrapping
+ required to set the property <link linkend="DbusmenuServer--root-node"><type>"root-node"</type></link>
+ on the server <parameter>self</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> object to set the root on</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>root</parameter>&#160;:</term>
+<listitem><simpara>The new root <link linkend="DbusmenuMenuitem"><type>DbusmenuMenuitem</type></link> tree</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-set-status" role="function">
+<title>dbusmenu_server_set_status ()</title>
+<indexterm zone="dbusmenu-server-set-status"><primary>dbusmenu_server_set_status</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_server_set_status (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>,
+ <parameter><link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> status</parameter>);</programlisting>
+<para>
+Changes the status of the server.
+</para><variablelist role="params">
+<varlistentry><term><parameter>server</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> to set the status on</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>status</parameter>&#160;:</term>
+<listitem><simpara>Status value to set on the server</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-server-set-text-direction" role="function">
+<title>dbusmenu_server_set_text_direction ()</title>
+<indexterm zone="dbusmenu-server-set-text-direction"><primary>dbusmenu_server_set_text_direction</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> dbusmenu_server_set_text_direction (<parameter><link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> *server</parameter>,
+ <parameter><link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> dir</parameter>);</programlisting>
+<para>
+Sets the text direction that should be exported over DBus for
+ this server. If the value is set to <link linkend="DBUSMENU-TEXT-DIRECTION-NONE:CAPS"><type>DBUSMENU_TEXT_DIRECTION_NONE</type></link>
+ the default detection will be used for setting the value and
+ exported over DBus.
+</para><variablelist role="params">
+<varlistentry><term><parameter>server</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="DbusmenuServer"><type>DbusmenuServer</type></link> object to set the text direction on</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>dir</parameter>&#160;:</term>
+<listitem><simpara>Direction of the text</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+
+</refsect1>
+
+</refentry>
diff --git a/docs/libdbusmenu-glib/reference/xml/types.xml b/docs/libdbusmenu-glib/reference/xml/types.xml
new file mode 100644
index 0000000..c8db900
--- /dev/null
+++ b/docs/libdbusmenu-glib/reference/xml/types.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<refentry id="libdbusmenu-glib-Types">
+<refmeta>
+<refentrytitle role="top_of_page" id="libdbusmenu-glib-Types.top_of_page">Types</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ LIBDBUSMENU-GLIB Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>Types</refname>
+<refpurpose>Types that are used by both client and
+ server.</refpurpose>
+</refnamediv>
+<refsect1 id="libdbusmenu-glib-Types.stability-level">
+<title>Stability Level</title>
+Unstable, unless otherwise indicated
+</refsect1>
+
+<refsynopsisdiv id="libdbusmenu-glib-Types.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+
+<synopsis>
+#include &lt;libdbusmenu-glib/types.h&gt;
+
+#define <link linkend="DBUSMENU-TYPE-STATUS:CAPS">DBUSMENU_TYPE_STATUS</link>
+#define <link linkend="DBUSMENU-TYPE-TEXT-DIRECTION:CAPS">DBUSMENU_TYPE_TEXT_DIRECTION</link>
+enum <link linkend="DbusmenuStatus">DbusmenuStatus</link>;
+enum <link linkend="DbusmenuTextDirection">DbusmenuTextDirection</link>;
+const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="dbusmenu-status-get-nick">dbusmenu_status_get_nick</link> (<parameter><link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> value</parameter>);
+<link linkend="GType"><returnvalue>GType</returnvalue></link> <link linkend="dbusmenu-status-get-type">dbusmenu_status_get_type</link> (<parameter><type>void</type></parameter>);
+<link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> <link linkend="dbusmenu-status-get-value-from-nick">dbusmenu_status_get_value_from_nick</link> (<parameter>const <link linkend="gchar"><type>gchar</type></link> *nick</parameter>);
+const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="dbusmenu-text-direction-get-nick">dbusmenu_text_direction_get_nick</link> (<parameter><link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> value</parameter>);
+<link linkend="GType"><returnvalue>GType</returnvalue></link> <link linkend="dbusmenu-text-direction-get-type">dbusmenu_text_direction_get_type</link> (<parameter><type>void</type></parameter>);
+<link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> <link linkend="dbusmenu-text-direction-get-value-from-nick">dbusmenu_text_direction_get_value_from_nick</link>
+ (<parameter>const <link linkend="gchar"><type>gchar</type></link> *nick</parameter>);
+</synopsis>
+</refsynopsisdiv>
+
+<refsect1 id="libdbusmenu-glib-Types.description" role="desc">
+<title role="desc.title">Description</title>
+<para>
+Enums that are used to describe states of the server across the
+ bus. They are sent over dbus using their nicks but then turned
+ back into enums by the client.
+</para>
+</refsect1>
+<refsect1 id="libdbusmenu-glib-Types.details" role="details">
+<title role="details.title">Details</title>
+<refsect2 id="DBUSMENU-TYPE-STATUS:CAPS" role="macro">
+<title>DBUSMENU_TYPE_STATUS</title>
+<indexterm zone="DBUSMENU-TYPE-STATUS:CAPS"><primary>DBUSMENU_TYPE_STATUS</primary></indexterm>
+<programlisting>#define DBUSMENU_TYPE_STATUS (dbusmenu_status_get_type())
+</programlisting>
+<para>
+Gets the <link linkend="GType"><type>GType</type></link> value for the type associated with the
+ <link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> enumerated type.
+</para></refsect2>
+<refsect2 id="DBUSMENU-TYPE-TEXT-DIRECTION:CAPS" role="macro">
+<title>DBUSMENU_TYPE_TEXT_DIRECTION</title>
+<indexterm zone="DBUSMENU-TYPE-TEXT-DIRECTION:CAPS"><primary>DBUSMENU_TYPE_TEXT_DIRECTION</primary></indexterm>
+<programlisting>#define DBUSMENU_TYPE_TEXT_DIRECTION (dbusmenu_text_direction_get_type())
+</programlisting>
+<para>
+Gets the <link linkend="GType"><type>GType</type></link> value for the type associated with the
+ <link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> enumerated type.
+</para></refsect2>
+<refsect2 id="DbusmenuStatus" role="enum">
+<title>enum DbusmenuStatus</title>
+<indexterm zone="DbusmenuStatus"><primary>DbusmenuStatus</primary></indexterm>
+<programlisting>typedef enum {
+ /*&lt; prefix=DBUSMENU_STATUS &gt;*/
+ DBUSMENU_STATUS_NORMAL, /*&lt; nick=normal &gt;*/
+ DBUSMENU_STATUS_NOTICE /*&lt; nick=notice &gt;*/
+} DbusmenuStatus;
+</programlisting>
+<para>
+Tracks how the menus should be presented to the user.
+</para><variablelist role="enum">
+<varlistentry id="DBUSMENU-STATUS-NORMAL:CAPS" role="constant">
+<term><literal>DBUSMENU_STATUS_NORMAL</literal></term>
+<listitem><simpara>Everything is normal
+</simpara></listitem>
+</varlistentry>
+<varlistentry id="DBUSMENU-STATUS-NOTICE:CAPS" role="constant">
+<term><literal>DBUSMENU_STATUS_NOTICE</literal></term>
+<listitem><simpara>The menus should be shown at a higher priority
+</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="DbusmenuTextDirection" role="enum">
+<title>enum DbusmenuTextDirection</title>
+<indexterm zone="DbusmenuTextDirection"><primary>DbusmenuTextDirection</primary></indexterm>
+<programlisting>typedef enum {
+ /*&lt; prefix=DBUSMENU_TEXT_DIRECTION &gt;*/
+ DBUSMENU_TEXT_DIRECTION_NONE, /*&lt; nick=none &gt;*/
+ DBUSMENU_TEXT_DIRECTION_LTR, /*&lt; nick=ltr &gt;*/
+ DBUSMENU_TEXT_DIRECTION_RTL /*&lt; nick=rtl &gt;*/
+} DbusmenuTextDirection;
+</programlisting>
+<para>
+The direction of text that the strings that this server
+ will be sending strings as.
+</para><variablelist role="enum">
+<varlistentry id="DBUSMENU-TEXT-DIRECTION-NONE:CAPS" role="constant">
+<term><literal>DBUSMENU_TEXT_DIRECTION_NONE</literal></term>
+<listitem><simpara>Unspecified text direction
+</simpara></listitem>
+</varlistentry>
+<varlistentry id="DBUSMENU-TEXT-DIRECTION-LTR:CAPS" role="constant">
+<term><literal>DBUSMENU_TEXT_DIRECTION_LTR</literal></term>
+<listitem><simpara>Left-to-right text direction
+</simpara></listitem>
+</varlistentry>
+<varlistentry id="DBUSMENU-TEXT-DIRECTION-RTL:CAPS" role="constant">
+<term><literal>DBUSMENU_TEXT_DIRECTION_RTL</literal></term>
+<listitem><simpara>Right-to-left text direction
+</simpara></listitem>
+</varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-status-get-nick" role="function">
+<title>dbusmenu_status_get_nick ()</title>
+<indexterm zone="dbusmenu-status-get-nick"><primary>dbusmenu_status_get_nick</primary></indexterm>
+<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * dbusmenu_status_get_nick (<parameter><link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> value</parameter>);</programlisting>
+<para>
+Looks up in the enum table for the nick of <parameter>value</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of DbusmenuStatus to get the nick of</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The nick for the given value or <link linkend="NULL:CAPS"><type>NULL</type></link> on error</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-status-get-type" role="function">
+<title>dbusmenu_status_get_type ()</title>
+<indexterm zone="dbusmenu-status-get-type"><primary>dbusmenu_status_get_type</primary></indexterm>
+<programlisting><link linkend="GType"><returnvalue>GType</returnvalue></link> dbusmenu_status_get_type (<parameter><type>void</type></parameter>);</programlisting>
+<para>
+Builds a GLib type for the <link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> enumeration.
+</para><variablelist role="params">
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A unique <link linkend="GType"><type>GType</type></link> for the <link linkend="DbusmenuStatus"><type>DbusmenuStatus</type></link> enum.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-status-get-value-from-nick" role="function">
+<title>dbusmenu_status_get_value_from_nick ()</title>
+<indexterm zone="dbusmenu-status-get-value-from-nick"><primary>dbusmenu_status_get_value_from_nick</primary></indexterm>
+<programlisting><link linkend="DbusmenuStatus"><returnvalue>DbusmenuStatus</returnvalue></link> dbusmenu_status_get_value_from_nick (<parameter>const <link linkend="gchar"><type>gchar</type></link> *nick</parameter>);</programlisting>
+<para>
+Looks up in the enum table for the value of <parameter>nick</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>nick</parameter>&#160;:</term>
+<listitem><simpara>The enum nick to lookup</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The value for the given <parameter>nick</parameter></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-text-direction-get-nick" role="function">
+<title>dbusmenu_text_direction_get_nick ()</title>
+<indexterm zone="dbusmenu-text-direction-get-nick"><primary>dbusmenu_text_direction_get_nick</primary></indexterm>
+<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * dbusmenu_text_direction_get_nick (<parameter><link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> value</parameter>);</programlisting>
+<para>
+Looks up in the enum table for the nick of <parameter>value</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>value</parameter>&#160;:</term>
+<listitem><simpara>The value of DbusmenuTextDirection to get the nick of</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The nick for the given value or <link linkend="NULL:CAPS"><type>NULL</type></link> on error</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-text-direction-get-type" role="function">
+<title>dbusmenu_text_direction_get_type ()</title>
+<indexterm zone="dbusmenu-text-direction-get-type"><primary>dbusmenu_text_direction_get_type</primary></indexterm>
+<programlisting><link linkend="GType"><returnvalue>GType</returnvalue></link> dbusmenu_text_direction_get_type (<parameter><type>void</type></parameter>);</programlisting>
+<para>
+Builds a GLib type for the <link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> enumeration.
+</para><variablelist role="params">
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>A unique <link linkend="GType"><type>GType</type></link> for the <link linkend="DbusmenuTextDirection"><type>DbusmenuTextDirection</type></link> enum.</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="dbusmenu-text-direction-get-value-from-nick" role="function">
+<title>dbusmenu_text_direction_get_value_from_nick ()</title>
+<indexterm zone="dbusmenu-text-direction-get-value-from-nick"><primary>dbusmenu_text_direction_get_value_from_nick</primary></indexterm>
+<programlisting><link linkend="DbusmenuTextDirection"><returnvalue>DbusmenuTextDirection</returnvalue></link> dbusmenu_text_direction_get_value_from_nick
+ (<parameter>const <link linkend="gchar"><type>gchar</type></link> *nick</parameter>);</programlisting>
+<para>
+Looks up in the enum table for the value of <parameter>nick</parameter>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>nick</parameter>&#160;:</term>
+<listitem><simpara>The enum nick to lookup</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The value for the given <parameter>nick</parameter></simpara></listitem></varlistentry>
+</variablelist></refsect2>
+
+</refsect1>
+
+</refentry>