<big>K</big>ickshaw, aşağıdaki XML öğelerini ve öğelerle ilişkili nitelik adlarını, nitelik değerlerini ve içerikleri kabul eder:

<tt><b>Öğe:</b>				<b>Nitelik adları:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>uygulanamaz</i>
 ↳command      		<i>uygulanamaz</i>
 ↳startupnotify		<i>uygulanamaz</i>
  ↳enabled     		<i>uygulanamaz</i>
  ↳icon        		<i>uygulanamaz</i>
  ↳name        		<i>uygulanamaz</i>
  ↳wmclass     		<i>uygulanamaz</i>

					<b>Nitelik değerleri:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>İçerikler:</b>
enabled        		yes, no</tt>

Boş dize içeren menü kimlikleri geçerlidir, ancak diğer menü kimlikleri gibi bir menüde yalnızca bir kez görünebilir.

— — —

Aşağıdaki menüler hem Openbox hem de Kickshaw tarafından kabul edilen eşdeğer menülerdir.

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

Bir menü Kickshaw içinde her zaman Openbox'ta görüneceği gibi gösterilir, bu nedenle iki örnekten ikincisi WYSIWYG yaklaşımına daha yakındır. Dezavantajı, büyük menüler için bir menü dosyasının biraz kafa karıştırıcı görünmesine neden olabilir. Bu nedenle, varsayılan olarak Kickshaw her zaman menüyü ilk formatta kaydeder (bu seçenekler içinde değiştirilebilir). Bir dosyayı kaydederken, program varsayılan olarak girintiler için sekme karakterlerini kullanır, ancak dosyayı okurken bu girintilerin boşluklarla veya sekme karakterleriyle yapılıp yapılmadığı veya boşlukların önemli olup olmadığı önemli değildir.

— — —

Bir menü, aşağıdaki örnekte olduğu gibi çelişkili menü niteliklerini içerebilir:

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

Bu durumda, Kickshaw, içerideki root menüden gelen icon niteliği değerini gösterirken, dışarıdaki root menüden gelen label ve execute nitelik değerlerini gösterir ve Openbox örneğini takip eder.
