| Summary: | Trinity still attempts to start some kde4 stuff | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Alexander Golubev (Fat-Zer) <fatzer2> |
| Component: | tdelibs | Assignee: | Timothy Pearson <kb9vqf> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | bugwatch, darrella, fatzer2, slavek.banko |
| Priority: | P5 | ||
| Version: | R14.0.0 [Trinity] | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Attachments: |
The patch for 3.5.13.1
Patch for R14 to fix ShowOnlyIn/NotShowIn Updated patch for R14 to fix ShowOnlyIn/NotShowIn |
||
|
Description
Alexander Golubev (Fat-Zer)
2012-12-12 04:25:18 CST
If I understand it correctly, so we can not use this patch. In the branch v3.5.13-sru was not backported renaming KDE => TDE, so with this patch does not autostart and do not see anything. (In reply to comment #1) > If I understand it correctly, so we can not use this patch. In the branch > v3.5.13-sru was not backported renaming KDE => TDE, so with this patch does not > autostart and do not see anything. Yea. Also we shouldn't perform such rename on 3.5.13 branch because it calls some incompatibilities between minor releases, witch is bad idea. Although for gentoo I've already renamed OnlyShowIn=KDE→TDE because IMO it's the best way to resolve the issue with plasma-desktop startup etc. This patch seems is just missing on the developer branch. Is this problem still valid by the OP? I have KDE4 installed along with Trinity from GIT. I have no problems with any KDE4 apps or plasma trying to start when I run Trinity. Update: I do indeed see the problem as described. I stumbled across the problem when trying to use OnlyShowIn=KDE; in various *.desktop files. Specifically, desktop files in ~/.configure/autostart and ~/.local/share/applications. Any item using OnlyShowIn=KDE; appears in Trinity menus or autostarts in Trinity. This is not expected behavior. A work-around is to use NotShowIn=TDE; but that is an inappropriate fix because the problem does not resolve interaction in other desktops. There are several instances in the tdelibs sources where desktop key tests include both "TDE" and "KDE." I understand how this dual test was added after 3.5.10, when TDE was still considered KDE. Now that TDE is a recognized standalone XDG desktop, the dual testing for both "TDE" and "KDE" should be removed in R14.0.0. As Slavek mentioned, I don't believe the change can be backported to 3.5.13.x, because none of the XDG renaming affects 3.5.13.x (or 3.5.11 and 3.5.12), but the change is needed in R14.0.0. Created attachment 1175 [details]
Patch for R14 to fix ShowOnlyIn/NotShowIn
This is a patch for R14.0.0 that remedies the problem of not recognizing KDE4 apps in Trinity.
I tested three use cases: 1) autostarting, 2) shared files in ~/.local/share/applications, and 3) files in a $TDEDIRS location (that is TDEDIRS and not TDEDIR).
Without the patch, desktop files that have OnlyShowIn=KDE; and are installed in ~/.config/autostart, will autostart in Trinity. Any such desktop file in ~/.local/share/applications or $TDEDIRS will appear in the launcher Lost & Found menu.
None of this happens with the patch.
The patch is the correct approach because Trinity is a valid XDG environment (TDE). If there are problems using the patch because certain upstream providers are not acknowledging the XDG TDE standard, and those upstream providers are not going to remedy the problem soon, then consider a cmake config option and some #ifdef statements in the tdelibs sources to make this easier to implement.
For example, -DWITH_OLD_XDG_STD. The default would be OFF.
With the default DWITH_OLD_XDG_STD=OFF, tdelibs compiles without the dual test and only key off of TDE in the desktop files. This option would be the same as using the patch.
When DWITH_OLD_XDG_STD=ON, then tdelibs will compile to retain the dual test of looking for both TDE and KDE in desktop files. This option would be the same as not using the patch.
Created attachment 1179 [details]
Updated patch for R14 to fix ShowOnlyIn/NotShowIn
This updated patch adds a CMakeLists.txt configure option of WITH_OLD_XDG_STD and related #ifdef statements in the affected sources. The default is OFF and compiles tdelibs without support for "KDE" in desktop files.
Set WITH_OLD_XDG_STD=ON to revert to the pre R14.0.0 standard of supporting both "TDE" and "KDE" in desktop files.
The updated patch adding the WITH_OLD_XDG_STD configure option works great. No KDE4 apps autostart, no problems with desktop files in ~/.local/share/applications or $TDEDIRS. Should upstream problems continue then this patch seems like a fair compromise until those problems disappear. Patch in attachment 1179 [details] pushed to GIT in commit 274dd3cc.
As mentioned in the discussions, this patch is not backwards portable to 3.5.13.x. Therefore closing this report as resolved.
Note: one work-around for 3.5.13.x users is to use NotShowIn rather than ShowOnlyIn. For example, use NotShowIn=TDE; rather than OnlyShowIn=KDE;. The work-around does not resolve all conflicts but helps with some.
(Odpověď na komentář #8)
> Patch in attachment 1179 [details] pushed to GIT in commit 274dd3cc.
>
> As mentioned in the discussions, this patch is not backwards portable to
> 3.5.13.x. Therefore closing this report as resolved.
>
> Note: one work-around for 3.5.13.x users is to use NotShowIn rather than
> ShowOnlyIn. For example, use NotShowIn=TDE; rather than OnlyShowIn=KDE;. The
> work-around does not resolve all conflicts but helps with some.
Yes, as you rightly said, this patch for R14 may in no case be used for 3.5.13.x. The proposed solution with NotShowIn=TDE sounds like a good option.
|