| Summary: | TDE provides no method to disable or ignore autostart apps | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Darrell <darrella> |
| Component: | other (any) | Assignee: | Timothy Pearson <kb9vqf> |
| Status: | NEW --- | ||
| Severity: | normal | CC: | bugwatch, darrella |
| Priority: | P5 | ||
| Version: | R14.0.x [Trinity] | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Bug Depends on: | |||
| Bug Blocks: | 2969 | ||
|
Description
Darrell
2015-01-02 00:19:07 CST
Looks like the detection patch would be applied to tdelibs/tdeinit/autostart.cpp. The 'X-TDE-Autostart-enabled' key should be inserted in a *.desktop file only when setting the key to false. When true the key should be removed from the *.desktop file. This is how the other desktops function and the same mechanism would provide consistency. The best place to add the GUI controls for setting X-TDE-Autostart-enabled=false or deleting the key when true is the autostart plugin. This bug report was filed some years ago. While supporting 'X-TDE-Autostart-enabled' might be nice, digging deeper into this seems that the core problem is the standard 'OnlyShowIn' and 'NotShowIn' keys are ignored -- inadvertently. I think the issue is caused by code that tries to remove duplicates in the collected list of autostart files. That seems like a fair approach but consider that users can copy a system /etc/xdg autostart file into $HOME/.config/autostart and modify the behavior to override the system file. For example, adding the NotShowIn=TDE directive. There then will be two files with the same file name in the collected list of autostart files. For example, in Xfce I want to use the Parcellite clipboard manager. The package installs a default desktop file in /etc/xdg/autostart that presumes all users want to launch Parcellite. I do not want that in TDE. In TDE I want Klipper. I copy the Parcellite system desktop file to $HOME/.config/autostart and add the NotShowIn=TDE directive. But Parcellite always launches in TDE (as well as Klipper) because the user's autostart file was considered a duplicate and deleted from the collected list of autostart files. The code to remove duplicates seems to more often than not or always remove the user's copy of the file. This creates the illusion the NotShowIn directive is being ignored. I never have run into this problem with other desktop environments. Only TDE. If duplicates are to be removed from the collected list then the system file should be removed when the user has a duplicate file of the same name. Instructing user's to rename their copied version of the autostart file to avoid being a duplicate will fail because then the system version will still execute. That solution would again create the illusion that the user's copy is being ignored. Related files seem to include: * tdelibs/tdeinit/autostart.cpp * tdelibs/tdecore/kdesktopfile.cpp * tdelibs/tdeio/tdeio/kservice.cpp This bug report probably could be closed if the duplicate file code snippet is revised so the user's autostart file is not deleted from the collected list of autostart files. |