AppData folder: am I a joke to you?
It’s frustrating when apps apply Linux-specific behavior to other platforms. No windows apps should be just throwing hidden folders into the user directory!
I began using SMPlayer, which uses MPV, and yeah, it was confusing having to mess around in %localappdata%. But unironically, having to do so kinda prepared me for the switch to linux, what with getting used to using the filesystem.
Is there an easy to find style guide of how Windows would like you to use these things, cause I never found one.
Appdata, my documents, program files… Everyone seems to be all over the place
Program files require admin
Appdata doesn’t
Documents doesn’t either but in theory it’s for files you want the user to edit or backup
I believe the intent is to use appdata for user-specific configs and programdata for system-wide configs.
A lot of apps mess up local vs roaming AppData too. Roaming is for things that would make sense in a roaming profile (ie to sync to other systems) whereas local is for things that should only exist on this system (caches, machine-specific configs, etc)
The nice thing about Free software is that distros can fix these programs that store things in the wrong location. My Debian home is a lot cleaner than my Arch.
fun fact: that dotfiles are hidden on *nix systems was just a bug in the first version of ls (the dev originally only wanted to hide the “.” and “…” entry and not every file starting with .), but before the 2nd version could roll around, people have already deemed it a usefull feature so it was never changed.
That’s neat!
don’t do
ls -la
at your home directoryAmazed that no one can figure out a .config/ or .local/ already
Sure, AppData exists, but do you expect them to… read?
Are dotfiles a thing on Windows? It’s been a while since I used it.
No. Hiding files is still just an attribute.
Actually, technically, it’s two. Files marked as system files are treated as hidden as well…
With the downside that files marked as hidden on windows generally can’t be read by tools and scripts in the way you expect it.
They are in subfolders of C:\Users\Username\AppData\Roaming or \Local or \LocalLow.
Or in the program’s installation path in C:\Program Files or \Program Files(x86).
Or in a separate directory directly under C:\ Or the settings are handled via Registry keys.
Or whatever the fuck Microsoft Store apps do.
Or any combination of the above.Hey, don’t forget about C:\ProgramData !
I remember that much lol. I should have clarified, I was trying to ask why are there dotfiles in the screenshot
Man: project zomboid just creates a “Zomboid” folder in home, not even with a leading dot.
whispers Zombocom
I think ~ is the appropriate folder at least for the . folders, but I’ve often wondered why they’re not attrib +h. 🤷♂️
True on linux, but not on Windows. There is the “Appdata” (Application Data) sub folder for that. The users profile is meant for the users personal files - but way too many apps ignore that.
Makes me think that probably a multiplatform-compat library points the apps there?
No, not true on Linux. We have the XDG folder specifications to specifically not have our ~ cluttered with random shit.
Doing this on Linux is no better than doing it on Windows.
TIL; good to know, thank you!
AFAIK appdata are stored in ~/.local/share, but you don’t even have that folder!?!?!
It’s not the Linux convention that’s fucked up in this regard, but your system.
If you want it stored in ~/AppData, you need to make a link to it from ~/.local/share.I’m no expert, so there may be other ways to do it. but apparently your system doesn’t follow conventions.
He’s using windows.
But while we’re on the subject, ~/.local/share is cancer and shouldn’t exist.
The appropriate path is /usr/share.
I have a SystemD service that will erase anything written to that godforsaken .local folder, and if that breaks your shitty software then I’ll assume your shitty software doesn’t work and delete it and spam issues about it until you fix it or find a different career doing something productive, like cooking McRibs.
The appropriate path is /usr/share.
That’s a global folder, and not proper for storing “per user” data.
I have a SystemD service
The irony is how lennart and his cancer approached standards, top to bottom.
Now I want McRibs.
/usr/share? How is a random app getting write permissions to that?
I’m a little confused by that statement. Where should locally installed (non-sudo) applications, such as virtual python envs who are accessed by multiple other not-necessarily-python apps or perhaps baloo, flatpak, etc, store their shared data? I’m rather convinced that giving all users write access to /usr/share is a terrible idea.
I even have a couple of things that found ~/.local but missed /share
He’s using Windows
WHAT? So he chose an OS that doesn’t follow Linux standard on PURPOSE?!?! That doesn’t make much sense. 😋
This is why i never use the default folders, I will always make my own elsewhere.
If you’re on a Windows box, the apps you’re calling out are assuming some level of FHS or XDG compatibility, neither of which are Windows things.
If you’re on a mac, macOS uses its own thing but can play well with dotdirs. However, you’ll find a mix of assuming XDG and weird macOS storage locations depending on how the tool determines storage location priority.
If you’re on Linux, there are too many standards.
Though, XDG says you need a .config/|.local/… fallback, if the variables are not set.
Nobody wants to develop a tag-based filesystem?
Bring back WinFS.
Developing it would be way above my skills but I’ve been fantasising about it for a long time. https://lemmy.world/comment/14344097
Same. I think it would be more friendly for end-users too.
Just sounds messy and impractical
It’s basically in use today. Apparently younger generations are more used to searching for files rather than structuring them. https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z
What would that be?
I hate it. I think a lot of devs who write cross-platform open-source software just use the %userprofile% automatic env variable to dump dotfiles in Windows since it can basically directly replace $HOME. In my opinion using something like %localappdata% is definitely preferred.
Files and directories starting with a dot are hiden by default. You are aksing for this stuff if you manually unhide them.
Screenshot is from Windows where dotfiles aren’t hidden by default. And all the lazy developers that created those directories, didn’t bother to set the hidden attribute (See appdata is greyed, because it has the hidden attribute set)
To be fair, those Windows directories might have a space in them and break things anyway.
Directories can have spaces in their name on other platforms too. On Linux, you can set the XDG environment variables to whatever you want, so eg. instead of using
~/.config
for config files, you could use~/My Config Files
Is it a good idea? No. Should every well-behaved app handle it? Definitely.
There are a million reasons to access those folders. There are 0 reasons to leave them hidden.
only if you are a power user. for most people its just clutter in the way of the files they are looking for.