• Breezy@sopuli.xyz
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 days ago

    It’'s neat to learn about CSD. That flat frameless window with a custom title bar look is what I dislike the most about electron applications. Hopefully those become less apparent with these new updates.

    • ell1e@leminal.space
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 days ago

      This is a GNOME problem, not a Wayland problem. The article says “On X11, the window manager typically supplies a window’s title bar and frame decorations. But […] on Wayland, all you get back from the compositor is a plain rectangle.” which makes it sound like this is a Wayland problem, but this isn’t true.

      • Breezy@sopuli.xyz
        link
        fedilink
        arrow-up
        2
        ·
        2 days ago

        Ah I think I might be misunderstanding then.

        For this:

        Many popular apps, including Visual Studio Code, Obsidian, and Discord, use frameless windows with custom title bars. Prior to Electron 41, frameless windows did not support CSD at all, so they looked like featureless rectangles on Wayland.

        Am I misinterpreting that Electron on Wayland now supporting CSD for frameless windows would make it possible for developers currently using them to better mimic the look of Qt or Gtk apps (with shadows and rounded corners, etc.)?

        I’m using KDE Plasma and Electron apps sometimes have that sharp-cornered, shadowless window vs the way Qt or Gtk apps are rendered. The most noticeable difference for me is the lack of outline, rounded corners, or shadow.

        But do correct me if I’m wrong since I don’t know much about Electron development.

        • ell1e@leminal.space
          link
          fedilink
          English
          arrow-up
          5
          ·
          edit-2
          2 days ago

          Basically, on any sane window manager no matter if Wayland or X11, you’ll get the same frame for all apps for free.

          From all the big desktops it’s only GNOME that somehow decided server-side decorations weren’t a good idea implement, and now all Wayland apps have to hand-roll a hacky workaround. The “flat frameless window” look was Electron’s GNOME workaround. What the article is describing is a more elaborate GNOME workaround. On e.g. KDE, none of these problems existed in the first place.

          • Vittelius@feddit.org
            link
            fedilink
            arrow-up
            4
            ·
            2 days ago

            That’s only mostly true and more importantly not what this is about. Yes Gnome and Mutter don’t support server side decorations. But Electron on Linux uses GTK to construct the application window. And GTK offers client side system styled window decorations. Meaning that electron applications aleady supported decorations that look and feel like server side decorations even if they are not.

            Electron already had some support for client-side decorations, provided by a class called ClientFrameViewLinux which uses GTK to paint convincing native window frames. These look very similar to the ones GNOME used to supply on X11, but they are produced entirely in-framework.

            No, the problem is with custom styled window decorations. Developers who wanted to do CSDs couldn’t without major downsides. And that was also true on KDE Plasma, as evidenced by this screenshot from the article you evidently didn’t read

            See how the window for VS Code doesn’t throw a shadow compared to Dolphin? That’s because electron didn’t support CSDs properly. And now that it does the window looks like this:

            That’s what we are talking about.

            • ell1e@leminal.space
              link
              fedilink
              English
              arrow-up
              3
              ·
              edit-2
              2 days ago

              I appreciate the clarification! However, 1. the original comment seemed to be talking about a simple uncustomized frame not looking correct, which sounds like the GNOME problem. And 2. the article still seems to imply Wayland means no SSD, as far as I can tell, which to my knowledge as a general statement isn’t true.

              Therefore, I apologize for misreading the main intention of the article, but I think there are multiple reasons why people might misread it. Perhaps some clarifications could help?

              • Breezy@sopuli.xyz
                link
                fedilink
                arrow-up
                1
                ·
                2 days ago

                Yeah, what Vittelius mentioned is correct, it’s more that I don’t like how most Electron apps on Linux look due to the lack of CSD, causing that flat shadowless look in the screenshot with VS Code next to Dolphin. So, if anything here’s to hoping more devs will test their Electron apps on Linux Desktop Environments/windowing systems to make their apps look more native in these environments. But I do appreciate the clarification on SSD, it’s nice for me to finally learn the terminology used to describe why I find most Electron apps on Linux to look janky.