I read on twitter from Ryan Gordon:
” So I might find I have a tree like this:
/home/icculus/Configs/Subversion
/home/icculus/Configs/DBUS/Config
/home/icculus/Configs/DBUS/Keyring
/home/icculus/Configs/Mozilla Thunderbird/Address Book
/home/icculus/Configs/Mozilla Thunderbird/Extensions
We can call it “Configs” or whatever, but it should probably be user-visible
(that is, without a prepended ‘.’), be standardized, and allow apps all the
space they want in their own folder under this root.”
I encourage you to read his whole post as that is just a little bit of it. He posted a follow up today:
“There is apparently a freedesktop thing, but looking aside the infuriating need to stick “XDG” on everything, I’m not sure I dig on the idea of using environment variables. I’d rather this have to call a piece of system-controlled code that can set policy, and handle things like creating directories, etc, so every app that needs to be changed needs extremely minimal changes, and reduce their ability to get things wrong. Granted, that system code could respect these XDG_* variables if that makes sense. Even looking beside that: dude, it’s 2009, can we stop using environment variables and shell scripts for everything? Is it heresy to ask that?
Honest to god, though: how’d that $BROWSER thing work out?”
I totally agree with him on this. The number of hidden files in my home directory is unmanagable, ugly, and a ton are not even close to intuively named.
To see how many hidden configuration files you have in your home directory you can run this:
ls -la ~ | awk '{print $8}' | egrep '^\.' | wc -l
I encourage anyone written an app to not put all of your configuration stuff in the base home directory, hopefully everyone can arrive at an intelligent solution. Ryan has a great start.
Related posts:
#1 by Paul Kishimoto on March 23, 2009 - 11:30 am
Quote
Lionel Dricot also wrote about this on Planet Ubuntu.
#2 by Mats Taraldsvik on March 23, 2009 - 1:41 pm
Quote
No,
(most) config files should not be visible. Please do remember that there are three directories/variables in the XDG-spec: DATA, CACHE and CONFIG. Data could be visible.
However, if everyone implemented the spec, you are entirely free to choose what to name your directory, if it should be hidden, etc.. As long as everyone implemented that XDG-spec we could all be happy
#3 by Marius Gedminas on March 23, 2009 - 6:56 pm
Quote
Why do you pass -l to ls and then use awk to undo that?
ls -d ~/.* | wc -l
It would be nice to have some effort to make apps respect the XDG spec and store the config files in an organised way. This would probably require a team of people submitting patches to upstream maintainers. I don’t imagine, say, Canonical spending time on this, as there are more severe unfixed problems waiting to be fixed.
(Also, your blog HTML is buggy and puts the hashcash input box inside a label, so when you click on it the focus is immediately transferred to the website input box.)