<big>K</big>ickshaw akceptuje následující XML značky a názvy atributů, hodnoty atributů a obsah spojený s těmito značkami:

<tt><b>Element:</b>			<b>Názvy atributů:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		<i>netýká se</i>
 ↳command      		<i>netýká se</i>
 ↳startupnotify		<i>netýká se</i>
  ↳enabled     		<i>netýká se</i>
  ↳icon        		<i>netýká se</i>
  ↳name        		<i>netýká se</i>
  ↳wmclass     		<i>netýká se</i>

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

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

ID nabídky s prázdnými řetězci jsou platná, ale jako jakékoliv jiné ID nabídky se mohou v nabídce objevit pouze jednou.

— — —

Následující nabídky jsou ekvivalentní a obě jsou přijímány Openboxem a Kickshawem.

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

Nabídka je vždy zobrazena v Kickshaw tak, jak by se zobrazila v Openboxu, takže druhý ze dvou příkladů je blíže k přístupu WYSIWYG. Nevýhodou je, že u velkých nabídek to může způsobit, že soubor nabídky vypadá trochu matoucí. Z toho důvodu Kickshaw ve výchozím nastavení vždy ukládá nabídku ve formátu první varianty (to lze změnit v předvolbách).

Při ukládání souboru program ve výchozím nastavení používá tabulátory pro odsazení, ale při načítání souboru je zcela irelevantní, zda byla tato odsazení provedena pomocí mezer nebo tabulátorů, stejně jako jakákoli bílá místa.

— — —

Nabídka může obsahovat protichůdné atributy nabídky, jak ukazuje následující příklad:

<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 případě Kickshaw následuje příklad Openboxu a zobrazuje hodnotu atributu icon z kořenové nabídky, zatímco zobrazuje hodnoty atributů label a execute z vnější nabídky.
