Re: [RFE] STR #3370: use XDG basedir-spec

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.bugs  ]
Previous Message ]New Message | Reply ]Next Message ]

Re: [RFE] STR #3370: use XDG basedir-spec Albrecht Schlosser May 17, 2020 top right image

[STR Active]

Version: 1.4-feature

@Greg: I agree that this (the whole standard) appears to be pretty
complicated with all the defaults and exceptions, but the basic changes
are, broken down to where the FLTK (user) preferences would be located:

  change "~/.fltk/" to "~/.config/fltk"

The new location seems to be as easy to remember as the previous location,
particularly since [in the future] all config files *should* be located
under '~/.config/'. This has the advantage that the user's home directory
doesn't get cluttered with too many config files and dirs. See the OP's
message in GitHub issue #79: "I would like to move .fltk out of my $HOME
directory and into $XDG_CONFIG_HOME".

However, I do also agree that it would be an issue if you have two
different locations in FLTK 1.3 and FLTK 1.4 and switch applications (i.e.
FLTK versions), especially as a developer. But this can be resolved by
using the old location if the folder '~/.fltk' exists (in both versions)
and use the new location '~/.config/fltk' *only* if the old folder does not
exist (FLTK 1.4 only).

In this way users can manually move their '~/.fltk' folder to
'~/.config/fltk' once they're satisfied with the new location and don't
plan to use FLTK 1.3 any more. I believe this to be doable. If need be we
could also backport this to a new FLTK 1.3.6 release which would give users
a clean (and optional) migration path.

BTW: before I wrote this reply I did "the same" with my Git user (global)
config file. I checked `strace git config --global --list` with and found
that I had these config files related to Git

  (a) ~/.gitconfig         # git:  old location
  (b) ~/.config/git/gitk   # gitk: new location

I could move '~/.gitconfig' to '~/.config/git/config' and my Git config
kept working. Git docs say related to the global (user) config file: "The
next place Git looks is the ~/.gitconfig (or ~/.config/git/config) file,
which is specific to each user"

Finally it could be as easy as this, either '~/.fltk/*' or
'~/.config/fltk/*'. Doesn't sound too complicated, does it?

One final remark (for now): Matt *did* already change and document some of
the Fl_Preferences locations in a recent commit in FLTK 1.4 and I'd like to
continue this with the new standard in mind. This way we can have this all
done in FLTK 1.4.0.

Version: 1.4-feature

Direct Link to Message ]
bottom left image   bottom right image
Previous Message ]New Message | Reply ]Next Message ]

Comments are owned by the poster. All other content is copyright 1998-2022 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to ''.