Comment by delusional
1 day ago
It all sounds so easy, until you learn about the XDG Base Directory Specification[1]. You're actually supposed to do a whole song and dance around a hierarchical set of environment variables, associated defaults, and resolution orders.
Interfacing with people is never easy.
No. Actually, it's easy. Just check for directory env or use a fallback. For example here's how you'd do this in bash:
XDG_*_DIRS are a bit more complicated, but nothing that can't be solved with a simple for-loop in any modern programming language.