<big>K</big>ickshaw akceptuje nasledujúce XML elementy a názvy atribútov, hodnoty atribútov a obsahy spojené s týmito elementmi:

<tt><b>Element:</b>			<b>Názvy atribútov:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>neaplikovateľné</i>
 ↳command      		<i>neaplikovateľné</i>
 ↳startupnotify		<i>neaplikovateľné</i>
  ↳enabled     		<i>neaplikovateľné</i>
  ↳icon        		<i>neaplikovateľné</i>
  ↳name        		<i>neaplikovateľné</i>
  ↳wmclass     		<i>neaplikovateľné</i>

					<b>Hodnoty atribútov:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

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

ID ponuky pozostávajúce z prázdnych reťazcov sú platné, ale ako každé iné ID ponuky sa môže v ponuke objaviť len raz.

— — —

Nasledujúce ponuky sú ekvivalentné a obe sú akceptované Openboxom aj Kickshawom.

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

Ponuka je v Kickshaw vždy zobrazená tak, ako by sa zobrazila v Openboxe, takže druhý z dvoch príkladov je bližšie k prístupu WYSIWYG. Nevýhodou je, že pri veľkých ponukách to môže spôsobiť, že súbor ponuky vyzerá trochu zmätočne. Z toho dôvodu Kickshaw predvolene vždy ukladá ponuku vo forme prvého príkladu (to možno zmeniť v predvoľbách).

Pri ukladaní súboru program predvolene používa tabulátory na odsadenie, ale pri čítaní súboru je irelevantné, či boli takéto odsadenia vykonané medzerami alebo tabulátormi, rovnako ako akýkoľvek prázdny znak.

— — —

Ponuka môže obsahovať protirečiace atribúty ponuky, ako v nasledujúcom príklade:

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

V tomto prípade Kickshaw nasleduje príklad Openboxu a zobrazuje hodnotu atribútu icon z vnútra koreňovej ponuky, zatiaľ čo zobrazuje hodnoty atribútov label a execute zvonka koreňovej ponuky.
