• tuna@discuss.tchncs.de
    link
    fedilink
    arrow-up
    22
    ·
    6 months ago

    XWayland normally runs x11 apps seamlessly (more or less) in Wayland

    XWayland rootful spawns a window which is like a virtual monitor running a full x11 session inside it. You spawn apps inside of the window using the DISPLAY variable

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      26
      arrow-down
      3
      ·
      6 months ago

      Still, the Xwayland window is missing a title bar that would allow for moving the window around.

      This is because Wayland does not decorate its surfaces, this is left to the Wayland client themselves to add window decorations (also known as client side decorations, or CSD for short).

      This however would add a lot of complexity to Xwayland (which is primarily an Xserver, not a full fledged Wayland application). Thankfully, there is libdecor which can fence Xwayland from that complexity and provide window decorations for us.

      This seems… ridiculous. Windows and MacOS developers don’t worry about creating decorations. And they don’t worry about that “adding a lot of complexity”. Even with X11 you get decorations from the WM without any work. I know I don’t understand the glory that is the Wayland architecture and that a bunch of folks will now angrily tell me all the numerous ways in which I’m not only wrong but but also stupid but… It just seems weird is all.

      • Confetti Camouflage@pawb.social
        link
        fedilink
        English
        arrow-up
        31
        ·
        6 months ago

        iirc mandatory Client Side Decorations is only a Gnome on Wayland thing and everyone else has support for both Client and Server Side Decorations.

      • TurboWafflz@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        6 months ago

        Honestly I feel like it doesn’t really matter either way, it adds a little complexity for the people maintaining qt and gtk and things like that, but most actual application developers aren’t interacting directly with the display server so it doesn’t make much difference for them

      • Semperverus@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        6 months ago

        I think that the reason for all the weirdness in wayland is because they are considering more usecases than just desktop with taskbar and window title bars with _ [ ] X buttons. Think signage, mobile interfaces, kiosks, and other weird non-traditional interfaces. Its why absolute window positioning is dumb the way it is too.

      • callyral [he/they]@pawb.social
        link
        fedilink
        English
        arrow-up
        4
        ·
        6 months ago

        I though only GNOME cared about having client-side decorations? Probably why any GNOME app I have has an annoying toolbar when I’m using a tiling window manager.

        • leopold@lemmy.kde.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          6 months ago

          Indeed, but GNOME is big enough to veto against anything they dislike getting into Wayland. And indeed, TWMs were brought up as a big reason why CSD sucks; window decorations primarily contain controls for the window manager and the form these controls should take depends entirely on the nature of the window manager, therefore the window manager should draw the controls. But GNOME doesn’t want to perform the oh so difficult task of providing window controls to apps that don’t provide their own under Wayland, so too bad.