Problem with "Exec=" and "Single-Instance" in .desktop files on Sailfish OS 3 [released]
I'm using some applications written in Python. So the "Exec" and "Single-Instance" lines in the .desktop files look like:
Exec=python3 /path/to/application/app.py
X-Nemo-Single-Instance=no
The second app obviously has a different /path/to/application/app.py
.
With the upgrade to revision 3, I can only start one such app. Trying to start the second does only bring the focus to the running first app.
So there are two bugs:
- It seems that Sailfish OS 3 does only evaluate the binary name to check whether an app is running already, i.e. it identifies both apps as "python3" instead of the full path or the name of the desktop file.
- The Single-instance setting is not obeyed.
With Sailfish OS 2 I did not have these issues. The workaround is trying to start both apps within a fraction of a second.
The ps entries of both apps:
nemo 5458 4.8 1.4 111424 43012 ? Ssl 19:03 0:01 /usr/bin/python3 /home/nemo/PySideMp3/PySideMp3.py
nemo 5462 0.0 0.0 3972 776 ? S 19:03 0:00 invoker --type=generic python3 /home/nemo/PySideMp3/PySideMp3.py
nemo 5464 28.1 1.3 127416 40368 ? Ssl 19:03 0:05 /usr/bin/python3 /home/nemo/UniversalRemote3/UniversalRemote.py
nemo 5466 0.0 0.0 3972 776 ? S 19:03 0:00 invoker --type=generic python3 /home/nemo/UniversalRemote3/UniversalRemote.py
Edit to bump this issue. This is fundamental functionality that has regressed!
Actually, why python3 in the Exec line when it could be directly the .py, with #!/usr/bin/python3 there?
Having said that, always good if things are robust. Any combination of store apps that are triggered by this?
Pekka Vuorela ( 2020-01-31 16:27:14 +0200 )editThe whole line should still be considered as the command to execute.
Tanghus ( 2020-01-31 20:15:14 +0200 )edit