Like it!

Join us on Facebook!

Like it!

How to add new menu items to XFCE menu

Just create a simple text file and you're done.

Do you have the need to add a new application to my XFCE menu? Unfortunately, there are many confusing ways of doing it. In this article I want to tackle my favorite one: simple, easy, straight to the point.

Suppose you want to add a new program, say CLion (which is a pleasant IDE, even if such tools are not my cup of tea) to your XFCE menu. First of all, you have to prepare a simple .desktop file that contains some information on the executable and the program itself.

Writing the .destkop file

Open your text editor and type something like the following:

[Desktop Entry]
Version=1.0
Type=Application
Name=<name-of-the-app>
Exec=<path-to-executable-file>
Icon=<path-to-icon-file>
Categories=<list-of-;-separated-categories>

What to change in the above template:

  • Name — put here the name of the application. This will be displayed in the menu;
  • Exec — path to the executable file. For example /opt/clion-2016.2/bin/clion.sh;
  • Icon — path to the icon file. Example: /opt/clion-2016.2/bin/clion.svg;
  • Categories — semicolon-separated list of categories. Here is a list of what you can choose from.

There are several additional parameters you can add, but what you see above should be enough. The last step: put that file somewhere useful, so that the system can be aware of it and update the menu accordingly.

Place the .desktop file in the right place

You can place that file both in /usr/share/applications or in [your-home]/.local/share/applications. What's the difference? The former will enable the menu entry for every user, the latter only for you.

Sources

Xubuntugeek - Add items to Xfce Applications Menu (link)
FreeDesktop - Desktop Menu Specification (link)

comments
nux on April 12, 2018 at 14:06
Very neat little thing those .desktop files. Thanks for the hint.
windows geek on January 25, 2019 at 12:31
yo xfce, it's 2019 callin', you heard drag'n'drop, bro? they introduced it in windows 98, now it's time for linux to realize we're in 21st century!
Triangles on January 26, 2019 at 11:40
@windows geek mmmm drag'n'drop... isn't it about cooking pasta?
fu7zed on May 11, 2019 at 10:06
@windows geek
have you ever tried to compare idle ram usage, M$ Windows vs any XFCE desktop based distribution ?
Windows = ease of use
XFCE = lghtweight and fast
geez ...
I dont use windows much on June 10, 2019 at 06:45
But I agree. Menulibre and alacarte both suck. It shouldnt be that much work to add the ability to add/remove launchers from an heirarchical menu and quite honestly its been sucking this way for a long time. Now i see in my dmesg where my usb mouse disconnects itself again and again and thats been dispositioned as 'wont fix' by ubuntu for several versions now. Maybe its time to stop congratulating yourself for unix's early success and actually fix some stuff.
chris on June 28, 2019 at 20:30
Thanks! Hope you never take this page down, I'm too stupid to make a copy :D
Khalfani on July 03, 2019 at 06:05
I don't think this should be easier.

I've been using Linux for a long time and I've never had to do this until now.

XFCE developers should focus on things that affect a majority of users. Ease of use is a priority for Gnome
phreakerg on August 11, 2019 at 22:05
wow, why is such a natural normal task for anyone who owns an ARM/x86/ia64-3.1415/blah/SelectricIII so extreme? Scared to get your programming hand dirty? First you have to learn assembly & fortran for the ibm 7090, next get a good punch card service, cue the magnetic tape onto the receive reel, set console to load. etc. Easy as Pie! Thanks Xfce!

Seriously XFCE? It's an icon for a program or script. H E L L O?
Triangles on August 14, 2019 at 12:18
@phreakerg you're telling me! :)
Szymon P on April 25, 2020 at 09:35
thanks, I fixed chromium in debian noroot app
apaz on August 09, 2020 at 07:39
@windows geek
@phreakerg
I'm very confused by the toxicity. Worse, it's toxicity based off blatantly incorrect information. If you had used XFCE even once, you would know.

Want to create a launcher?
Right click on desktop -> Create Launcher -> Fill in the GUI popup

To add it to a panel (taskbar), it's the same, but instead of right clicking on the desktop, you right click on the panel. It really is that easy.

In 99.9% of cases, applications are going to handle creating their own .desktop files when you install and uninstall them. It was standardized a long time ago, and every app supports it. The average user doesn't have to know how to write one by hand.

The one instance where creating your own does become useful though is when you write your own application or wrap one with WINE and want to set it to be discoverable all over your system. Any user who can do that is assumed to also be comfortable using a text editor.

Or if you really don't want to use a text editor, you can call:

exo-desktop-item-edit --create-new [DIRECTORY]

to bring up that familiar GUI and create your .desktop file.
Jake on September 06, 2020 at 02:44
@apaz
That option is very hidden, but ok, systematically, it's possible to, eventually, find it.
It's not 99% applications, but like 70% of applications, BUT THERE IS like a 99% change that a common user of such system WILL need at least 1 application from that 30% ... and in that case they're sc** ....

The application launch and task bar ALREADY HAS ALL TECHNICALITIES to support drag&drop, you can actually drag app from task bar to launch bar and see it triggering little frames
- IT JUST DOESN'T DO ANYTHING , which after all those years, just blows my mind, so I'm not surprised by those angry reactions.

It's a GUI system for a reason - that reason is dismissed when you suggest to "program" or "code" a special file just to add a simple icon for everyday use.

And for the gnome/unity people - c'mon - if somebody is using xfce, there is a big change it's because they CAN'T use any other more performant-expensive GUIs...
Harp on November 12, 2020 at 08:33
Thank you for this article. It is very useful if somebody uses PyCharm or Eclipse and doesn't want to start it from command line. :-)
Andy Alt on November 14, 2020 at 00:37
Thanks for this. I use XFCE on Debian, but use the latest Thunderbird and Firefox from Mozilla. I created desktop launchers for them, but also wanted launchers in my app -> Internet menu.
Neil on July 24, 2021 at 13:27
I love desktop files.
So quick and easy if you know how to edit a text file.
I know they've been trying to make the OS more popular with consumers, but I'm really happy with the underlying text config.
I guess I should start my own desktop project - with no GUI config whatsoever.
nEwwE on November 28, 2021 at 05:15
lol.... here because XFCE Whisker with Alacarte or MenuLibre will not show all my .desktop files as shortcuts even when they're located in /usr/share/applications/ and ~/.local/share/applications.

Fixed
one thing alacarte has that menulibre doesn't is Restore System Configuration. fixes everything but knocks out your favorites so take a screenshot before you click this button. uninstall purge menulibre. install alacarte. click on restore system configuration. reinstall menulibre.

Also
restart xfce4-panel -r makes Windows Buttons unclickable so you reboot or logout.

copy with ctrl+c from a launcher will not work. You have to right click to menu and choose copy.

there's always .config/menus/xfce-applications.menu

i love my Linux 99% of the time even when it's broken.
TANAKA Hidemune on September 06, 2022 at 13:25
Thx!
mike on October 17, 2022 at 16:23
How to add a binary file Netbeans 15, netbean.desktop not work.