<big>K</big>ickshaw accepterer følgende XML-elementer og attributnavne, attributværdier og indhold, der er associeret med 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 enhver anden 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 indeni Kickshaw, som den ville se ud i Openbox, så det sidste 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 noget forvirrende ud. Af den grund gemmer Kickshaw altid menuen som standard i det første format (dette kan ændres i indstillingerne). Ved lagring af en fil bruger programmet som standard tabulatorer til indrykning, men når filen læses, er det ligegyldigt, om sådanne indrykninger blev lavet med mellemrum eller tabulatorer, ligesom al anden 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 indeni rodmenuen, mens den viser „label“ og „execute“ attributværdierne udefra rodmenuen.
