I have a Mac, not an XDG desktop. I would only expect and want X applications I run through Xquartz (all zero of them) to follow that.
None of that shit should live in .local. I have a "local" already, it's called ~/Library. There's a Caches folder in there. Also a Preferences folder.
At the very least why make local a dot-folder? Why add the extra keystroke? Local? Local to what?! Of course it's "local" it's my fucking home folder, everything in it is "local" to me. It's redundant. It just further supports that the convention is stupid.
Even when I'm on my Linux computers, where it is at least a half-assed convention, I still hate this crap. The XDG directories and hierarchy are bad and dumb. None of them should be "dot" anything. Hiding clutter under a dot is like hiding clutter in your house under a rug. It's not organization, you just have a big mess you don't have to look at but you have to step around all the time. NeXT solved this shit 30+ years ago and they cleaned it up 25 years ago. You put it in a box (~/Library) with a clean label of a proper noun (Preferences, Caches, Keychains, Extensions, etc) that identifies it, stow it somewhere out of the way but accessible, so you can find it when you need it but otherwise not have to look at it. 84 little dot folders could all be swept out of sight by moving them into the Library, one single folder in my home, but instead, they just sit under a big dot rug in the middle of it.
Apple does commit one sin here and that is hiding the user Library folder by default, but that is part of making computers work for mere mortals as dumb users will go and delete their Library folder to save space and break shit, but that uses a proper file system flag not this crappy convention from half a century ago that breaks sorting.
All that said, I do agree that at the very least Linux apps should be following $XDG_CONFIG and only if unset, pollute the home folder. It's a fucking if-then-else. No excuse. I shouldn't be seeing shit like ".arduinoIDE" or ".claude" Claude should be able to add this feature on its own anyways.
> I have a Mac, not an XDG desktop. I would only expect and want X applications I run through Xquartz (all zero of them) to follow that.
XDG has nothing to do with X11. XDG stands for "Cross-Desktop Group," and is designed specifically for any Unix or Unix-like operating system, which includes macOS.
XDG stands for X Desktop Group. It absolutely does not stand for Cross Desktop Group and has nothing to do with macOS or Windows, outside of aforementioned X apps on Quartz via XQuartz which as far as I know is completely dead.
the successor to xdg, freedesktop.org, however is acknowledging the need for cross platform openness. that's exactly why you indeed can configure where the three main "stores" of compliant applications, their config, their data and their caches.
you can point them to %APPDATA%..., ~/Library or the Linux defaults.
my point in this is: there are free and open conventions and we wouldn't need this "my HOME is cluttered" fuss, if technical teams would embrace them.
so why don't they respect XDG_ env vars for their config and data?
The need for cross platform openness? Did anyone at FDO ask Apple or Microsoft if they wanted to comment or make suggestions on the basedir spec? Did FDO look at either of the platforms' existing specifications and see if there were any ideas they could copy? Or did they just do a Linux-oid thing, disregarding norms and specifications that exist already on the other platforms they didn't invite to the party, and force some weird thing onto those platforms under the assumption that it was good because its open and cross platform.
My complaints come from two things.
1. On my Linux computers, I am inundated by bad applications that do not follow the conventions set out by XDG for basedir. The one good thing basedir lets me do is set my own goddamn directories that aren't dot-file trash, but I still can't depend on it being followed or respected. On this, we seem to agree. But I think the defaults from basedir are terrible and dot-files in general are terrible stupid things, hence the rant.
2. On my Windows and Mac computers, there is no reason for XDG envvars to be set because they do not purport to follow XDG basedir specifications. Thus, even though I could set an envvar for XDG_CONFIG and so on, they are more often ignored by crappy developers. However, I am still highly annoyed by now having at least two places where all of this crap might be, because even if an app developer follows XDG, it is up to me to force them to follow the platforms conventions. All of the basedir directories already have better analogue on macOS, it's ~/Library. Why shouldn't it be on the developer to do a simple `if macOS then put config data in ~/Library/Application Support/APPNAME and caches into ~/Library/Caches/APP_NAME` as is expected and typical on the Mac? Especially since there are no easy ways to set envvars for GUI applications on the Mac, what, am I supposed to make my own shortcuts for everything to set 5 XDG_BLANK envvars to launch an app instead of double-clicking an app bundle?
That is a backronym[1], it absolutely meant X Desktop Group and likely changed to "Cross Desktop Group" when they switched to Wayland. D-Bus, .desktop files, MPRIS are all listed as FDO specifications alongside the Desktop basedir spec and none of them are appropriate for macOS either.
FDO applies to Linux and "Unix-Like" Operating Systems. macOS is not "UNIX-like", Apple still bothers to get it certified under UNIX 2003 so it is technically not a Unix-like. Again, just because it has a /usr folder and a /var folder and can run a bash shell out of the box doesn't mean all the same mostly just OK standards from Linux should be copy-pasted over.
None of that shit should live in .local. I have a "local" already, it's called ~/Library. There's a Caches folder in there. Also a Preferences folder.
At the very least why make local a dot-folder? Why add the extra keystroke? Local? Local to what?! Of course it's "local" it's my fucking home folder, everything in it is "local" to me. It's redundant. It just further supports that the convention is stupid.
Even when I'm on my Linux computers, where it is at least a half-assed convention, I still hate this crap. The XDG directories and hierarchy are bad and dumb. None of them should be "dot" anything. Hiding clutter under a dot is like hiding clutter in your house under a rug. It's not organization, you just have a big mess you don't have to look at but you have to step around all the time. NeXT solved this shit 30+ years ago and they cleaned it up 25 years ago. You put it in a box (~/Library) with a clean label of a proper noun (Preferences, Caches, Keychains, Extensions, etc) that identifies it, stow it somewhere out of the way but accessible, so you can find it when you need it but otherwise not have to look at it. 84 little dot folders could all be swept out of sight by moving them into the Library, one single folder in my home, but instead, they just sit under a big dot rug in the middle of it.
Apple does commit one sin here and that is hiding the user Library folder by default, but that is part of making computers work for mere mortals as dumb users will go and delete their Library folder to save space and break shit, but that uses a proper file system flag not this crappy convention from half a century ago that breaks sorting.
All that said, I do agree that at the very least Linux apps should be following $XDG_CONFIG and only if unset, pollute the home folder. It's a fucking if-then-else. No excuse. I shouldn't be seeing shit like ".arduinoIDE" or ".claude" Claude should be able to add this feature on its own anyways.