<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, fakat herhangi bir diğer menü kimliği gibi, bir menüde sadece bir kez yer alabilirler.

— — —

Aşağıdaki menüler eşdeğerdir ve hem Openbox hem de Kickshaw tarafından kabul edilirler.

<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 mı yoksa sekme karakterleriyle mi yapıldığı, aynı şekilde herhangi bir boşluğun varlığı da önemsizdir.

— — —

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 Openbox'ın örneğini takip ederek, root menünün içinden icon niteliğinin değerini gösterir, ancak root menünün dışından label ve execute niteliklerinin değerlerini gösterir.
