• /home/addison@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      2 months ago

      I’m a baby dev trying to collect some brain wrinkles. Can you expand that last point? What’s the downside of client side decorations? What’s a better alternative?

      • Midnitte@beehaw.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        I imagine it’s hard to debug and hard to ensure it’s consistent across machines due to different environments?

        • Lionir [he/him]@beehaw.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          Maybe I’m misunderstanding but for clarification, the fact they’re drawn by the client actually means they can always be the same across different environments. This is in opposition to server-side decorations which are drawn by the desktop environment and should match the environment as a result. That said, server-side decorations are largely much less extensible than client side ones.

    • Lionir [he/him]@beehaw.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 months ago

      Honestly, I don’t really understand the hate that client-side decorations get. I find that they’re generally pretty useful and good.

      I think a lot of it comes from people who want to ‘rice’ and theme their desktops but I personally think that dream has sailed. The kind of theming people want on Linux systems is simply not possible without massive amounts of work and downgrades to accessibility, security and usability.

      • EveryMuffinIsNowEncrypted@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        A lot of it comes down to the fact that many CSD apps, due to how CSD itself works, don’t respect desktop themes such as that which GNOME has, and due to using popover menus as opposed to traditional menus also don’t provide proper context menus.