By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 459 - Detecting $KDEHOME to avoid conflicts with KDE3 and KDE4
Summary: Detecting $KDEHOME to avoid conflicts with KDE3 and KDE4
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdelibs (show other bugs)
Version: 3.5.13 [Trinity]
Hardware: All All
: P1 blocker
Assignee: Timothy Pearson
URL:
Depends on:
Blocks:
 
Reported: 2011-03-15 18:19 CDT by Darrell
Modified: 2012-10-19 15:23 CDT (History)
3 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darrell 2011-03-15 18:19:22 CDT
A robust method of detecting $KDEHOME is needed to avoid conflicts with KDE3 and KDE4.

Trinity is supposed to be compatible with KDE4. In many distros using KDE4, the default for $KDEHOME is $HOME/.kde because KDE3 is presumed dead. As currently written, the startkde script defaults to $HOME/.kde. The startkde script will trash a user's KDE4 profile settings.

If $KDEHOME is not explicitly defined then Trinity base code defaults to $HOME/.kde3.

The comments in kstandardirs.h declare $HOME/.kde as the default.

=============================================
kdelibs/kdecore/kstandardirs.cpp:
=============================================
if (!localKdeDir.isEmpty())
{
    if (localKdeDir[localKdeDir.length()-1] != QChar('/'))
      localKdeDir += QChar('/');
}
else
{
    localKdeDir =  TQDir::homeDirPath() + "/.kde3/";
}
=============================================

=============================================
kdelibs/kdecore/kstandardirs.h:
=============================================
* @li KDEHOME: The directory where changes are saved to. This directory is
*          used to search for resources first. If KDEHOME is not
*          specified it defaults to "$HOME/.kde"
=============================================

1. To avoid potential conflicts with KDE3 and KDE4 users, $HOME/.trinity would be a safe default for $KDEHOME.

2. The comment in kstandardirs.h, kstandardirs.cpp, and startkde should be updated to be consistent.

3. If existing, some kind of quiet automated migration code is needed to migrate a user's $HOME/.kde or $HOME/.kde3 profile to $HOME/.trinity. Some sanity checks are needed to ensure the profile being copied is from KDE3 and not KDE4.
Comment 1 Robert Xu 2011-08-05 18:24:26 CDT
SVN revision 1244723 made ~/.trinity the default directory for $KDEHOME.
Tested and working.

(yes, migration from ~/.kde3 to ~/.trinity works too.)