AppData folder: am I a joke to you?

  • JTskulk@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    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.

  • Buffalox@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    9
    ·
    16 days ago

    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.

      • Buffalox@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        16 days ago

        WHAT? So he chose an OS that doesn’t follow Linux standard on PURPOSE?!?! That doesn’t make much sense. 😋

    • LainTrain@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      7
      ·
      edit-2
      15 days ago

      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.

      EDIT: Okay to be clear I mean that anything that could be global should go into /usr/share and massively save on space and effort if another user needs the same stuff.

      Anything that doesn’t need to be global doesn’t need to go into /use/share but somewhere else in ~/.

      The way it is now my ~/.local is a massive dumping ground of crap from configs to static app resources that should go into /usr/share to entire applications with snap or flatpak (why I don’t use them) to random config files.

      It’s just a nasty mess on my home partition when it in most cases really doesn’t need to be.

      Users below rightfully pointed out many exceptions like venvs and while I still believe there should be a more correct place for them to go e.g. (~/.venv, ~/.flatpak), but obviously they shouldn’t go into /usr/share willy-nilly.

      I have removed the sass below because I should’ve been more comprehensive in my criticism before ad-hominem.

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        16 days ago

        I have a SystemD service

        The irony is how lennart and his cancer approached standards, top to bottom.

        Now I want McRibs.

      • Buffalox@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        16 days ago

        The appropriate path is /usr/share.

        That’s a global folder, and not proper for storing “per user” data.

      • dev_null@lemmy.ml
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        16 days ago

        /usr/share? How is a random app getting write permissions to that?

      • Ekky@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        16 days ago

        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.

  • ronflex@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    16 days ago

    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.

  • RubberDuck@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    16 days ago

    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

    • PaintedSnail@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      16 days ago

      I believe the intent is to use appdata for user-specific configs and programdata for system-wide configs.

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        7
        ·
        16 days ago

        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)

    • ILikeBoobies@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      ·
      16 days ago

      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

    • pivot_root@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      ·
      edit-2
      16 days ago

      No. Hiding files is still just an attribute.

      Actually, technically, it’s two. Files marked as system files are treated as hidden as well…

      • Bruno Finger@lemm.ee
        link
        fedilink
        English
        arrow-up
        5
        ·
        16 days ago

        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.

    • superkret@feddit.org
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      16 days ago

      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.

  • Tarnith@lemmy.ca
    link
    fedilink
    English
    arrow-up
    7
    ·
    15 days ago

    Amazed that no one can figure out a .config/ or .local/ already

    Sure, AppData exists, but do you expect them to… read?

  • Sonotsugipaa@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    55
    arrow-down
    1
    ·
    16 days ago

    Everyone here is talking about conventions used on Linux, but this looks like Windows Explorer to me…?
    Why are there so many directory names in there following Linux “hidden file” conventions, if that’s the case?

    • AnyOldName3@lemmy.world
      link
      fedilink
      English
      arrow-up
      65
      ·
      16 days ago

      If you write cross-platform software, the easiest solution is usually to pretend everything’s Unix. You’ll hit some problems (e.g. assuming all filesystem APIs always use UTF-8 will bite you on Windows, which switched to UCS2 before UTF-8 or UTF-16 were invented, so now uses UTF-16 for Unicode-aware functions as that’s the one that’s ABI compatible with UCS2, and passing UTF-8 to the eight-bit-char functions requires you to opt into that mode explicitly), but mostly everything will just work. There’s no XDG_CONFIG telling you to put these files anywhere in particular, as Windows is Windows, so most things use ~ as a fallback, which Windows knows to treat as %USERPROFILE%.

      • merthyr1831@lemmy.ml
        link
        fedilink
        English
        arrow-up
        10
        ·
        16 days ago

        Lots of frameworks for applications and games have automatic translation of file paths to sensible directories, but when you’re writing software you’re probably doing shit fast and dirty until it’s ready for release, by that time you now have a bunch of people relying on your software so changing the file structure will cause loads of issues.

    • keinBloudsinn@lemmings.world
      link
      fedilink
      English
      arrow-up
      38
      ·
      16 days ago

      This is not a Linux or Windows thing. It’s a lazy developer thing. It’s also another one of the ways that some devs will coddle the end-user because “learning a file directory system is hard.”

      • Sonotsugipaa@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        16 days ago

        I’m pretty sure the .file notation is a bug-turned-feature of a GNU coreutils program, Windows has no such thing and marks files as hidden using filesystem attributes.

        I couldn’t say whether I prefer it one way or the other, but the dot prefix does stick out like a sore thumb on systems that don’t hide them by default… though I think AnyOldName3’s explaination makes sense.

      • ToxicWaste@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        16 days ago

        for someone regularly using both: it is a convenience feature.

        that way i just know config files are under ~/.myApp. if windows devs would beore consistent, i would be ok with %APPDATA%\myApp. however, too often it is under %APPDATA%\..\Roaming\myApp - which is just a pain. so i prefere linux style on windows.

        edit: copy paste error

        • Pieisawesome@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          5
          ·
          16 days ago

          Roaming and local are there for reasons.

          Mostly enterprisey ones, but roaming “roams” with your user profile.

          If you have ever used a system where you could sign onto any computer and your stuff would be there, it’s mostly due to roaming folder.

          Local is local to the pc and does not roam to others

        • pivot_root@lemmy.world
          link
          fedilink
          English
          arrow-up
          10
          ·
          edit-2
          16 days ago

          I see your point, but as someone who prefers my home folder be my home folder, I prefer they put it under ~/.config regardless of what operating system is being used.

          • ToxicWaste@lemm.ee
            link
            fedilink
            English
            arrow-up
            2
            ·
            16 days ago

            yes, i could get behind that. problem is probably that this is such wide spread by now, that it would take a really long time to use that new standard.

    • Xanza@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      15 days ago

      Because developers use cross-compilable languages to pump out Windows executables without knowing or understanding or caring about the Windows environment. I mean, ~/.whatever still works under Windows.

  • waigl@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    12
    ·
    16 days ago

    Files and directories starting with a dot are hiden by default. You are aksing for this stuff if you manually unhide them.

    • Magnetic_dud@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      16 days ago

      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)

      • sik0fewl@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        16 days ago

        To be fair, those Windows directories might have a space in them and break things anyway.

        • dan@upvote.au
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          16 days ago

          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.

          • sik0fewl@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            15 days ago

            Ya, I’m just joking about apps, or especially scripts, not handling it properly.

      • umbrella@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        16 days ago

        only if you are a power user. for most people its just clutter in the way of the files they are looking for.

  • anyhow2503@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    16 days ago

    The guidelines for Windows developers kinda suck tbh. Maybe it’s better these days, but plenty of weird legacy software behaviour can be blamed on MSDN.

    • DaFuqs@feddit.org
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      4
      ·
      16 days ago

      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?

      • FooBarrington@lemmy.world
        link
        fedilink
        English
        arrow-up
        25
        ·
        16 days ago

        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.

  • BeigeAgenda@lemmy.ca
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    16 days ago

    They are using windows wrong, put everything on the desktop and don’t worry about all those scary files everywhere else.

    /S

    • Unbecredible@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      15 days ago

      Why does Redhat auto mount my extra hard drives at /run/media but Debian & Co put it in /media/?

      hmmmm? Exactly. 9/11 was an inside job.

    • Matombo@feddit.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      16 days ago

      on modern systems bin, sbin, lib, and lib64 are just symlinks to their respective /usr/* counterparts

    • umbrella@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      16 days ago

      is it just me or these look a bit arbitrary

      and id love to understand the logic behind whats inside /home cause it seems way too chaotic to me

      • jalkasieni@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        2
        ·
        16 days ago

        The FHS is a real thing, the second picture is some indian techblog nonsense. ”Unix System Resources” lmao.

        • IceFoxX@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          16 days ago

          I can’t remember if I got it from here or from reddit. I just saved both of them.

          However. I know temporary mountpoints from the distributions e.g. under /run/media/user/*** and not under /mnt