• barsoap@lemm.ee
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    3 days ago

    org.freedesktop.portal.GlobalShortcuts allows apps to request a global shortcut binding from the compositor. They can’t just log all your keystrokes globally because that’d be a keylogger. Also there’d be no way to resolve conflicts between shortcuts.

    If your app doesn’t support that then blame the app, the interface has been out for a while, and compositors have supported it for a while.

    • Something Burger 🍔@jlai.lu
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 day ago

      from the compositor

      Man, in only there were a way to have all essential features in a centralized Wayland server, with compositors only handling window management instead of everything including copy/paste or global hotkeys… Alas, the technology just isn’t there yet.

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 day ago

        I’ll quote myself, as you didn’t seem to have read it:

        They can’t just log all your keystrokes globally because that’d be a keylogger. Also there’d be no way to resolve conflicts between shortcuts.

        Go ahead, tell the X devs that their new protocol is worse than the old. That, instead of improving on things and creating a thing that won’t become unmaintainable, they fucked up royally and made things worse. I’m waiting.

        If you want to go and continue maintaining X then go ahead, noone’s stopping you.

        Or maybe you accept that the people who have been maintaining it for decades know a thing or two about the thing, and you’re just whining from the sidelines.

          • barsoap@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            1 day ago

            I’m not sure what you mean with “all of wayland”, here. The protocol is ludicrously small and minimal. It’s a way for programs to say “I have a graphics buffer, please display it and also give me some input like mouse motions plz”. Everything else is extensions because there’s devices (e.g. in automotive) that need only that, and nothing more, no windowing no nothing. You certainly don’t need global hotkey handling if all you ever run is one full-screen client.

            Whether the compositor wants to implement windowing logic (say, tiling vs. floating, what happens when you right-click a titlebar) itself or outsource that to another process is not wayland’s concern.

            KDE didn’t go that way because kwin was already an integrated compositor and window manager when it only ran on X, the smaller projects do seem to tend into that direction but they haven’t agreed on a common standard, yet.

            • Something Burger 🍔@jlai.lu
              link
              fedilink
              arrow-up
              1
              ·
              1 day ago

              Global hotkey handling, copy and paste, screenshots, etc are part of the protocol but need to be implemented by every compositor. X is better for this; the server handles all of this and delegates window management to the WM.

              • Communist@lemmy.frozeninferno.xyz
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                19 hours ago

                You’re not making an apples-to-apples comparison, the x protocol does not do ANY of those things, the x server does, you’re comparing an implementation of a protocol to a protocol… and then saying the protocol should magically just do it, even though that isn’t the purpose of a protocol in the first place. The only difference in this case is that there’s just one serious implementation of xorg because it sucks to work with so much that nobody else will do it, this is actually just a knock AGAINST x.org that you view as a win because standardization, in practice, it doesn’t matter at all.

                the more correct comparison would be x.org to wlroots, which does most of them (global shortcuts is being worked on still) or smithay.

                Maybe someday in the future everything will standardize around wlroots or smithay, but the fact that they haven’t is because it’s so relatively easy to make a wayland compositor from scratch that the need for standardization is tiny. Gnome and KDE wrote their implementations BEFORE smithay and wlroots existed, and hyprland came along and did it basically on their own from scratch… a feat that could have NEVER been accomplished with x.org, as evidenced by the fact that nobody has rewritten it in rust or whatever.

                Essentially you’re saying they “have” to implement it themselves, when in reality, they GET TO implement it themselves if they want to, because the design is so much better.

                If they don’t WANT to, smithay and wlroots are there for you to use. It was a deliberate choice by those teams to make and maintain their own thing, if somebody wanted to do that with x.org, there’s literally no reason they couldn’t, the x.org server doesn’t prevent this in any way, and even if it did, would that really be a strength? Your argument just fundamentally doesn’t make sense if you actually understand these things.

              • barsoap@lemm.ee
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 day ago

                I think you should double-check what I linked to: To the xdg desktop protocols, that’s a dbus thing, it’s not a wayland extension much less the core wayland protocol. It’s the same protocol flatpack apps use to do stuff, figures that APIs that are useful if you’re in a sandbox are useful in general.

                X does not handle global hotkeys. It gives everyone full access to everything and then expects them to not fight for control, which took decades to actually happen, before that the desktop would often break down as clients were fighting. Any client can warp the pointer, capture all keys, watch how you enter a password in another window, say it’s the one which should be on top of all the others, it’s a nightmare.

                Judging by the types of misunderstanding you have I must assume that you’ve never written a single line of X or wayland related code. Know, therefore, that you are completely unqualified to hold the opinion you have, much less hold it strongly.

    • FQQD! @lemmy.ohaa.xyz
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      3 days ago

      kinda sad that users can’t (afaik) enable global keyligging for all applications. I totally understand why it’s a bad idea, but it’s just so much simpler to work with.

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        4
        ·
        3 days ago

        Security aside if there’s no central management you can have multiple apps listening for the same keybinding, I wouldn’t call that “simpler to work with”. It may be easy in the short term, but the dark side of the force always is.