75

I installed Komodo Edit from a download (wasn't available in Software Center.) I want to be able to open .php files in Komodo, but when I right-click and choose Open With Other Application, Komodo doesn't display anywhere in the list. How can I add it to the list?

enter image description here

Tim
  • 33,500
EmmyS
  • 17,031

9 Answers9

67

If you have /usr/share/applications/$application.desktop, change

Exec=$command

to

Exec=$command %F

in the file, where $application is the name of application, and $command is the command to execute for desired action.

Then, you will be able to add the application to the list.

It may be necessary to change MimeType=applications/php etc., if it is not still displayed. (Run sudo update-desktop-database after changing that.) Although it may be needlessness for Komodo, it could be necessary for other applications.


You may use the sed program to do the replacement. Please arrange the portion of Exec=command according to your application.desktop file.

sudo sed -i 's/Exec=command/Exec=command %F/' application.desktop
pomsky
  • 70,557
vine_user
  • 2,871
18

You could simply append a blank space and %F to the Exec parameter in the application.desktop file of your installed application.

You mentioned you didn't install from the software center so add a "komodo.desktop" file in /usr/share/applications/1 or ~/.local/share/applications/2, which would be very similar to the one I'm showing, just change the Name, Exec, Icon (etc) values to reflect your custom installation of komodo on your PC

Like so:
(using sublime as example because I don't use komodo)

an image of gedit using monokai color theme and showing the Exec line and the &F parameter highlighted

Explanation: the %F option activates the ability of passing arguments to your application, so if ubuntu can pass an argument it will activate the "opening file with" option on the context menus, and will pass the file as an argument3. Boom, that's all there is too it, not complicated at all.


Notes:
1: You will need root privileges to modify anything on this directory. (you could use sudo nano app.desktop from the "terminal" or open gedit with root privileges entering gksu gedit & , it will ask for your password of course)
2: ~ stands for your user home directory (which really resides in /home/username/blabla...), and that the /.local/ directory is usually hidden, if you are using nautilus to "explore" your file system you can hit ctrl+h to show hidden files.
3: If your application doesn't support passing arguments it wont work.

JorgeArtware
  • 3,637
7

Only applications available in the Launcher/Dash show in the Other Applications list.

Komodo Edit 7 creates an icon on your desktop by default:

enter image description here

To put Komodo Edit in the Launcher list and thus make it available in Other Applications, you must do the following:

  1. Open the terminal with Ctrl-Alt-T
  2. Type or paste:

    sudo cp ~/Desktop/komodo-edit-7.desktop /usr/share/applications/
    

    or for the newer version (Komodo Edit 8):

    sudo cp ~/Desktop/komodo-edit-8.desktop /usr/share/applications/
    

    Note that before this step, in order to run Komodo Edit 8 (whose file was named komodo-edit-8.desktop) by simply clicking on the Desktop icon, I was getting an "Untrusted Application Launcher." I fixed this by making it executable by doing

    chmod +x ~/Desktop/komodo-edit-8.desktop
    
  3. Exit the terminal.

  4. Check that Komodo Edit shows up in the Dash (it may take a few moments):

    enter image description here

  5. Now, it should also show in the Other Applications list for php (and other) files:

    enter image description here

Eric Carvalho
  • 55,453
ish
  • 141,990
4

Based on vine_user's method, but with a different approach.

I normally download Blender from the official website, then use Alcarte / Main Menu software to create the menu link. After that, you will find the menu at "/.local/share/applications".

Now, see which one of the .desktop files is yours (and make sure it's executable). Right Click on it, hit Properties. Then, in the Command field, right after the command stated there, add %U.

That's it! It should now show in your menu.

Tushant M
  • 181
2

One cool option to do this is Alacart. It's fairly simple and easy to use. Heres the link

Below is the command to install it

  sudo apt install alacarte
Count
  • 121
  • 3
2

In 14.04 you can directly set a program to appear in open with list. open nautilus in root mode, go to /usr/share/applications/ and select the application that you want to make appear on the list. right click and open properties at the command you will see like /usr/bin/appName at the end of that just add %U now the whole thing must look like this /usr/bin/appName %U. now you are done!

muru
  • 207,228
Aruna
  • 21
0

In my case, when trying to add Sublime Text 3 to the list, the file ~/.local/share/applications/sublime_text.desktop had the property Hidden=True.

Erased that line, and problem solved!

Madacol
  • 518
0

If you Don't find any flatpak apps in the open with listing, you can enable by modifying their desktop entries. (Fedora & Ubuntu)

Location: /var/lib/flatpak/exports/share/applications

To add phpstorm if missing, add --file-forwrding and @@ %f @@

Example:

Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=phpstorm --file-forwarding com.jetbrains.PhpStorm @@ %f @@

Abdul Rehman
  • 515
  • 1
  • 6
  • 20
0

Open Nautilus by the terminal with

sudo nautilus

then, using Nautilus go to /usr/share/applications/ and look for the application you want to add to the "Open With" list. Copy the link on the desktop by copy-paste. Launch a text editor like Gedit ant drag the file you copied on the desktop in the text editor. One of the last lines should be

NoDisplay=false

So just replace "false" with "true" and save the file. Then drag the file you modified in /usr/share/applications/ and overwrite the old one.

Then open again the "Open with" menu and you will see that application.

Eric Carvalho
  • 55,453