<big>K</big>ickshaw godtar følgende XML-elementer og attributtnavn, attributtverdier og innhold knyttet til disse elementene:

<tt><b>Element:</b>			<b>Attributtnavn:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>ikke gjeldende</i>
 ↳command      		<i>ikke gjeldende</i>
 ↳startupnotify		<i>ikke gjeldende</i>
  ↳enabled     		<i>ikke gjeldende</i>
  ↳icon        		<i>ikke gjeldende</i>
  ↳name        		<i>ikke gjeldende</i>
  ↳wmclass     		<i>ikke gjeldende</i>

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

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

Meny-ID-er som består av tomme strenger er gyldige, men som alle andre meny-ID-er kan de bare vises én gang i en meny.

— — —

Følgende menyer er likeverdige og aksepteres av både Openbox og 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>

En meny vises alltid inne i Kickshaw som den ville sett ut i Openbox, så det siste av de to eksemplene er nærmere en WYSIWYG-tilnærming. Ulempen er at for store menyer kan dette gjøre en menyfil noe forvirrende. Derfor lagrer Kickshaw som standard alltid menyen i det første formatet (dette kan endres i alternativene). Ved lagring av en fil bruker programmet som standard tabulatorer for innrykk, men for lesing av filen er det irrelevant om slike innrykk ble gjort med mellomrom eller tabulatorer, og det er heller ikke relevant med hvilken som helst hvitspaces.

— — —

En meny kan inneholde motstridende menyattributter, som i følgende eksempel:

<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>

I dette tilfellet følger Kickshaw eksempelet til Openbox og viser attributtverdien for «icon» fra inne i rotmenyen, mens den viser «label»- og «execute»-attributtverdiene fra utenfor rotmenyen.
