<big>K</big>ickshaw chấp nhận các phần tử XML và tên thuộc tính, giá trị thuộc tính, và nội dung liên quan đến những phần tử này:

<tt><b>Phần tử:</b>			<b>Tên thuộc tính:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>không áp dụng</i>
 ↳command      		<i>không áp dụng</i>
 ↳startupnotify		<i>không áp dụng</i>
  ↳enabled     		<i>không áp dụng</i>
  ↳icon        		<i>không áp dụng</i>
  ↳name        		<i>không áp dụng</i>
  ↳wmclass     		<i>không áp dụng</i>

					<b>Giá trị thuộc tính:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>Nội dung:</b>
enabled        		yes, no</tt>

ID thực đơn bao gồm chuỗi rỗng là hợp lệ, nhưng giống như bất kỳ ID thực đơn nào khác chỉ có thể xuất hiện một lần trong một thực đơn.

— — —

Hai thực đơn sau đây tương đương và cả hai đều được chấp nhận bởi Openbox và 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>

Một thực đơn luôn được hiển thị trong Kickshaw như nó sẽ xuất hiện trong Openbox, vì vậy ví dụ thứ hai gần hơn với cách tiếp cận WYSIWYG. Nhược điểm là đối với thực đơn lớn, điều này có thể làm cho tệp thực đơn trở nên hơi rối. Vì lý do đó, theo mặc định Kickshaw luôn lưu thực đơn ở định dạng đầu tiên (điều này có thể được thay đổi trong các tùy chọn). Khi lưu một tệp, chương trình mặc định sử dụng dấu tab cho thụt lề, nhưng khi đọc tệp, không quan trọng liệu thụt lề được thực hiện bằng dấu cách hay dấu tab, cũng như bất kỳ khoảng trắng nào.

— — —

Một thực đơn có thể chứa các thuộc tính thực đơn mâu thuẫn, như trong ví dụ sau đây:

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

Trong trường hợp này, Kickshaw theo gương của Openbox và hiển thị giá trị thuộc tính icon từ bên trong thực đơn gốc, trong khi nó hiển thị các giá trị thuộc tính label và execute từ bên ngoài thực đơn gốc.
