<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 aktuelt</i>
 ↳command      		<i>ikke aktuelt</i>
 ↳startupnotify		<i>ikke aktuelt</i>
  ↳enabled     		<i>ikke aktuelt</i>
  ↳icon        		<i>ikke aktuelt</i>
  ↳name        		<i>ikke aktuelt</i>
  ↳wmclass     		<i>ikke aktuelt</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 kan som alle andre meny-ID-er bare forekomme é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 i Kickshaw som den ville sett ut i Openbox, så sistnevnte 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 førstnevnte format (dette kan endres i innstillingene).

Ved lagring av en fil bruker programmet som standard tab for innrykk, men for lesing av filen er det irrelevant om slike innrykk ble gjort med mellomrom eller tab, og det er heller ikke relevant med blanktegn.

— — —

En meny kan inneholde motstridende attributter, 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 icon-attributtverdien fra i rotmenyen, mens den viser label- og execute-attributtverdiene fra utenfor rotmenyen.
