The UI definitions are specified in an XML format which can be
roughly described by the following DTD.
<programlisting>
-<!ELEMENT ui (menubar|toolbar|popup)* >
+<!ELEMENT ui (menubar|toolbar|popup|accelerator)* >
<!ELEMENT menubar (menuitem|separator|placeholder|menu)* >
<!ELEMENT menu (menuitem|separator|placeholder|menu)* >
<!ELEMENT popup (menuitem|separator|placeholder|menu)* >
<!ELEMENT menuitem EMPTY >
<!ELEMENT toolitem EMPTY >
<!ELEMENT separator EMPTY >
+<!ELEMENT accelerator EMPTY >
<!ATTLIST menubar name #IMPLIED >
<!ATTLIST toolbar name #IMPLIED >
<!ATTLIST popup name #IMPLIED >
<!ATTLIST toolitem name #IMPLIED
action #REQUIRED
position (top|bot) #IMPLIED >
+<!ATTLIST accelerator name #IMPLIED
+ action #REQUIRED >
</programlisting>
There are some additional restrictions beyond those specified in the
DTD, e.g. every toolitem must have a toolbar in its anchestry and
<listitem><para>a #GtkSeparatorMenuItem or
#GtkSeparatorToolItem</para></listitem>
</varlistentry>
+<varlistentry><term>accelerator</term>
+<listitem><para>a keyboard accelerator</para></listitem>
+</varlistentry>
</variablelist>
</para>
<para>
toolitem with the same name has path
<literal>/ui/toolbar1/JustifyToolItems/Left</literal>.
</para>
+</refsect2>
+<refsect2>
+<title>Accelerators</title>
+<para>
+Every action has an accelerator path. Accelerators are installed together with
+menuitem proxies, but they can also be explicitly added with <accelerator>
+elements in the UI definition. This makes it possible to have accelerators for
+actions even if they have no visible proxies.
+</para>
+</refsect2>
<refsect2 id="Smart-Separators">
<title>Smart Separators</title>
<para>
separator will end up in such an unfortunate position.
</para>
</refsect2>
-</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
@GTK_UI_MANAGER_MENUITEM: Create a menuitem.
@GTK_UI_MANAGER_TOOLITEM: Create a toolitem.
@GTK_UI_MANAGER_SEPARATOR: Create a separator.
+@GTK_UI_MANAGER_ACCELERATOR: Install an accelerator.
<!-- ##### FUNCTION gtk_ui_manager_add_ui ##### -->
<para>