# Processes and .desktop launchers (Identification)

I have a python application which behaves in two different ways. When started without arguments, it runs in CONFIGMODE and shows a Configuration GUI (pygtk). When started with an argument it runs in APPMODE.

Then I have two Bash-Scripts (configmode and appmode) to start. One starts my app with arguments, the other without. For each script I have created a .desktop file in ~/.local/share/applications with different icons.

But even when I start appmode.desktop the Unity launcher shows the icon from configmode.desktop.

I also use Kupfer to launch applications. And when configmode is already running Kupfer also thinks that appmode is already running.

Therefore I wonder how Unity and Kupfer identify which .desktop file to use?

My goal is to see the icon from the .desktop file which I used for startup in the Unity launcher. How can I achive this?

• .ui file: If you're using a user interface file, you might have set the icon_name property for the main window. In such a case, I'd say that the icon in the .desktop file is not used.
• pygtk code: Similarly to the .ui file case, you might have set the icon for the main window using gtk.Window.set_icon_name, gtk.Window.set_default_icon_name or similar.
My advice is to programmatically set the icon for the main window when the application is started using gtk.Window.set_icon_name or gtk.Window.set_default_icon_name depending on the arguments passed to the application.