I'm developing a Qt application using CMake, and am trying to make it difficult to open more than one copy of the app at the same time (as with Mac application packages -- you have to call the executable by name rather than just open the package). The app is called QTM, and to achieve this I've renamed the binary file 'qtm-bin' and the file 'qtm' is a Python script which checks the D-Bus system bus for any existing copy of the app; if it doesn't find one, it calls qtm-bin; otherwise, it raises the existing copy.
The problem is that my .desktop file includes some menu actions for the Ubuntu Unity launcher, and when I installed a package with the new changes on, I found that all the menu options had disappeared. I used gsettings to test which entries were in the launcher, and it turns out that Unity is expecting a file called qtm-bin.desktop, not qtm.desktop. How do I make sure the desktop looks for the right file? Or do I just have to rename it qtm-bin.desktop?
The source can be found here: https://bitbucket.org/IndigoJo/qtm-1.3/src/83eb16f1a5ec2b049afdc1ab480b44d3cb2130a8/?at=dev-1.3.16
The .desktop file is generated by a shell script called qtm-desktop.sh.