<big>K</big>ickshaw menerima elemen-elemen XML berikut beserta nama-nama atribut, nilai-nilai atribut, dan konten yang terkait dengan elemen-elemen ini:

<tt><b>Elemen:</b>				<b>Nama atribut:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>tidak berlaku</i>
 ↳command      		<i>tidak berlaku</i>
 ↳startupnotify		<i>tidak berlaku</i>
  ↳enabled     		<i>tidak berlaku</i>
  ↳icon        		<i>tidak berlaku</i>
  ↳name        		<i>tidak berlaku</i>
  ↳wmclass     		<i>tidak berlaku</i>

					<b>Nilai atribut:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>Isi:</b>
enabled        		yes, no</tt>

ID Menu yang terdiri dari string kosong adalah sah, tetapi seperti ID menu lainnya, hanya dapat muncul sekali dalam satu menu.

— — —

Menu-menu berikut ini setara dan dapat diterima oleh Openbox dan 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>

Menu selalu ditampilkan dalam Kickshaw seperti yang akan muncul di Openbox, jadi contoh kedua dari dua contoh tersebut lebih mendekati pendekatan WYSIWYG. Kekurangannya adalah bahwa untuk menu yang besar, ini dapat membuat berkas menu terlihat agak membingungkan. Oleh karena itu, secara default Kickshaw selalu menyimpan menu dalam format pertama (ini dapat diubah dalam opsi). Saat menyimpan berkas, program menggunakan tabulator untuk indentasi secara default, tetapi saat membaca berkas, apakah indentasi tersebut dilakukan dengan spasi atau tabulator tidak relevan, begitu juga dengan spasi.

— — —

Sebuah menu dapat mengandung atribut menu yang bertentangan, seperti dalam contoh berikut:

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

Dalam hal ini, Kickshaw mengikuti contoh dari Openbox dan menampilkan nilai atribut icon dari dalam menu root, sementara menampilkan nilai atribut label dan execute dari luar menu root.
