<big>K</big>ickshaw accepterer følgende XML-elementer og de attributnavne, attributværdier og indhold, som er tilknyttet disse elementer:

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

					<b>Attributværdier:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

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

Menu-ID'er bestående af tomme strenge er gyldige, men ligesom ethvert andet Menu-ID kan de kun forekomme én gang i en menu.

— — —

Følgende menuer er ensbetydende og begge accepteres af 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 menu vises altid i Kickshaw, som den ville se ud i Openbox, så det sidstnævnte af de to eksempler er tættere på en WYSIWYG-tilgang. Ulempen er, at for store menuer kan dette få en menufil til at se forvirrende ud. Derfor gemmer Kickshaw som standard altid menuen i det førstnævnte format (dette kan ændres i indstillingerne).

Ved gemning af en fil bruger applikationen som standard tab til indrykning, men når filen indlæses, er det ligegyldigt, om sådan indrykning blev lavet med mellemrum eller tab, ligesom alle andre mellemrum.

— — —

En menu kan indeholde modstridende menuattributter, 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 tilfælde følger Kickshaw eksemplet fra Openbox og viser icon-attributværdien fra inden i rodmenuen, mens den viser label- og execute-attributværdierne uden for rodmenuen.
