Announcement

Collapse
No announcement yet.

XDG Top-Level Drag Protocol Approved For Wayland

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • XDG Top-Level Drag Protocol Approved For Wayland

    Phoronix: XDG Top-Level Drag Protocol Approved For Wayland

    Merged today to Wayland-Protocols is xdg-toplevel-drag, the protocol that's been under discussion for the past nine months for handling applications that request a window is moved at the same time as a drag operation...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    9 months for an obvious requirement after 15+ years of development a terrible statistic. it's great that they have this, but obvious that wayland needs to have biweekly meetings to bring all the players together so all the things app and compositor developers think should be standardized is being dealt with. any sign of such organization would go a lot of way with the wayland skeptics that look at things like this as evidence that wayland project is wandering the desert and not going to get to the promised land any time soon. I think it would be a lot better that the wayland cabal could give some tentative pre-approval of any future standardizations so that people aren't discouraged to design a protocol for it to just get shot down like has often happened in the past.

    Comment


    • #3
      So Wayland needs a protocol for every poop? Does not sound convenient nor sustainable for UI developement.

      Comment


      • #4
        Now I see why everyone says that Wayland is the future. Ha!

        Comment


        • #5
          I've always been able to drag tabs between Firefox windows in a Wayland session so I'm a little confused. I'm hoping somebody who is more familiar with the protocol can chime in on it. I'm looking a the comments so far and I feel like there might too many libertarian neckbeard wizards here for that to happen though.

          Comment


          • #6
            Originally posted by Myownfriend View Post
            I've always been able to drag tabs between Firefox windows in a Wayland session so I'm a little confused. I'm hoping somebody who is more familiar with the protocol can chime in on it. I'm looking a the comments so far and I feel like there might too many libertarian neckbeard wizards here for that to happen though.
            The feature that this protocol adds over the core protocol DnD is that during a DnD session the dragged thing can turn into a window - which you're then moving around. The existing DnD only allows you to have a small preview surface. If you drop a Firefox tab on e.g. an empty desktop, a window will spawn - potentially a bit weirdly positioned. So things kinda worked before, just not as nicely.

            Comment


            • #7
              Originally posted by treba View Post

              The feature that this protocol adds over the core protocol DnD is that during a DnD session the dragged thing can turn into a window - which you're then moving around. The existing DnD only allows you to have a small preview surface. If you drop a Firefox tab on e.g. an empty desktop, a window will spawn - potentially a bit weirdly positioned. So things kinda worked before, just not as nicely.
              That was my understanding, good to hear that my understanding was correct.

              All in all, not a big issue (more like a papercut), but still great to see it fixed.

              Now, if only we could get xdg-toplevel-icon approved...

              Comment


              • #8
                Originally posted by treba View Post

                The feature that this protocol adds over the core protocol DnD is that during a DnD session the dragged thing can turn into a window - which you're then moving around. The existing DnD only allows you to have a small preview surface. If you drop a Firefox tab on e.g. an empty desktop, a window will spawn - potentially a bit weirdly positioned. So things kinda worked before, just not as nicely.
                Ohh! You know I guess I just didn't really notice before. I usually tabs between windows pretty quickly so I don't even really think about. Great that this was merged.

                Comment


                • #9
                  Originally posted by Myownfriend View Post
                  I've always been able to drag tabs between Firefox windows in a Wayland session so I'm a little confused. I'm hoping somebody who is more familiar with the protocol can chime in on it. I'm looking a the comments so far and I feel like there might too many libertarian neckbeard wizards here for that to happen though.
                  Hi, working through writing Wayland clients, active reader of fd.o stuff. Other answers are right enough, this MR will unify the DnD techniques with a best approach.

                  I feel like this is public service for said libertarian neckbeard wizards, coming from a communist neckbeard wizard. To understand this process, one must understand:

                  * Wayland protocols, and what specifically a "protocol" is, in this context. See the diff in the link for an example. They're specified in XML (no shade, one sexpr is strictly equivalent to another, whatever my preferences may be).
                  * `wayland-scanner`, the binary tool that comes with the Wayland distribution. Its role in the process is to parse the protocols and output headers. In my case, and most others, we're after protocol XML -> C headers.
                  * Implementations extant may do things not yet specified, and do them differently. XDG (cross desktop group) is the former name of freedesktop.org (fd.o), thus its prefix on efforts to create cross-desktop standards. In this case, one good way to implement dragging windows.

                  There's so many vids and websites now dedicated to this, but the clearest explanation of the Wayland Protocol development process (keep in mind, Wayland is _just protocol_) to me is "the Wayland Book", written by Drew DeVault. The website (which is currently down, afaict) is https://www.wayland-book.com, but its title appears to be "The Wayland Protocol", which is appropriate, even though it's composed of mostly C examples of clients and servers, annotated with protocols and IPC messages.

                  The Wayland Book is said to be dated, but work continues by other contributors, and a mirror I used to get the mbook is https://git.sr.ht/~sircmpwn/wayland-book (mbook being a rust md-to-html-and-whatever format, with a make file and a local server). The process and API makes perfect sense with just light reading.

                  And btw, this is way more transparent, and easy to contribute to than X11 ever _could be_, especially in its pre-xorg incarnations. And since stopping fragmentation in compositors is a goalpost for developers using Wayland, I have to mention that the process in the story unifies them.
                  Last edited by daemonburrito; 31 January 2024, 12:11 AM. Reason: s/It's role/its role/

                  Comment


                  • #10
                    Originally posted by fitzie View Post
                    9 months for an obvious requirement after 15+ years of development a terrible statistic.
                    On the other hand I would argue the opposite - the urgent or easy work has already been done, so what you are left is with features that people can argue about a lot.

                    After 15 years if there are protocols that can be agreed within a day, why haven't they already been done? Unless it is a sudden new use case, that could be shown as Wayland being terrible.

                    As for this protocol, I didnt even know it was missing and a post on here explained what it allowed which I thought I was already doing when dragging between two firefox windows (but wasnt, as just checking now, dragging a tab to the desktop does nothing).

                    Comment

                    Working...
                    X