Kickshawは以下の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>

空文字列のメニューIDも有効ですが、他のメニューIDと同様にメニュー内で1回しか使用できません。

— — —

以下のメニューは同等で、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と同じように表示されるため、2つの例のうち後者のほうが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属性値を表示します。
