• ouch@lemmy.world
    link
    fedilink
    arrow-up
    80
    arrow-down
    2
    ·
    1 year ago

    If you care, please take time to upvote or file bugs on packages that don’t follow XDG. Or even better, make PRs.

    • Kogasa@programming.dev
      link
      fedilink
      arrow-up
      23
      arrow-down
      18
      ·
      1 year ago

      Those bugs and PRs would just get closed without comment. Nobody is going to move a dotfile as a breaking change in any established software. You either get it right the first time or probably never.

      • nous@programming.dev
        link
        fedilink
        English
        arrow-up
        32
        arrow-down
        1
        ·
        1 year ago

        The software can read from both locations in a backwards compatible way. Many tools already do this.

        • CosmicTurtle@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          4
          ·
          1 year ago

          The best way to handle this is to have the next version move the old directory (if it exists) and then start reading from there.

          That way it’s in compliance from then forward.

          A UI notice is nice but will probably be ignored.

          • donnachaidh@lemmy.dcmrobertson.com
            link
            fedilink
            arrow-up
            11
            ·
            1 year ago

            That could break some peoples’ dotfile management, e.g. symlinks or git repos. I’d say deprecation notice and reading from both, at least for a while, is better.

      • duncesplayed@lemmy.one
        link
        fedilink
        English
        arrow-up
        24
        arrow-down
        1
        ·
        edit-2
        1 year ago

        Nobody is going to move a dotfile as a breaking change in any established software

        We have oodles of counterexamples to this. GIMP did it, Blender did it, DOSBox did it, Libreoffice did it, Skype did it, Wireshark did it, ad nauseum. It’s not really as big a deal as you make it to be (or a big deal at all). You have a transitional period where you look for config files in both locations, and mark the old location as obsolete.

        • Kogasa@programming.dev
          link
          fedilink
          arrow-up
          9
          arrow-down
          2
          ·
          1 year ago

          It’s not really as big a deal as you make it to be (or a big deal at all).

          It’s a big deal to developers who were inconsiderate enough to do it in the first place. To do it in a non-breaking, non-confusing way requires slightly more care than doing it correctly to begin with. Hence why your $HOME is still a giant mess.

        • Neshura@bookwormstory.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I mean if the code is well written it shouldn’t be hard in the first place. You likely have a sinlge code var for the config path already so instead of hardcoding it to be in $HOME make it check if the file is in XDG_Config, if not check if it’s in $HOME. If the file is in neither of these it does not exist -> create a new one in XDG_Config. If it does exist in $HOME -> Move it to XDG_Config.

      • gerdesj@lemmy.ml
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 year ago

        They will if enough people whine about it.

        In the old days (I’m 50+) tumbleweed drifted through ~/ apart from my drivel and I’d have a folder for that so /home/gerdesj/docs was the root of my stuff. I also had ~/tmp/ for not important stuff. I don’t have too much imagination and ~/ was pretty clean. I was aware of dot files and there were a shit load of them but I didn’t see them unless I wanted to.

        This really isn’t the most important issue ever but it would be nice if apps dumped their shit in a consistently logical way. XDG is the standard.

      • Imnebuddy@lemmy.ml
        link
        fedilink
        English
        arrow-up
        8
        ·
        edit-2
        1 year ago

        I know developers are busy, and I don’t mean to berate them for their choices or work. I only have a two year Computer Information Systems degree and haven’t programmed a lot for a while, but supporting the XDG specification and remaining backwards compatible doesn’t seem to be very difficult or would cause so much breakage (of course, the amount of work would depend on the software and how the hardcoded path is implemented). I look up git repository issues for the software and tend to find ubiquitous examples like vim to be resistant to such change: https://github.com/vim/vim/issues/2034

        This is really frustrating and leads me to find alternative software, such as neovim/doom emacs instead of vim, nushell instead of bash, etc., just to be able to clear up my home directory. I don’t mind if I have to wait for XDG to be supported, but many important projects just label the issue as “won’t fix”. I totally understand where you are coming from.

        List of software with hardcoded paths at this time: https://wiki.archlinux.org/title/XDG_Base_Directory#Hardcoded

        • Kogasa@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          If you install config files to the new location and prefer the new config file location over the old, you risk accidental misconfiguration when a system has both config files (e.g. in a build pipeline that installs the software and then copies the config to the old location). It is not impossible to solve, but there are questions that require some care if you have a large userbase and solidified codebase. More care than it takes to do it right the first time.

    • cbarrick@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      3
      ·
      1 year ago

      XDG is a Red Hat thing.

      Stuff outside of their influence is unlikely to change, like OpenSSH or ZSH.

    • aulin@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      A (very well used) program I use places files in $HOME. Someone argued for changing to $XDG_CONFIG or at least add that as an option. The dev, being used to the old school way, gave the exact opposite reason: that .config was just an extra level of organization when dotfiles are what the home dir is for. So I’m not sure how successful you would be with that approach.

      To be clear, I am clearly on the side of XDG, myself.