Placement of config files for Plasma 5 and KF5-based applications

Martin Steigerwald martin at lichtvoll.de
Wed Jan 28 10:31:30 GMT 2015


Am Mittwoch, 28. Januar 2015, 08:43:41 schrieb Martin Gräßlin:
> On Tuesday 27 January 2015 01:01:27 Thomas Pfeiffer wrote:
> > Hi everyone,
> > first of all, I think it's a great step in the right direction that
> > we're now putting our config files in ~/.config instead of ~/.kde(4),
> > we're now finally "standard-compliant".
> > 
> > However, where we still could - and imho should - do better is with
> > where exactly we put them. If I look at my .config folder, I see
> > mostly folders there, and then a lot of KDE files directly on the top
> > level. If everyone would do that, .config would be a huge mess of
> > files and it would be difficult to find the one you're looking for.
> > We should not be the "bad boy" here.
> > 
> > The question is: Where should we put the files? Putting them all in a
> > .config/kde folder again would be possible and would clear up the
> > top-level clutter, but I think we could go further.
> > In fact, I don't see a reason why config files from otherwise
> > completely unrelated applications that only have in common that they
> > were made by KDE should all reside in the same folder, whereas other
> > applications each have their own folder.
> > 
> > What could make sense is having e.g. everything from Calligra in one
> > folder, or everything from KDE Edu or KDE Games.
> > And I'd put all Plasma stuff into one folder. Actually, there already
> > is a plasma-workspace folder on my system, which contains an "env"
> > and a "shutdown" folder. Why not put Plasma-related config files in
> > there?
> > 
> > I also have a "KDE" folder with Marble Virtual Globe.conf and
> > Sonnet.conf in there, and a kde.org folder with libphonon.conf and
> > marble.conf. This doesn't make us look very professional, as it shows
> > that there is currently no guideline for where to put our config
> > files.
> > I think we should change that!
> > 
> > So, for me there are three questions:
> > 1. Should we come up with guidelines for config file placement?
> > 2. Does my suggestion above make sense or if now how should it be done
> > instead?
> > 3. If we want guidelines, how do we make them known and maybe even
> > "enforce" them via code checking or some such?
> 
> There was a change to put config files into org.kde.foo, but that had to
> be reverted as it broke for setups like KWin where the configuration is
> not done in the same process.
> 
> Given that at least for KWin I do not want to do any changes as
> a) the risk of breakage is too high
> b) it's too much work (all code needs to be hunted down for usage of
> "kwinrc" (git grep shows 46 usages just in kwin, no idea how spread out
> it is in other places to configure kwin) or KSharedConfig::openConfig
> and similar)

Wow. I thought there would be one define that the config file is there and 
there and it would be used in all places.

> c) I simply don't care whether users have a "problem" with
> ~/.config containing many files, it's a directory for applications, not
> for the user

I think having all KDE related configs together in one place has an 
advantage:

One can recover the KDE configuration with a simple rsync command from 
backup, without affecting any non KDE stuff.

I did so in the past. It has been quite a while since I last did it, as 
KDE / Plasma configuration does not seem to be easy to break, but I still 
think its a valuable feature to have all KDE related things in one place.

"its not for the user" is no reasoning I agree with. Most config files are 
plain text, there are even special options that may only be available in 
the config file and in case of any breakage that cannot be fixed within the 
GUI its nice to be able to fix things on the config file level.

But well, there has been discussion about config file format on kde-pim 
mailing list as well, and whether to store them as binary data or not. And 
granted KMail / Akonadi and others store things in there that seems to me 
to be application *state* not *user configuration* and it may make sense to 
separate those.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20150128/2c5d5045/attachment.sig>


More information about the kde-core-devel mailing list