New config file structure

I’ve pushed a series of commits to deal with Location of personal init file (XDG_CONFIG_HOME). The commit message on the main repo is

    MODIFIED: Place the personal init file in a common place on all
    operating systems.  This directory is located in one of the directories
    below and names `swi-prolog`
    
      - Windows: CSIDL directory APPDATA (see win_folder/2)
      - Otherwise
        - $XDG_CONFIG_HOME
        - $HOME/.config
    
    In this directory we find:
    
      - init.pl (previously .swiplrc or swipl.ini (Windows)
        Personal initialization file
      - lib (previously ~/lib/prolog)
        Personal library
     -  pack (previously ~/lib/swipl/pack)
        Installed add-ons.
      - xpce (previously ~/.xpce)
        Directory holding xpce application data
    
    If you use multiple versions we suggest to create the new hierarchy and
    make symbolic links from the old locations.  Windows users will have to
    live with copies.

If you update by pulling git and running make/ninja instead of using a clean build you get a crash from xpce. This can be solved by first running this to delete the quick load files. At some point this should be fixed in the CMake files :frowning:

find . -name '*.qlf' | xargs rm

I don’t think the conversion is too painful. If you disagree and see (simple) ways to improve, please share.

1 Like