Menuen definizio-fitxategiak

GNOMEren menu-barrako menuen hierarkia definitzen dute menu-fitxategiek. Erabiltzaileen menuak pertsonaliza daitezke fitxategi horiek aldatuz; aldatutako applications.menu fitxategiaren kokalekuaren arabera, erabiltzaile guztien edo bakar baten menuak aldatzen dira.

Menu-fitxategiek hemen egon behar dute: $XDG_CONFIG_DIRS/menus/applications.menu. $XDG_CONFIG_DIRS1 ezarria ez badago, /etc/xdg bide-izen lehenetsia erabiltzen da. Ondorioz, erabiltzaile baten berariazko bertsioa $XDG_CONFIG_HOME/menus/applications.menu fitxategian ere koka daiteke, hor bilatzen baita lehendabizi. $XDG_CONFIG_HOME ezarria ez badago, ~/.config bide-izen lehenetsia erabiltzen da. applications.menu fitxategi bat baino gehiago daudenean, lehentasuna dute $XDG_CONFIG_DIRSen lehenbizi agertzen direnek. Aurkitzen den lehen fitxategia erabiltzen da, eta gainerakoei ezikusi egiten zaie.

Bide-izenen bilaketa-ordenari buruzko zalantzak badituzu, hona hemen applications.menu fitxategiaren kokalekua erabakitzeko zerrenda bat:

  1. Arakatu $XDG_CONFIG_HOMEko direktorio guztiak, menus/applications.menu aurkitzeko. $XDG_CONFIG_HOME ezarria ez badago, ~/.config da direktorio lehenetsia.
  2. Arakatu $XDG_CONFIG_DIRSeko direktorio guztiak, menus/applications.menu aurkitzeko. $XDG_CONFIG_DIRS ezarria ez badago, /etc/xdg/ da direktorio lehenetsia.
  3. Erabili aurkitutako lehen applications.menu fitxategia.

.menu fitxategien adibide bat dago hemen: 2-1. adibidea. Adibide horretan, Applications izena du maila goreneko menuak, eta <Name> elementuaren bidez zehazten da. Applications menuan azpimenu bakar bat dago, baina bat baino gehiago egon daitezke. Azpimenu bakoitzak <Include> elementua izan dezake. Parekatze-arauak erabiliz mahaigaineko sarrera erabilgarrien multzoa iragaztea da <Include>(r)en helburua.

Adibidez, oinarrizko parekatze-araua da <Category> elementua, eta mahaigaineko sarrera hautatzen du soilik Categories gakoak <Category> elementuaren edukia badauka. Adibidean, mahaigaineko sarrera bat sartuko du Accessories menuak, soilik Kategoriak gakoan “Utility” badauka, baina “System” ez badauka. Kategoriak gakoari buruzko informazio gehiago behar baduzu, ikus 2.3. atala ― Mahaigaineko sarrera-fitxategiak.

2-1. adibidea.menu fitxategiaren adibidea

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
  <Name>Applications</Name>
  <Directory>Applications.directory</Directory>

  <!-- Read standard .directory and .desktop file locations -->
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>

  <!-- Accessories submenu -->
  <Menu>
    <Name>Accessories</Name>
    <Directory>Accessories.directory</Directory>
    <Include>
      <And>
        <Category>Utility</Category>
        <Not>
          <Category>System</Category>
        </Not>
      </And>
    </Include>
  </Menu> <!-- End Accessories -->

  <!-- possibly more submenus -->

</Menu> <!-- End Applications -->

.menu fitxategietako elementu batzuk azaltzen dira hemen: 2-1. taula. Azalpen zehatzagoa nahi izanez gero, ikus XDG menu-zehaztapena.

2-1. taulaMenuen definizio-fitxategien elementuak
Elementua Azalpena
<Menu> Azpimenuak definitzen dituzten <Menu> elementu habiaratuak eduki ditzakeen erroko elementua. Elementu horiek habiaratzeko erak zehazten du menu-egitura.
<Name> Menuaren izena zehazten du. <Menu> elementu guztiek <Name> elementu bat izan behar dute.
<Directory>

Menuaren izena, iruzkina eta ikonoa zehazten dituen direktorioko sarrera-fitxategiaren izena zehazten du. Elementu hori zehaztua ez badago, <Name> elementua erabiltzen da menuaren izena bistaratzeko.

Lehenespenez, .directory fitxategiak bilatzen dira $XDG_DATA_DIRS/desktop-directories/ kokalekuan, XDG menu-zehaztapena-n adierazi bezala.

<DefaultAppDirs> Hori instrukzio bat da, eta $XDG_DATA_DIRS/applications/(e)ko mahaigaineko sarrera erabilgarri guztiak eskaneatu behar direla adierazten du. Instrukzio hau sartzen ez bada, mahaigaineko sarrerak ez dira bilatzen kokaleku horietan.
<DefaultDirectoryDirs> Hori instrukzio bat da, eta $XDG_DATA_DIRS/desktop-directories/(e)ko direktorioko sarrera erabilgarri guztiak eskaneatu behar direla adierazten du. Instrukzio hau sartzen ez bada, direktorioko sarrerak ez dira bilatzen kokaleku horietan.
<Include> Menuen edukiak sortzeko parekatze-arauen zerrenda bat dauka. Parekatze-arau hauek eduki ditzake: <Filename>, <Category>, <And>, <Or>, <Not>, edo <All>. Arau bat baino gehiago badago, EDO logikoa aplikatzen zaie, edozein araurekin bat datorren mahaigaineko sarrerak sartzeko.
<Exclude> <Include> ez bezala; izan ere, sartutako elementuen aurreko sortatik kanpo uzten dira elementu horretan bat datozen mahaigaineko sarrerak. Hori dela eta, elementu horrek beste elementu honen ondoren agertu behar du: <Include>.
<Filename> Mahaigaineko fitxategiaren IDa <Filename> elementuaren edukiarekin bat datorrenean, mahaigaineko sarrera hautatzen duen parekatze-araua.
<Category> Kategoriak gakoa <Category> elementuaren edukiarekin bat datorrenean, mahaigaineko sarrera hautatzen duen parekatze-araua.
<And> <And> elementuko parekatze-arau habiaratuek (denek) hautatua dutenean, mahaigaineko sarrera hautatzen duten parekatze-araua.
<Or> <Or> elementuko edozein parekatze-arau habiaratuk hautatua duenean, mahaigaineko sarrera hautatzen duten parekatze-araua.
<Not> <Not> elementuko edozein parekatze-arau habiaratuk hautatua duenean, mahaigaineko sarrera hautatzen ez duten parekatze-araua.
<All> mahaigaineko sarrerak (guztiak) hautatzen dituen parekatze-araua.
1

$XDG_CONFIG_DIRS ingurune-aldagaia hemen definitua dago: XDGren oinarri-direktorioaren zehaztapena.