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.
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.
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.
A hypothetical Wayland server could implement the same protocol, so apps would talk to it instead of to the compositor, which would then focus on managing windows instead of implementing all of Wayland.
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.
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.
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.
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.
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.
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.
What is missing that makes it a deal breaker? It really seems odd to always see comments effectively saying “we should have stayed with X.Org”. The nice thing about Wayland is that it’s maintained, so new features are being added over time.
You’re aware you just called the x.org developers Elon, do you?
x.org is just as much a freedesktop project as wayland is or dbus. Or, before they spun off, flatpak. Wayland grew out of the x.org devs deciding that the thing has become literally unmaintainable. The recent pain is caused by downstream devs (including kde, gnome etc) noticing quite late that the x.org people were actually being serious, if they had provided input earlier then the gazillion of protocol extensions that people are whining about now (such as global hotkeys) could’ve been finalised literally ten years ago.
x.org still gets a couple of patches – for xwayland. At some point they’re going to rip out the whole graphics driver stack and replace it with a wayland compositor, that compositor plus xwayland will be the X server. You’re free to build a PC with a good ole S3 Trio but don’t expect future x.org releases to support it.
People down vote but push-to-talk doesn’t work on pure Wayland
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.
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.
I’ll quote myself, as you didn’t seem to have read it:
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.
org.freedesktop.portal.GlobalShortcuts allows apps to request a global shortcut binding from the compositor.
A hypothetical Wayland server could implement the same protocol, so apps would talk to it instead of to the compositor, which would then focus on managing windows instead of implementing all of Wayland.
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.
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.
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.
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.
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.
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.
It’s not any simpler than having a popup appear when an app asks for a global shortcut, and way way less secure
Wayland has a notable piece of “but Elon can do no wrong!” cult thing going for it.
What is missing that makes it a deal breaker? It really seems odd to always see comments effectively saying “we should have stayed with X.Org”. The nice thing about Wayland is that it’s maintained, so new features are being added over time.
You’re aware you just called the x.org developers Elon, do you?
x.org is just as much a freedesktop project as wayland is or dbus. Or, before they spun off, flatpak. Wayland grew out of the x.org devs deciding that the thing has become literally unmaintainable. The recent pain is caused by downstream devs (including kde, gnome etc) noticing quite late that the x.org people were actually being serious, if they had provided input earlier then the gazillion of protocol extensions that people are whining about now (such as global hotkeys) could’ve been finalised literally ten years ago.
x.org still gets a couple of patches – for xwayland. At some point they’re going to rip out the whole graphics driver stack and replace it with a wayland compositor, that compositor plus xwayland will be the X server. You’re free to build a PC with a good ole S3 Trio but don’t expect future x.org releases to support it.