Question about remapping *.destop launchers

Asked by adamgmetzler on 2009-12-05

The FAQ at FAQ 416 does not seem to address the situation when you have an application that is launched from a shell script. If you follow the previous instructions in the previous mentioned FAQ, every application that launches from a shell or shell script will use the remapping that you made following the previous directions. I have several applications that are needed to be launched this way do to building up a proper command line to run the application, like NetBeans, or Jin (chess client). This is a frequent problem with any application that is launched this way even if the *.desktop launcher's 'exec' parameter points to a regular executable with command line options in the *.desktop file, remapping does not work. So, how do I get it to work, any answers out there?

Question information

English Edit question
Do Edit question
No assignee Edit question
Last query:
Last reply:
adamgmetzler (adamgmetzler) said : #1

adamgmetzler suggests this article as an answer to your question:
FAQ #416: “Docky does not match my favorite application to its launcher! Help!”.

Ryan Thompson (rct86) said : #2

You should give a test example that exhibits the behavior you describe, so that people can test solutions.

adamgmetzler (adamgmetzler) said : #3

I have given test examples, netbeans and jin, they are java applications and if I follow the instructions in FAQ 416 all java applications map to new remapping because it does not take into account that the executables command line options actually point to a different application.

Launchpad Janitor (janitor) said : #4

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Will Thompson (wjt) said : #5

Taking a look at the heuristic for Java apps in Do.Interface.Wink/WindowUtils.cs, I think it's a bit sub-optimal for Java Web Start applications. I think an improvement would be to look for com.sun.javaws.Main and, if it's found, take the last argument (which is the jnlp file URL) as the process name. If you have a .desktop file for a Java WS app, its Exec= line probably just contains: "javaws URL" for the same URL seen at the end of the process's command line, and then things should just work, even in the face of launching the same application from two different providers (maybe you work on two projects that both use ScrumWorks Pro, for instance).

I might have a crack at this, since having two icons for ScrumWorks in my dock is making me sad.

adamgmetzler (adamgmetzler) said : #6

That is fine for webstart applications that use jnlp, but, that still does not solve my problem with java applications launched from a shell script. I Do is able to use the right application icon, but does not associate it with the *.desktop file even with the mapping and I have tried several different forms of mapping.

Launchpad Janitor (janitor) said : #7

This question was expired because it remained in the 'Open' state without activity for the last 15 days.