Hi All,
I am experiencing some autostart issues:
* Certain $HOME/.config/autostart desktop files fail to launch.
* XDG NotShowIn is not honored in user XDG files.
Related files seem to include:
* tdelibs/tdeinit/autostart.cpp
* tdelibs/tdecore/kdesktopfile.cpp
* tdelibs/tdeio/tdeio/kservice.cpp
I found two related bug reports (2284, 2297).
------------
For the first issue, digging deeper indicates perhaps the Exec=
directive in autostart desktop files is not parsed explicitly. Rather
than execute the entire line in the Exec= entry, the code seems to be
based on a presumption of only expecting traditional path strings. This
means desktop files with 'Exec=/bin/sh -c' snippets fail to launch. I
have a few such files and this took me a long time to identify.
For a long while I thought the files were being ignored. Instead they
fail to launch. One clue was in the user .xsession-errors log that TDE
was unable to parse the Exec= entries.
One work-around is convert the 'Exec=/bin/sh -c' snippets to shell
script files. Doable but these snippets function as expected in other
desktop environments. I suspect the code with other DEs is executing the
entire Exec= line verbatim rather than trying to parse an executable
from a presumed path. So this seems to be a TDE issue.
I'll file a bug report for this problem if I receive confirmation.
------------
I think the NotShowIn issue is caused by code that tries to remove
duplicates in the collected list of autostart files. I addressed that
issue in bug report 2297. Basically the user files are being removed as
duplicates and never execute, creating the illusion of being ignored.
Thoughts?
Thanks for your time!
D.A