Kickshaw aanvaar die volgende XML-elemente en attribuutname, attribuutwaardes en inhoud wat met hierdie elemente verband hou:

<tt><b>Element:</b>			<b>Attribuutname:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		n/a
 ↳command      		n/a
 ↳startupnotify		n/a
  ↳enabled     		n/a
  ↳icon        		n/a
  ↳name        		n/a
  ↳wmclass     		n/a

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

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


Kieslys-ID's wat bestaan uit leë strings is geldig, maar soos enige ander kieslys-ID kan dit net een keer in 'n kieslys voorkom.

— — —

Die volgende kieslyste is ekwivalent en beide word deur Openbox en Kickshaw aanvaar.

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

'n Kieslys word altyd in Kickshaw gewys soos dit in Openbox sou voorkom, dus is die laasgenoemde van die twee voorbeelde nader aan 'n WYSIWYG-benadering. Die nadeel is dat vir groot kieslyste dit 'n kieslyslêer enigsins verwarrend kan laat lyk. Om hierdie rede stoor Kickshaw altyd die kieslys standaard in die eerste formaat (dit kan binne die opsies verander word). Wanneer 'n lêer gestoor word, gebruik die program standaard keepkarakters vir inspringings, maar vir die lees van die lêer is dit onbelangrik of sulke inspringings met spasies of keepkarakters gedoen is, net soos enige wit spasie.

— — —

'n Kieslys kan teenstrydige kieslysattribuute bevat, soos in die volgende voorbeeld:

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

In hierdie geval volg Kickshaw die voorbeeld van Openbox en wys die ikoonattribuutwaarde van binne die root-kieslys, terwyl dit die label- en execute-attribuutwaardes van buite die root-kieslys wys.
