~/.terminatorrc is not FD.O basedir compliant

Reported by A. Walton on 2008-06-07
6
Affects Status Importance Assigned to Milestone
Terminator
High
Chris Jones

Bug Description

Not a lot of text needed. The configuration should be stored in $XDG_CONFIG_HOME/terminator/ instead of $HOME. (In most cases this will default to ~/.config/terminator/.) As more and more applications become compliant, it will be easier and easier for users to backup any relevant configurations and move them to new accounts. It allows system admins to set remote configuration directories rather than having to remote full home directories. And the advantages go on from there. Hopefully fixing this early will alleviate any migration issues.

Reference: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Nicolas Valcarcel (nvalcarcel) wrote :

terminatorrc is not created by the program but by the user, os it's kind of difficult to change it's location if don't generate it automatically. Some discussion is needed.

Changed in terminator:
importance: Undecided → Wishlist
status: New → Triaged
chantra (chantra) wrote :

changing importance to high.
i believe being XDG compliant is definitely something we should handle.

Changed in terminator:
importance: Wishlist → High
Chris Jones (cmsj) wrote :

providing we fall back to $HOME when it isn't set, I am happy to litter $XDG_CONFIG_HOME with our RC file

Chris Jones (cmsj) wrote :

having said that, two potential. hmm locations could be confusing. hmm

Romeo A. Cioaba (romeo-cioaba) wrote :

won't it be possible to create an empty config to $XDG_CONFIG_HOME/terminator/ upon install, then the user could edit that file not creating confusion anymore with multiple locations.

Hi

odinfromvalhalla wrote:
> won't it be possible to create an empty config to
> $XDG_CONFIG_HOME/terminator/ upon install, then the user could edit
> that file not creating confusion anymore with multiple locations.

It would have to be on the first run - creating things in user
directories from the installation scripts of a system package is a very
bad idea and almost impossible to do properly.

Cheers,
--
Chris Jones

Romeo A. Cioaba (romeo-cioaba) wrote :

Chris,

what you are saying makes a lot of sense... as it is impossible to know on a multiuser machine which one of them would use the application. on first run makes a lot of sense.

A. Walton (awalton) wrote :

"providing we fall back to $HOME when it isn't set, I am happy to litter $XDG_CONFIG_HOME with our RC file"

Like stated, this is a bit silly. The base directory spec provides a fallback location (~/.config/terminator in this case), having a fallback to a fallback seems... unproductive.

Chris Jones (cmsj) wrote :

A good point. targetting to 0.9. I might still put in the double fallback for 0.9 though, simply because quite a few people are testing now and we will silently lose their settings when they install the actual release of 0.9

Changed in terminator:
milestone: none → 0.9
Olivier Guéry (nemolivier) wrote :

Having the config in $HOME/.config/terminator is a good idear.
I don’t know mutch about $XDG_CONFIG_HOME but here, on my ubuntu hardy, I don’t have this variable set, but I do have a $HOME/.config folder…

chantra (chantra) wrote :

Hi Olivier,

Yes, this is a standard behaviour.

As per
http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html

"""
$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.
"""

so, when it is not set, it defaults to ~/.config/appname

On Sat, 2008-06-14 at 22:40 +0000, Olivier Guéry wrote:

> Having the config in $HOME/.config/terminator is a good idear.
> I don’t know mutch about $XDG_CONFIG_HOME but here, on my ubuntu hardy, I don’t have this variable set, but I do have a $HOME/.config folder…
>

--
http://www.debuntu.org

Debuntu deb's repository

Chris Jones (cmsj) wrote :

We now only look at XDG_CONFIG_HOME or ~/.config/terminator/config.
While this might be annoying for testers, we should do the right thing for release.

Changed in terminator:
assignee: nobody → cmsj
status: Triaged → Fix Committed
Chris Jones (cmsj) wrote :

0.9 has now been released and should fix this.

Changed in terminator:
status: Fix Committed → Fix Released
A. Walton (awalton) wrote :

Thank you for your quick work!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers