[mostly OS X]: KDEHOME vs. ~/.kde best practices, *rc files and related questions

David Faure faure at kde.org
Sun Nov 8 17:25:25 UTC 2015


On Sunday 08 November 2015 15:11:48 René J.V. Bertin wrote:
> > So on Linux it uses ~/.config (or $XDG_CONFIG_HOME if set)
> > and ~/.local (or $XDG_DATA_HOME if set).
> 
> I suppose it's left to individual app discretion whether or not things are store 
> in the .local/.config root, or in separate directories? I don't see anything 
> hinting at using KF5-specific directory under .local or .config in KConfig 
> (where I'd expect it)

Most apps just put their files directly under ~/.config, like ~/.config/konquerorrc

Same under .local/share.

> , so enforcing it via a patch is going to be cumbersome?

Don't even think about it. But you can of course export a different value for
XDG_CONFIG_HOME or XDG_DATA_HOME.

> And this makes the issues I've been having with my KDE4 desktop even weirder. 
> Why would autotests modify files under ~/.kde (or what else could have done 
> that, like resetting the number of virtual desktops to 1)?

I bet the KF5-based autotest talks to the running kde4-kwin, which itself modifies
files under ~/.kde.

> NB: checking on Kubuntu 15.10, I do see ~/.kde/share/config/kdeglobals still 
> being modified.

Definitely not by KF5-based code itself.

> > That's exactly what the code in kdelibs4migration does (in apps that call it).
> 
> Ah, good. And it seems that I can simple set KDE4_DEFAULT_HOME to whatever 
> KDE_DEFAULT_HOME was set to for the migration to use the proper source dir.

Yes.

> >> Does KF5 (or do KF5 applications) still use *rc config files
> > 
> > Yes. KConfig's format hasn't changed, only the location of the files.
> 
> So then where would the com.kde.*.plist files come from? Applications (and 
> frameworks, like Sonnet) using QSettings instead of KConfig? Do those APIs both 
> write to *rc files on Linux?

QSettings seems to be able to write to *.plist indeed.

> In any case, if KF5 applications can end up using binary plists (or whatever 
> non-human-readable files QSettings can write to) it'd probably be very useful to 
> provide a generic utility that allows to edit them. Apple used to provide a 
> standalone "Property List Editor" with Xcode, but that's been rolled into the 
> behemoth Xcode has become.

99% of KF5 applications use KConfig.
QSettings is used by Qt code itself, and by some Qt-based apps (non KF5).
So it's quite out of scope for KF5 to do anything about this.

> (btw: seriously, COM.kde.* ??)

I really have no idea where this comes from, we set "kde.org" as domain everywhere.
I think you should dig further into these plist files to find out what code could possibly
write them. I don't have enough details above to find out.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5



More information about the Kde-frameworks-devel mailing list