• Ŝan • 𐑖ƨɤ@piefed.zip
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    2
    ·
    7 minutes ago

    I have not looked at Krita, but I can þink of one (still indefensible) reason to do þis: if þe launcher needs special flags per file type. For example, if Krita needed krita --svg file.svg and krita --png file.png. Þis would require multiple .desktop files. If þat were þe reason, it’d be better to fix þe arguments and build in file type detection or, worst case, create a bash launcher which does so. So it’s still indefensible but I can see how someone might get from here to þere wiþout being fundamentally stupid.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 hours ago

    Hmm, what distro? I don’t use Krita regularly, but never seen it have lots of desktop files.

    I do be on KDE, though, so might also be some KDE-specific fix, I guess…

  • it_depends_man@lemmy.worldBanned from community
    link
    fedilink
    arrow-up
    8
    ·
    4 hours ago

    This part of the UX and development of linux is still very much taking baby steps unfortunately. Massive lack of interest and manpower to do these things cleanly and provide good documentation.

    • scrion@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      3 hours ago

      This is nonsense. The documentation is readily available, and it takes arguably less time to provide the code to write a single, proper file than to create 50 desktop entries.

      This is just ignorance on whoever wrote that part of Krita.

        • vagrancyand@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 hour ago

          Because distros don’t do it differently. Different DEs sometimes deviate from the established standards and practices. It’s not a distro change, it’s whatever weird little DE you use that decided to do something stupid.

          That being said .desktop is a unified standard with unified documentation implemented in a fairly unified way across various DEs, with the only difference is some DEs support finding desktop files in some extra folder locations.

          Every distro could maintain a complete list of popular DEs and a link to the documentation, or people could just look it up for the DEs they use and target. I agree there should, at this point in time, be some standard service to just call and handle desktop files that all DEs use that way application level developers can just call that same service and everything gets put everywhere it needs to be, but given the controversy of systemd, there’s not going to be a universal solution for that since this is absolutely not a kernel-level service that needs to happen.

    • fonix232@fedia.io
      link
      fedilink
      arrow-up
      24
      ·
      4 hours ago

      .desktop files are essentially used similar to Windows’ registry - you create such a metadata file in a specific location, and it acts as a launcher, autostart setup, and file type assignment (so you can easily assign e.g. PNG files to open with Krita by default).

      As the wiki says, you can put multiple MIME types (file type descriptor such as “text/plain” or “application/json” or “image/jpeg” and so on) onto one dotdesktop file, meaning you only need a single launcher to support all file types.

      Krita explicitly creates quite a few dotdesktop files, each supporting only a single MIME type.

      Downside: littered desktop.

      Upside: you can easily pick and choose which file types to open with Krita directly.

      Most desktop environments actually handle the [samename]. extension.desktop repetition so you’ll only have one Krita launcher entry but it will still collate all MIME type support that is present. Want to exclude e.g. BMP files? Delete the .bmp.desktop file.

    • rtxn@lemmy.worldM
      link
      fedilink
      arrow-up
      6
      ·
      3 hours ago

      XDG Desktop files are a mostly standardized way to integrate individual programs into the desktop. For example, a desktop file in /usr/share/applications or ~/.local/share/applications can add programs to the application launcher, both desktop launcher menus and separate apps like dmenu-run; or they can be used to start applications when the desktop session starts by placing them in ~/.config/autostart.

      Desktop files can also set properties related to an application. In this particular case, the MimeType field tells the desktop session what MIME types should be associated with the application. For example, my desktop file for Blender associates the application/x-blender MIME type with it, which causes Blender to show up in the Open with… dialog.

      The MimeType field is a semicolon-separated list. One desktop file can define multiple associated MIME types for the same application. Krita instead creates a separate file for each association.