<big>K</big>ickshaw прымае наступныя элементы XML і звязаныя з гэтымі элементамі імёны атрыбутаў, значэнні атрыбутаў і змест:

<tt><b>Элемент:</b>			<b>Імёны атрыбутаў:</b>
menu           		id, label, icon, execute
separator      		label
item           		label, icon
↳action        		name
 ↳prompt       		не прымяняецца
 ↳command      		не прымяняецца
 ↳startupnotify		не прымяняецца
  ↳enabled     		не прымяняецца
  ↳icon        		не прымяняецца
  ↳name        		не прымяняецца
  ↳wmclass     		не прымяняецца

					<b>Значэнні атрыбутаў:</b>
action         		Execute, Exit, Reconfigure,
               		Restart, SessionLogout

					<b>Змест:</b>
enabled        		yes, no</tt>

Ідэнтыфікатары меню, якія складаюцца з пустых радкоў, з'яўляюцца сапраўднымі, але, як і любы іншы ідэнтыфікатар меню, могуць з'яўляцца толькі адзін раз у меню.

— — —

Наступныя меню эквівалентныя і абодва прымаюцца Openbox і 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>

Меню заўсёды адлюстроўваецца ўнутры Kickshaw так, як яно будзе выглядаць у Openbox, таму другі з двух прыкладаў бліжэй да падыходу WYSIWYG. Мінус у тым, што для вялікіх меню гэта можа зрабіць файл меню крыху блытаным. Па гэтай прычыне па змаўчанні Kickshaw заўсёды захоўвае меню ў першым згаданым фармаце (гэта можна змяніць у опцыях). Пры захаванні файла праграма выкарыстоўвае табуляцыю для водступаў па змаўчанні, але пры чытанні файла не мае значэння, ці былі такія водступы зроблены з дапамогай прабелаў ці табуляцыі, як і любы іншы прабел.

— — —

Меню можа ўтрымліваць супярэчлівыя атрыбуты меню, як у наступным прыкладзе:

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

У гэтым выпадку Kickshaw ідзе за прыкладам Openbox і паказвае значэнне атрыбута «icon» знутры каранёвага меню, у той час як ён паказвае значэнні атрыбутаў «label» і «execute» звонку каранёвага меню.
