<big>K</big>ickshaw accepteert de volgende XML-elementen en kenmerknamen, kenmerkwaarden en inhoud die bij deze elementen horen:

<tt><b>Element:</b>			<b>Kenmerknamen:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>niet van toepassing</i>
 ↳command      		<i>niet van toepassing</i>
 ↳startupnotify		<i>niet van toepassing</i>
  ↳enabled     		<i>niet van toepassing</i>
  ↳icon        		<i>niet van toepassing</i>
  ↳name        		<i>niet van toepassing</i>
  ↳wmclass     		<i>niet van toepassing</i>

					<b>Kenmerkwaarden:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>Inhoud:</b>
enabled        		yes, no</tt>

Menu-ID's die bestaan uit lege tekenreeksen zijn geldig, maar kunnen net als elke andere menu-ID slechts één keer voorkomen in een menu.

— — —

De volgende menu's zijn gelijkwaardig en worden beide geaccepteerd door Openbox en Kickshaw.

<tt><b>(1)</b> &lt;openbox_menu&gt;

      &lt;menu id="menu1" label="Menu1"&gt;
        &lt;item label="item"/&gt;
      &lt;/menu&gt;

      &lt;menu id="root-menu"&gt;
        &lt;menu id="menu1"/&gt;
      &lt;/menu&gt;

    &lt;/openbox_menu&gt;</tt>

<tt><b>(2)</b> &lt;openbox_menu&gt;

      &lt;menu id="root-menu"&gt;
        &lt;menu id="menu1" label="Menu1"&gt;
          &lt;item label="item"/&gt;
        &lt;/menu&gt;
      &lt;/menu&gt;

    &lt;/openbox_menu&gt;</tt>

Een menu wordt in Kickshaw altijd weergegeven zoals het in Openbox zou verschijnen, dus het laatstgenoemde van de twee voorbeelden ligt dichter bij een WYSIWYG-benadering. Het nadeel is dat dit bij grote menu's een menubestand enigszins verwarrend kan maken. Om die reden slaat Kickshaw het menu standaard altijd op in het eerstgenoemde formaat (dit kan worden gewijzigd in de instellingen). Bij het opslaan van een bestand gebruikt het programma standaard tabs voor inspringing, maar bij het lezen van het bestand is het niet van belang of deze inspringing is gedaan met spaties of tabs, net zoals andere witruimte.

— — —

Een menu kan tegenstrijdige menukenmerken bevatten, zoals in het volgende voorbeeld:

<tt>&lt;openbox_menu&gt;

  &lt;menu id="menu1" label="outside" icon="out.jpg" execute="out" /&gt;

  &lt;menu id="root-menu"&gt;
    &lt;menu id="menu1" label="inside" icon="in.jpg" execute="in" /&gt;
  &lt;/menu&gt;

&lt;/openbox_menu&gt;</tt>

In dit geval volgt Kickshaw het voorbeeld van Openbox en toont het de waarde van het icon-kenmerk vanuit het menu binnen het wortelmenu, terwijl het de waarden van de label- en execute-kenmerken toont vanuit het menu buiten het wortelmenu.
