String to access property [`dbus-name`][struct@crate::Client#dbus-name]
String to access property [`dbus-object`][struct@crate::Client#dbus-object]
String to access property [`group-events`][struct@crate::Client#group-events]
String to access property [`status`][struct@crate::Client#status]
String to access property [`text-direction`][struct@crate::Client#text-direction]
String to attach to signal [`event-result`][struct@crate::Client#event-result]
String to attach to signal [`icon-theme-dirs-changed`][struct@crate::Client#icon-theme-dirs-changed]
String to attach to signal [`item-activate`][struct@crate::Client#item-activate]
String to attach to signal [`layout-updated`][struct@crate::Client#layout-updated]
String to attach to signal [`new-menuitem`][struct@crate::Client#new-menuitem]
String to attach to signal [`root-changed`][struct@crate::Client#root-changed]
Used to set the 'type' property on a menu item to create
a standard menu item.
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.
Used to set the 'type' property on a menu item to create
a separator menu item.
Used in `DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY` to have the
subitems displayed as a submenu.
Used in `DBUSMENU_MENUITEM_PROP_DISPOSITION` to have a menu
item displayed in a way that conveys it's giving an alert
to the user.
Used in `DBUSMENU_MENUITEM_PROP_DISPOSITION` to have a menu
item displayed in a way that conveys it's giving additional
information to the user.
Used in `DBUSMENU_MENUITEM_PROP_DISPOSITION` to have a menu
item displayed in the normal manner. Default value.
Used in `DBUSMENU_MENUITEM_PROP_DISPOSITION` to have a menu
item displayed in a way that conveys it's giving a warning
to the user.
String for the event identifier when a menu item is clicked
on by the user.
String for the event identifier when a menu is closed and
displayed to the user. Only valid for items that contain
submenus.
String for the event identifier when a menu is opened and
displayed to the user. Only valid for items that contain
submenus.
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_STATE` so that the menu's
toggle item is undecided.
[`Menuitem`][crate::Menuitem] 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.
[`Menuitem`][crate::Menuitem] property that tells how the children of this menuitem
should be displayed. Most likely this will be unset or of the value
`DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU`. Type: `G_VARIANT_TYPE_STRING`
[`Menuitem`][crate::Menuitem] property to tell what type of information that the
menu item is displaying to the user. Type: `G_VARIANT_TYPE_STRING`
[`Menuitem`][crate::Menuitem] property used to represent whether the menuitem
is clickable or not. Type: `G_VARIANT_TYPE_BOOLEAN`.
[`Menuitem`][crate::Menuitem] property that is the raw data of a custom icon
used in the application. Type: `G_VARIANT_TYPE_VARIANT`
It is recommended that this is not set directly but instead the
libdbusmenu-gtk library is used with the function `dbusmenu_menuitem_property_set_image()`
[`Menuitem`][crate::Menuitem] property that is the name of the icon under the
Freedesktop.org icon naming spec. Type: `G_VARIANT_TYPE_STRING`
[`Menuitem`][crate::Menuitem] property used for the text on the menu item.
[`Menuitem`][crate::Menuitem] property that is the entries that represent a shortcut
to activate the menuitem. It is an array of arrays of strings.
It is recommended that this is not set directly but instead the
libdbusmenu-gtk library is used with the function `dbusmenu_menuitem_property_set_shortcut()`
[`Menuitem`][crate::Menuitem] property that says what state a toggle entry should
be shown as the menu. Should be either `DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED`
`DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED` or `DBUSMENU_MENUITEM_TOGGLE_STATUE_UNKNOWN`.
[`Menuitem`][crate::Menuitem] property that says what type of toggle entry should
be shown in the menu. Should be either `DBUSMENU_MENUITEM_TOGGLE_CHECK`
or `DBUSMENU_MENUITEM_TOGGLE_RADIO`. Type: `G_VARIANT_TYPE_STRING`
[`Menuitem`][crate::Menuitem] property used to represent what type of menuitem
this object represents. Type: `G_VARIANT_TYPE_STRING`.
[`Menuitem`][crate::Menuitem] property used to represent whether the menuitem
should be shown or not. Type: `G_VARIANT_TYPE_BOOLEAN`.
Used in `DBUSMENU_MENUITEM_PROP_SHORTCUT` to represent the
alternate key.
Used in `DBUSMENU_MENUITEM_PROP_SHORTCUT` to represent the
control key.
Used in `DBUSMENU_MENUITEM_PROP_SHORTCUT` to represent the
shift key.
Used in `DBUSMENU_MENUITEM_PROP_SHORTCUT` to represent the
super key.
String to attach to signal [`about-to-show`][struct@crate::Server#about-to-show]
String to attach to signal [`child-added`][struct@crate::Server#child-added]
String to attach to signal [`child-moved`][struct@crate::Server#child-moved]
String to attach to signal [`child-removed`][struct@crate::Server#child-removed]
String to attach to signal [`event`][struct@crate::Server#event]
String to attach to signal [`item-activated`][struct@crate::Server#item-activated]
String to attach to signal [`property-changed`][struct@crate::Server#property-changed]
String to attach to signal [`realized`][struct@crate::Server#realized]
String to attach to signal [`show-to-user`][struct@crate::Server#show-to-user]
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE` to be a standard
check mark item.
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE` to be a standard
radio item.
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_STATE` so that the menu's
toggle item is filled.
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_STATE` so that the menu's
toggle item is empty.
Used to set `DBUSMENU_MENUITEM_PROP_TOGGLE_STATE` so that the menu's
toggle item is undecided.
String to access property [`dbus-object`][struct@crate::Server#dbus-object]
String to access property [`root-node`][struct@crate::Server#root-node]
String to access property [`status`][struct@crate::Server#status]
String to access property [`text-direction`][struct@crate::Server#text-direction]
String to access property [`version`][struct@crate::Server#version]
String to attach to signal [`item-property-updated`][struct@crate::Server#item-property-updated]
String to attach to signal [`item-updated`][struct@crate::Server#item-updated]
String to attach to signal [`item-activation-requested`][struct@crate::Server#item-activation-requested]
String to attach to signal [`layout-updated`][struct@crate::Server#layout-updated]
The client for a [`Server`][crate::Server] creating a shared
object set of [`Menuitem`][crate::Menuitem] objects.
## Properties
#### `dbus-name`
#### `dbus-object`
#### `group-events`
## Signals
#### `event-result`
#### `icon-theme-dirs-changed`
Signaled when the theme directories are changed by the server.
#### `item-activate`
Signaled when the server wants to activate an item in
order to display the menu.
#### `layout-updated`
#### `new-menuitem`
Signaled when the client creates a new menuitem. This
doesn't mean that it's placed anywhere. The parent that
it's applied to will signal [`child-added`][struct@crate::Menuitem#child-added]
when it gets parented.
#### `root-changed`
The layout has changed in a way that can not be
represented by the individual items changing as the
root of this client has changed.
# Implements
[`ClientExt`][trait@crate::prelude::ClientExt]
Signaled when the theme directories are changed by the server.
## `arg1`
A `GStrv` of theme directories
Signaled when the server wants to activate an item in
order to display the menu.
## `arg1`
The [`Menuitem`][crate::Menuitem] activated
## `arg2`
A timestamp that the event happened at
Signaled when the client creates a new menuitem. This
doesn't mean that it's placed anywhere. The parent that
it's applied to will signal [`child-added`][struct@crate::Menuitem#child-added]
when it gets parented.
## `arg1`
The new [`Menuitem`][crate::Menuitem] created
The layout has changed in a way that can not be
represented by the individual items changing as the
root of this client has changed.
## `arg1`
The new root [`Menuitem`][crate::Menuitem]
This is the `GObject` 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.
## Properties
#### `id`
## Signals
#### `about-to-show`
Emitted when the submenu for this item
is about to be shown
#### `child-added`
Signaled when the child menuitem has been added to
the parent.
#### `child-moved`
Signaled when the child menuitem has had its location
in the list change.
#### `child-removed`
Signaled when the child menuitem has been requested to
be removed from the parent. This signal is called when
it has been removed from the list but not yet had
`g_object_unref` called on it.
#### `event`
Emitted when an event is passed through. The event is signalled
after handle_event is called.
Detailed
#### `item-activated`
Emitted on the objects on the server side when
they are signaled on the client side.
#### `property-changed`
Emitted everytime a property on a menuitem is either
updated or added.
#### `realized`
Emitted when the initial request for properties
is complete on the item. If there is a type
handler configured for the "type" parameter
that will be executed before this is signaled.
#### `show-to-user`
Signaled when the application would like the visualization
of this menu item shown to the user. This usually requires
going over the bus to get it done.
# Implements
[`MenuitemExt`][trait@crate::prelude::MenuitemExt]
This calls the function `func` 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.
## `func`
Function to call on every node in the tree
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.
## `cb`
Callback to call when the call has returned.
## `cb_data`
Data to pass to the callback.
Signaled when the child menuitem has been added to
the parent.
## `arg1`
The [`Menuitem`][crate::Menuitem] which is the child.
## `arg2`
The position that the child is being added in.
Signaled when the child menuitem has had its location
in the list change.
## `arg1`
The [`Menuitem`][crate::Menuitem] which is the child.
## `arg2`
The position that the child is being moved to.
## `arg3`
The position that the child is was in.
Signaled when the child menuitem has been requested to
be removed from the parent. This signal is called when
it has been removed from the list but not yet had
`g_object_unref` called on it.
## `arg1`
The [`Menuitem`][crate::Menuitem] which was the child.
Public instance data for a [`MenuitemProxy`][crate::MenuitemProxy].
## Properties
#### `menu-item`
#### `id`
# Implements
[`MenuitemProxyExt`][trait@crate::prelude::MenuitemProxyExt], [`MenuitemExt`][trait@crate::prelude::MenuitemExt]
A server which represents a sharing of a set of
`DbusmenuMenuitems` across DBus to a [`Client`][crate::Client].
## Properties
#### `dbus-object`
#### `root-node`
#### `version`
Readable
## Signals
#### `item-activation-requested`
This is signaled when a menuitem under this server
sends its activate signal.
#### `item-property-updated`
#### `item-updated`
#### `layout-updated`
This signal is emitted any time the layout of the
menuitems under this server is changed.
# Implements
[`ServerExt`][trait@crate::prelude::ServerExt]