Kickshaw接受以下XML元素同屬性名、屬性值同埋同呢啲元素相關嘅內容：

<tt><b>元素:</b>				<b>屬性名:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		n/a
 ↳command      		n/a
 ↳startupnotify		n/a
  ↳enabled     		n/a
  ↳icon        		n/a
  ↳name        		n/a
  ↳wmclass     		n/a

					<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屬性值。
