Re: [fpc-devel] GetAppConfigDir under Unices
On Thu, 10 Nov 2005, Michalis Kamburelis wrote: Hi I had some time today and I decided to write a simple patch that fixes GetAppConfigDir, adhering to basedir-spec. The arguments after adhering to basedir-spec are: - The idea to place things within .config/ seems sensible. - On my system (Debian testing) I see two things that adhere to it (xfce4 and graveman), so the spec is not completely unknown. So my patch follows Danny's advice and adheres to basedir-spec. So GetAppConfigDir(false) and GetAppConfigFile(false, ...) behavior changes to use $XDG_CONFIG_HOME or ~/.config/. The patch also fixes GetAppConfigFile(false) behavior (ConfigExtension was not appended in this case). I'm attaching the patch to rtl/unix/sysutils.pp (done versus trunk, but I think it should be merged with 2.0.1 branch too) as file sysutils.patch, and I'm attaching a trivial test program test_app_config_dir.pas to easily test GetAppConfigXxx routines. Applied, but not merged. The 2.0.2 tag is already set. It will be for 2.0.4. Michael. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] GetAppConfigDir under Unices
On Fri, 4 Nov 2005, dannym wrote: Hi, Am Freitag, den 04.11.2005, 05:46 +0100 schrieb Michalis Kamburelis: Hi I just tested SysUtils.GetAppConfigDir under Linux and I see that it returns GetHomeDir + ApplicationName (when Global = false). Shouldn't it rather return GetHomeDir + '.' + ApplicationName ? Config directories in user's home dir traditionally start with '.' to be somewhat hidden. I would expect GetAppConfigDir to follow this practice. actually by now it is (among others) GetHomeDir + '/.config/' + ApplicationName, according to the Desktop Base Directory Spec $XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used. http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html I guess someone died the death of a thousand dotfiles, and figured that it can't continue like that :) Hm. Do you know a distro that uses this ? SuSE definitely doesn't. The .config directory doesn't even exist. Also, most existing apps don't adhere to this, but use the scheme as outlined in FPC. so..; Michael. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] GetAppConfigDir under Unices
Hi, Am Freitag, den 04.11.2005, 17:26 +0100 schrieb Michael Van Canneyt: On Fri, 4 Nov 2005, dannym wrote: Hi, Am Freitag, den 04.11.2005, 05:46 +0100 schrieb Michalis Kamburelis: Hi I just tested SysUtils.GetAppConfigDir under Linux and I see that it returns GetHomeDir + ApplicationName (when Global = false). Shouldn't it rather return GetHomeDir + '.' + ApplicationName ? Config directories in user's home dir traditionally start with '.' to be somewhat hidden. I would expect GetAppConfigDir to follow this practice. actually by now it is (among others) GetHomeDir + '/.config/' + ApplicationName, according to the Desktop Base Directory Spec $XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used. http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html I guess someone died the death of a thousand dotfiles, and figured that it can't continue like that :) Hm. Do you know a distro that uses this ? SuSE definitely doesn't. The .config directory doesn't even exist. I doubt that that is dictated by a distro. The spec is pretty recent, so I guess not many apps use it yet. However, - xfce 4.2 does use it - the spec was written by a kde guy, and a quick search turned up http://wiki.kde.org/tiki-index.php?page=Environment+Variables (not too sure if they really use it, as I don't use kde) - there are too many dotfiles in the way in $HOME :) So, for new apps / new major versions, IMO adhering to the spec would be a better idea. For minor revisions of existing apps, yes, no use in breaking people's existing config files / making things break for them when they downgrade the app again. Note that gnome and kde use a different level of indirection (.gnome2 / .kde) since ancient times, otherwise (everything directly in $HOME) one would drown in a ocean of dotfiles already :) Also, most existing apps don't adhere to this, but use the scheme as outlined in FPC. so..; Michael. cheers, Danny ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] GetAppConfigDir under Unices
Hi I just tested SysUtils.GetAppConfigDir under Linux and I see that it returns GetHomeDir + ApplicationName (when Global = false). Shouldn't it rather return GetHomeDir + '.' + ApplicationName ? Config directories in user's home dir traditionally start with '.' to be somewhat hidden. I would expect GetAppConfigDir to follow this practice. Michalis ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] GetAppConfigDir under Unices
On Fri, 4 Nov 2005, Michalis Kamburelis wrote: Hi I just tested SysUtils.GetAppConfigDir under Linux and I see that it returns GetHomeDir + ApplicationName (when Global = false). Shouldn't it rather return GetHomeDir + '.' + ApplicationName ? Config directories in user's home dir traditionally start with '.' to be somewhat hidden. I would expect GetAppConfigDir to follow this practice. It should. I'll have a look at it, thanks for reporting this. Michael. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel