Kickshaw ยอมรับองค์ประกอบ 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>

รหัสเมนูที่ประกอบด้วยสตริงว่างถือว่าถูกต้อง แต่เช่นเดียวกับรหัสเมนูอื่นๆ สามารถปรากฏในเมนูได้เพียงครั้งเดียวเท่านั้น

— — —

เมนูต่อไปนี้เท่ากันและทั้งสองได้รับการยอมรับโดย 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 จากภายนอกเมนูราก
