<big>K</big>ickshaw приема следните XML елементи и имена на атрибути, стойности на атрибути и съдържание, асоциирани с тези елементи:

<tt><b>Елемент:</b>			<b>Имена на атрибути:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		неприложим
 ↳command      		неприложим
 ↳startupnotify		неприложим
  ↳enabled     		неприложим
  ↳icon        		неприложим
  ↳name        		неприложим
  ↳wmclass     		неприложим

					<b>Стойности на атрибути:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>Съдържание:</b>
enabled        		yes, no</tt>

ID-та на меню, състоящи се от празни низове, са валидни, но както всяко друго ID на меню, могат да се появят само веднъж в менюто.

— — —

Следните менюта са еквивалентни и двете се приемат от Openbox и 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>

Менюто винаги се показва в Kickshaw така, както би изглеждало в Openbox, така че вторият от двата примера е по-близо до подхода WYSIWYG. Недостатъкът е, че при големи менюта това може да направи файла с меню да изглежда малко объркващо. Поради тази причина, по подразбиране Kickshaw винаги запазва менюто в първия формат (това може да бъде променено в опциите).

При запазване на файл, програмата по подразбиране използва табове за отстъпи, но при четене на файла няма значение дали такива отстъпи са направени с интервали или табове, както и всякакво празно пространство.

— — —

Меню може да съдържа противоречиви атрибути на менюто, както в следния пример:

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

В този случай Kickshaw следва примера на Openbox и показва стойността на атрибута icon отвътре в коренното меню, докато показва стойностите на атрибутите label и execute извън коренното меню.
