Xfce Wiki

Sub domains
 

Tilpas menuen i Xfce

Denne side beskriver hvordan du tilpasser menuen ved brug af xfcesktop 4.5 eller højere og libxfce4menu til dit skrivebord. Bemærk, at der ikke findes en grafisk menuredigering til 4.6. Vi håber den vil komme tilbage i 4.8.

Hvad installerer xfdesktop

Xfdesktop installerer en menufil samt skrivebordsposter til menuen root (Kør, Terminal, Filhåndtering, …). For at tilpasse din menu skal du ændre disse.

Redigér menufilen

Opret mappe ~/.config/menus (hvis denne ikke findes allerede):

mkdir ${XDG_CONFIG_HOME:-~/.config}/menus/

Kopiér den installerede til din hjemmemappe:

cp $prefix/etc/xdg/menus/xfce-applications.menu ${XDG_CONFIG_HOME:-~/.config}/menus

Skjul root-poster

Hvis du vil fjerne menuelementer fra root-menuen, skal du kopiere de specifikke skrivebordspostfiler til din hjemmemappe, og derefter tilføj/ændr nøgleposten NoDisplay i disse. Mere information omkring de anvendte skrivebordspostfiler kan findes her.

xfdesktop installerer de følgende skrivebordspostfiler:

  • $prefix/share/applications/xfce4-about-xfce.desktop
  • $prefix/share/applications/xfce4-file-manager.desktop
  • $prefix/share/applications/xfce4-help.desktop
  • $prefix/share/applications/xfce4-logout.desktop
  • $prefix/share/applications/xfce4-run-program.desktop
  • $prefix/share/applications/xfce4-terminal.desktop
  • $prefix/share/applications/xfce4-web-browser.desktop

For at skjule en specifik skrivebordspostfil kopierer du det til din hjemmemappe, som eks.:

cp $prefix/share/applications/xfce4-web-browser.desktop ~/.local/share/applications

og derefter ændre eller tilføj skrivebordspostnøglen NoDisplay:

NoDisplay=true

Fosel mellem NoDisplay og Hidden

Hvis du har gennemset specifikationerne til skrivebordspostfilen, har du måske allerede bemærket forskellen mellem disse to postnøgler. NoDisplay vil skjule programmet fra menuen men MIME-tilknytningen vil stadig blive læst af Thunar (som eksempel). Indstilling af postnøglen Hidden til true fungerer som sletning af filen.

Opret root-poster

Dine egne menuelementer findes i ~/.local/share/applications.

I denne kan du oprette skrivebordsfilposter som standard pr menuelement. som eksempel for et menuelement til opstart af Eclipse, oprette en fil navngivet eclipse.desktop i ~/.local/share/applications:

[Desktop Entry]
Version=1.0
Type=Application
Encoding=UTF-8
Exec=eclipse
Icon=eclipse
StartupNotify=false
Categories=X-XFCE;X-Xfce-Toplevel;
OnlyShowIn=XFCE;
Name=Eclipse
Comment=Eclipse Java IDE

For at denne vil fremkomme, skal du ændre ${XDG_CONFIG_HOME:-~/.config}/menus/xfce-applications.menu, som eksempel:

  <Menu>
    <Name>Xfce</Name>
 
    <DefaultAppDirs/>
    <DefaultDirectoryDirs/>
 
    <Include>
        <Category>X-Xfce-Toplevel</Category>
    </Include>
 
    <Layout>
        <Filename>xfce4-terminal.desktop</Filename>
        <Separator/>
        <Filename>eclipse.desktop</Filename>
 
    [...]

Redigér poster

Begyndende fra version 4.5 understøtter libxfce4menu ikke “Merge” fra menuspecifikationen. Dette betyder, at det ikke er muligt at bygge en pæn menuredigering. For at tilføje/fjerne eller redigere menuposter er du nødt til at kopierer filerne manuelt.

Lad os antage at “gvim” er installeret og du bør have skrivebordspostfilen /usr/share/applications/gvim.desktop. Kopiér denne fil til din hjemmemappe ~/.local/share/applications. Derefter kan du ændre denne.

For at oprette en ny menupost, kan du oprette en ny skrivebordspostfil i det tidligere nævnte mappe exo-desktop-item-edit letter oprettelse af en sådan fil. For eksempel kør exo-desktop-item-edit --create-new ~/.local/share/applications/.

Opret undermenuer

For at oprette en ny undermenu, tilføj et nyt “Menu” element til din ~/.config/menus/xfce-applications.menu på det samme niveau som andre undermenuer i Xfce såsom “Grafik” eller “Multimedie”. Udover at anvende navn til elementet “Name” er to andre elementer påkrævet: For det første er elementet “Directory” brugbart til at knytte undermenuen med en skrivebordspostfil som tilfører blandt andre ting en passende ikon som vi vil se om kort tid. For det andet tilknytter elementet “Category” til .desktop-filer med denne undermenu. Det anbefales at lave en tilpasset begyndende med “X-”, som er prefiks til en ikke standard kategori ifølge konventionen. Som et eksempel, vi vil oprette en submenu med poster til at vise forskellige mapper i din foretrukne filhåndtering. Dine nye poster skal se ud som disse:

  <Menu>
    <Name>Folders</Name>
    <Directory>folders.directory</Directory>
    <Include>
      <Category>X-Folders</Category>
    </Include>
  </Menu>

Opret nu ~/.local/share/desktop-directories/folders.directory med det følgende indhold:

[Desktop Entry]
Version=1.0
Type=Directory
Icon=file-manager
Name=Folders
Comment=Folders viewed in a file manager

Dette gør at det fremviser navnet på undermappen sammen med et passende ikon.

Til sidst opret .desktop-filer i din mappe ~/.local/share/applications som vist ovenfor for at indsætte undermenuen. For at blive vist i undermenuen, tilføj din tilpassede kategori til listen “Categories”. En af disse filer lad os kalde den thunar-home.desktop, kunne se sådan ud:

[Desktop Entry]
Version=1.0
Type=Application
Exec=/usr/local/bin/thunar /usr/home/yourname
Icon=file-manager
StartupNotify=false
Categories=X-Folders;
OnlyShowIn=XFCE
Name=home
Comment=home displayed in Thunar

Med alt dette i orden og efter en genopfriskning af menuen hvis dette er nødvendigt (se nedenfor), bør du have en ny undermenu kaldet “Folders” med ikonet til filhåndtering. Undermenuposten vist for oven skulle vise din hjemmemappe i Thunar. Du kan selvfølgelig tilføje flere poster som genveje til almindelige steder som /cdrom, /stick, /, eller hvad du finder passer.

Genindlæs menuen

Hvis du ikke har understøttelse af filovervågning, kør xfdesktop --reload for at genopfriske menuen.

Hvis ovenstående ikke virker, kan du også prøve at køre killall -HUP xfdesktop istedet.

Prøv det!

What, if it does not work?

questions unanswered:

what do i do, if the above does not work? (only xfce's own desktop files are seen, not even the one created with exo-desktop-item-edit, not to speak from common desktop files in both /usr/share/applications/ and ~/.local/share/applications/)

where do i find a log or anything like that, actually giving me a clue other than simply empty space in the menu?

A XFCE Lover that's got very upset. I setup several machines for my company. After migrating all the software to the new version 9.04 we realized we cannot use the custom menus that points to our software with specific variables.

Answer: In Jaunty the appropriate file might be found in /etc/xdg/xubuntu/menus/xfce-applications.menu and not in /etc/xdg/menus/xfce-applications.menu. Everything else should work as described above. Could be any other *buntu-flavor in the path also, I have no appropriate machine to compare. Also note, that you should not only extend your Layout-Section but also your Include-Section …