mac users:

You download a techincally-oriented GUI app with a plain text config file format (let's say KDL or such) that you're encouraged to open. You expect it to be located in...

I'd love to hear thoughts on this in the replies

~/Library/Application Support/com.vendorname.prog/
~/Library/Preferences/com.vendorname.prog.file
$XDG_HOME/prog/
somewhere else
Poll ends at .
@mattly old Mac me would have said Preferences, but modern apps seem to prefer to be under Application Support.
@mattly the majority is wrong.
@janl *I* agree with you but this is one of those things where doing what I consider right ($Xdg_Home) is a lot more difficult than going with defaults (what the majority says)
@mattly eew no, Library/Preferences.
@janl heh; I think the thing with that directory is you’re supposed to put plist files there
@janl that said it is one one place in Library that I feel confident backing up without making exceptions because some idiot is using it for cache files

@janl digging into this a bit more, macOS only wants .plist files in Library/Preferences, and if you're working with the sandbox APIs that's apparently the only thing it'll let you put there

some apps are putting other things there in directories but apparently this might be forbidden in a future OS version

if you want a cross-platform config format, macOS wants you to put it in ApplicationSupport, as that's where "configs" go

getting the actual value of $XDG_HOME from a GUI app double-clicked in the finder is difficult, it seems many apps which claim to do this just hardcode $HOME/.config instead

meanwhile my ApplicationSupport dir sits at 116 GB, most of which are resources apps have downloaded from the internet, but also a few GB of cache files

what a shitshow

@mattly that deprecation warning is nearing two decades of age :)
@mattly if it’s something I’m expected to edit, just use dot files? Or does Apple make that a permission thing to read?
@hugg the thing about XDG_HOME is that if you’ve customized it, you probably customized it in a login shell, and th environment variable isn’t available to an app you double-clicked in the finder; getting it requieres invoking a login shell and reading its environment
@mattly I guess that makes sense. If it's one file, Preferences makes sense to me (#old). If anything more than one file, I guess app support? But only my 2c.

@hugg so the way the system APIs work,

“Configs" belong in Application Support
“Preferences" are plist files which belong in Preferences

it seems if you want to have a cross-platform config file format, macOS wants you to put it in Application Support

which many apps also stuff cache files in, making it a real bear to backup

UGH