Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
howto:customize-menu [2013/12/03 20:30] – [Unanswered] Some answers. Needs work, but it's a start. ammohowto:customize-menu [2019/03/27 22:01] – [Hide menu entries] revised popup blueberrybrownie
Line 3: Line 3:
 This page describes how to customize the menu, using Xfdesktop **4.5 or higher**.  For earlier versions you can use the libxfce4menu GUI. This page describes how to customize the menu, using Xfdesktop **4.5 or higher**.  For earlier versions you can use the libxfce4menu GUI.
  
-A GNU-licensed graphical menu editor for LXDE, [[http://lxmed.sourceforge.net|LXMenuEditor]], also works for XFCE, as of XFCE 4.8.0 and LXMenuEditor 20110523.+A GNU-licensed graphical menu editor for LXDE, [[http://lxmed.sourceforge.net|LXMenuEditor]], also works for Xfce, as of Xfce 4.8.0 and LXMenuEditor 20110523. [[https://launchpad.net/menulibre|MenuLibre]] is another freedesktop.org standard-compliant editor that works well with Xfce.
  
 ===== What xfdesktop installs ===== ===== What xfdesktop installs =====
Line 29: Line 29:
 If you want to hide menu entries from all menus, copy their .desktop files and edit them to add a ''NoDisplay=true'' line. If you want to hide menu entries from all menus, copy their .desktop files and edit them to add a ''NoDisplay=true'' line.
  
->> {{wiki:warning.png}} +<note tip>As explained[[http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html| here]], ''NoDisplay=true'' will hide the application from the menu but the mime type associations will still be available. ''Hidden=true'' is equivalent to deleting the file.</note>
->> As explained[[http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html|here]], ''NoDisplay=true'' will hide the application from the menu but the mime type associations will still be available. ''Hidden=true'' is equivalent to deleting the file. +
 ===== Hide only root entries ===== ===== Hide only root entries =====
 If you only want to remove menu items from the root menu only, copy their .desktop files and edit them to remove Category X-Xfce-Toplevel. If you only want to remove menu items from the root menu only, copy their .desktop files and edit them to remove Category X-Xfce-Toplevel.
Line 148: Line 146:
  
   * With which command can I set a start-up-password for an application in the *.desktop file?   * With which command can I set a start-up-password for an application in the *.desktop file?
-My approach would be to remove execution rights for others (chmod o-x filename) and start the command using 'gksudo filename' included in package gksu (apt-get install gksu). You may need to provide some command line options before the filename to tune the behaviour of gksu. In this way users have to be members of group sudo to start the program, and enter their own password to confirm their identity. You could also make the program owned by a special group, e.g. powerusers (sudo addgroup powerusers), that have execution rights (e.g. chown root:powerusers filename && chmod g+x filename && chmod o-x filename) and then users would have to be a member of group powerusers (adduser someuser powerusers) to start the command with their own password after logging in and out of the system to apply the new group membership.+ One approach would be to remove execution rights for others (chmod o-x filename) and start the command using 'Exec=gksudo filename' (gksudo is included in package gksu apt-get install gksu). You may need to provide some command line options before the filename to tune the behaviour of gksu. In this way users have to be members of group sudo to start the program, and enter their own password to confirm their identity. You could also make the program owned by a special group, e.g. powerusers (sudo addgroup powerusers), that have execution rights (e.g. chown root:powerusers filename && chmod g+x filename && chmod o-x filename) and then users would have to be a member of group powerusers (adduser someuser powerusers) to start the command after one-time logging in and out of the system to apply the new group membership to their user profile. Users that are not members of that group will simply not be able to run the program at all.  
 + If you really want a password prompt, you can also run the program using 'Exec=gksu --user someuser filename' in the .desktop file in order to require someuser's password before running the program. However, running programs as a different user is not generally recommended for more complex programs unless you know how to avoid the side-effects (e.g. different home directory, security policy, etc.).
  
   * 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/)   * 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/)
Line 154: Line 153:
  
   * Where do i find a log or anything like that, actually giving me a clue other than simply empty space in the menu?   * Where do i find a log or anything like that, actually giving me a clue other than simply empty space in the menu?
 +View /usr/share/applications, ~/.local/share/applications, etc. with Thunar. You should see a plain .desktop file listed for the blank entry, between the clickable icons with fancy names.
   * I run Jaunty and need to make the menu to be multi-level, which, in previous versions I believe, could be achieved by editing '///etc/X11/xdg/xfce4/desktop/menu.xml//' and replace //style="simple"// with //style="multilevel"// in the //<include>//. How do I do this in Jaunty? I need this because I have certain applications under Wine which have very many start-menu entries and they are all merged into one menulevel, which is really annoying to navigate thru. Please help ...   * I run Jaunty and need to make the menu to be multi-level, which, in previous versions I believe, could be achieved by editing '///etc/X11/xdg/xfce4/desktop/menu.xml//' and replace //style="simple"// with //style="multilevel"// in the //<include>//. How do I do this in Jaunty? I need this because I have certain applications under Wine which have very many start-menu entries and they are all merged into one menulevel, which is really annoying to navigate thru. Please help ...
-See the part above about creating Categories.+See http://forums.opensuse.org/english/get-technical-help-here/applications/477258-flat-menu-xfce.html