Redigera användarmenyer och menysammanslagning

Du kan använda följande GNOME-skrivbordsprogram för att redigera menyer för användare:

  • Menyredigerare för GNOME

En enkel menyredigerare finns tillgänglig för användare för att redigera sina menyer. För mer information, se Arbeta med menyer i Användarguide för skrivbordet. Alternativt kan du manuellt skapa och redigera en användarmenyfil.

För att manuellt skapa en anpassad meny för en användare, måste $XDG_CONFIG_HOME/menus/applications.menu finnas. Om inte $XDG_CONFIG_HOME är inställd, kommer standardkatalogen ~/.config att användas. Eftersom det här är den första platsen som söks igenom efter filen applications.menu, kommer den att användas istället för alla andra menyfiler.

Användarmenyer kan innehålla alla elementen som beskrivs i Avsnitt 2.2 ― Menydefinitionsfiler. För en fullständig lista över de tillåtna elementen, se XDG menu specification.

Eftersom användarmenyfiler åsidosätter systemmenyfilerna, kommer de att totalt ersätta systemmenyn såvida inte de uttryckligen slås samman med systemmenyn. Information om sammanslagning av menyer finns tillgänglig i följande underavsnitt.

2.6.1. Slå samman systemmenyn

Ofta vill en användare lägga till eller ta bort menyobjekt i tillägg till standardsystemmenyn. För att ge stöd till enstaka ändringar som dessa, rekommenderas det att du använder <MergeFile>-elementet med attributet type="parent" inom användarens applications.menu-fil.

<MergeFile>-elementet tillåter att en meny slås samman med innehållet för användarens menyfil. När du anger attributet type="parent", kommer innehållet i <MergeFile>-elementet att ignoreras och nästa applications.menu-fil i katalogen $XDG_CONFIG_DIRS/menus att användas för sammanslagning.

Äldre specifikationer

Äldre specifikationer inkluderade inte attributet type och krävde helt enkelt att platsen för menyfilen skulle slås samman till innehållet för <MergeFile>-elementet. Som ett resultat av det kanske du fortfarande ser en plats angiven i innehållet för <MergeFile>, även när type="parent".

Sammanslagningen genomförs på följande sätt:

  • Barnet för rotelementet <Menu> i den sammanslagna menyfilen1 ersätts av <MergeFile>-elementet i basmenyfilen.
  • Alla <Menu>-barnelement med samma namn konsolideras till ett enda <Menu>-element. Det här görs genom att lägga till alla barnelement för varje <Menu>-element med samma namn till den sista förekomsten av menyelementet.

Exempel 2-3 visar ett exempel på en användarmenyfil som uttryckligen slår samman systemmenyfilen.

Exempel 2-3Slå samman systemmenyn
<!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. Slå samman godtyckliga menyer

Godtyckliga menyfiler kan slås samman på i stort sett samma sätt som systemmenyer. Skillnaden är att type-attributet måste ställas in till path eller måste undantas från <MergeFile>-elementet för att den här typen av sammanslagning.

Sammanslagningen genomförs på samma sätt förutom att platsen för den sammanslagna menyfilen anges i innehållet för <MergeFile>-elementet.

1

Sammanslagen menyfil refererar till nästa applications.menu i katalogen $XDG_CONFIG_DIRS/menus.