<big>K</big>ickshaw приймає наступні XML елементи та назви атрибутів, значення атрибутів та вміст, асоційовані з цими елементами:

<tt><b>Елемент:</b>			<b>Назви атрибутів:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>не застосовується</i>
 ↳command      		<i>не застосовується</i>
 ↳startupnotify		<i>не застосовується</i>
  ↳enabled     		<i>не застосовується</i>
  ↳icon        		<i>не застосовується</i>
  ↳name        		<i>не застосовується</i>
  ↳wmclass     		<i>не застосовується</i>

					<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 ззовні кореневого меню.
