Úprava uživatelských nabídek a připojování nabídky

K úpravě nabídek pro uživatele můžete použít následující aplikace pracovního prostředí GNOME:

  • Editor nabídek

Pro uživatele je k dispozici jednoduchý editor nabídek, aby si mohli upravovat své nabídky. Více informací najdete v kapitole Práce s nabídkami v Uživatelské příručce GNOME. Samozřejmě máte možnost vytvářet a upravovat soubory uživatelských nabídek ručeně.

Abyste mohli vytvářet vlastní nabídky pro uživatele, musí existovat $XDG_CONFIG_HOME/menus/applications.menu. V případě, že není nastavená $XDG_CONFIG_HOME, použije se výchozí složka ~/.config. Vzhledem k tomu, že se jedná o první umístění, ve kterém se hledá soubor applications.menu, má přednost před všemi ostatními soubory nabídek.

Uživatelské nabídky mohou obsahovat všechny elementy, které popisuje Oddíl 2.2 ― Soubory s definicí nabídky. Kompletní seznam povolených elementů najdete ve Specifikaci nabídky do XDG.

Vzhledem k tomu, že soubory uživatelských nabídek mají přednost před soubory systémové nabídky, úplně nahradí systémovou nabídku, ledaže systémovou nabídku vyloženě připojíte. Informace o připojování nabídky jsou uvedené v následující podkapitole.

2.6.1. Připojování systémové nabídky

Uživatel chce často jen přidat nebo smazat položky standardní systémové nabídky. Pro takové případy jednoduchých změn je doporučené, abyste použili element <MergeFile> s atributem type="parent" v uživatelově souboru applications.menu.

Element <MergeFile> dovoluje nabídku připojit k obsahu souboru uživatelovy nabídky. Když zadáte atribut type="parent", obsah elementu <MergeFile> je ignorován a k připojení je použit následující soubor applications.menu ve složce $XDG_CONFIG_DIRS/menus.

Starší specifikace

Starší specifikace neobsahuje atribut type a jednoduše vyžaduje umístění souboru nabídky, která se má připojit, jako obsah elementu <MergeFile>. Výsledkem je, že stále můžete vidět umístění zadané jako obsah <MergeFile>, přestože je uvedeno type="parent".

Připojování se provádí následovně:

  • Element <MergeFile> v souboru základní nabídky je zastupován pomocí potomka kořenového elementu <Menu>v souboru připojené nabídky1.
  • Všichni potomci elementů <Menu> se stejným názvem jsou sloučeni do jednoho elementu <Menu>. To se provádí připojením všech elementů potomků každého elementu <Menu> se stejným názvem do posledního výskytu elementu menu.

Příklad 2-3 přináší ukázku souboru nabídky uživatele s výslovně připojeným souborem systémové nabídky.

Příklad 2-3Připojování systémové nabídky
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">

<Menu>
  <Name>Applications</Name>
  <MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile>
  <Menu>
    <Name>Accessibility</Name>
    <Exclude>
      <Filename>dasher.desktop</Filename>
    </Exclude>
  </Menu>
</Menu>

2.6.2. Slučování libovolných nabídek

Soubory libovolné nabídky lze sloučit v podstatě stejným způsobem jako systémové nabídky. Rozdíl je akorát v tom, že atribut type musí být nastavený na path nebo musí být v elementu <MergeFile> pro tento typ slučování vynechaný.

Sloučení se provede stejným způsobem, akorát umístění souboru slučované nabídky je zadané v obsahu elementu <MergeFile>.

1

Přípojený soubor nabídky odkazuje na následující applications.menu ve složce $XDG_CONFIG_DIRS/menus.