<big>K</big>ickshaw akceptuje následující XML elementy a jména atributů, hodnoty atributů a obsah spojený s těmito elementy:

<tt><b>Element:</b>			<b>Jména atributů:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>nedostupné</i>
 ↳command      		<i>nedostupné</i>
 ↳startupnotify		<i>nedostupné</i>
  ↳enabled     		<i>nedostupné</i>
  ↳icon        		<i>nedostupné</i>
  ↳name        		<i>nedostupné</i>
  ↳wmclass     		<i>nedostupné</i>

					<b>Hodnoty atributů:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

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

ID nabídky s prázdnými řetězci jsou platná, ale jako jakékoliv jiné ID nabídky mohou být v nabídce zobrazena pouze jednou.

— — —

Následující menu jsou ekvivalentní a oba jsou přijímány Openboxem a Kickshawem.

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

Menu je vždy zobrazeno v Kickshaw jako by se zobrazilo v Openboxu, takže druhý ze dvou příkladů je blíže k přístupu WYSIWYG. Nevýhodou je, že pro velká menu to může způsobit, že vypadá soubor s menu trochu matoucí. Z toho důvodu Kickshaw vždy implicitně ukládá menu ve formátu prvního příkladu (to lze změnit v nastavení). Při ukládání souboru program implicitně používá tabulátory pro odsazení, ale při čtení souboru je zcela irelevantní, zda byla tato odsazení provedena pomocí mezer nebo tabulátorů, stejně jako mezery.

— — —

Menu může obsahovat protichůdné atributy menu, jak ukazuje následující příklad:

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

V tomto případě Kickshaw následuje příklad Openboxu a zobrazuje hodnotu atributu icon z vnitřního menu, zatímco zobrazuje hodnoty atributu label a execute z vnějšího menu.
