<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 trình đơn bao gồm chuỗi rỗng là hợp lệ, nhưng giống như bất kỳ ID trình đơn nào khác chỉ có thể xuất hiện một lần trong một menu.

— — —

Hai menu 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 menu 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 menu lớn, điều này có thể làm cho tệp menu trở nên hơi rối. Vì lý do đó, theo mặc định Kickshaw luôn lưu menu ở đị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 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 tab, cũng như bất kỳ khoảng trắng nào.

— — —

Một menu có thể chứa các thuộc tính menu 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 trình đơ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 trình đơn gốc.
