this post was submitted on 23 Feb 2025
89 points (95.9% liked)

Linux

53345 readers
735 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
all 29 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 1 month ago* (last edited 1 month ago) (3 children)

It wasn't clear for me what the hell is a "Global Shortcut" I heard the term first time in my life, I found the answer in the upstream PR:

It's designed so that applications can register actions that can be triggered globally (i.e. regarless of the system's state, like focus).

It's strange it wasn't possible until now, or the main thing it's now DE independent?

On Gnome I use Run or raise extension, and with this I can run or switch to running apps with global shortcuts, so this was definitely working from Gnome extensions.

[–] [email protected] 41 points 1 month ago (1 children)

Gnome Extensions run in the Gnome shell, so they have special privileges.

Wayland’s security focus prevents apps from listening in on all user key presses, which means they can’t know you used a keyboard shortcut unless the app is focused.

The Global Shortcut Portal was made to address this. An app registers for a global shortcut, and when the user activates the shortcut, the portal tells the app that it’s been activated.

[–] [email protected] 3 points 1 month ago

Thanks for the context!

[–] [email protected] 33 points 1 month ago

It's because this feature was implemented as a pseudo-keylogger on X11. All X clients could listen to the compositor state at all times (including input), even if input was focussed on another (potentially sensitive) application.

In Wayland, clients have almost zero knowledge of the compositor's state. This was an explicit design choice to enhance security and enable modular features via wayland protocols. Of course, this also killed every implementation of app-specific global shortcuts.

Wayland protocols take a lot of time to get agreed on - They need multiple implementations across different compositors (usually means KDE and GNOME need to implement the protocol spec and agree to it) and the specs can take a long time to design and reach production.

Obviously this does hurt uptake for Wayland since issues can take years to resolve, but the core team are very aware of the pitfalls of X11's development and have long preferred this slow and methodical approach in the hopes it's sustainable and maintainable into the future.

[–] [email protected] 7 points 1 month ago (1 children)

it's still up to individual apps to implement the portal I think

[–] [email protected] 5 points 1 month ago (1 children)

True, but the apps that cause the most complaints about features that Wayland lacks (Discord for this one) are usually among the fastest to enable the portals once they're available.

[–] [email protected] 9 points 1 month ago (1 children)

Not sure if Discord is the best example here, as it didn't support the screen capture portal for a very long time.

[–] [email protected] 1 points 1 month ago (1 children)

Discord didn't take very long to add it at all, what took a long time was fixing audio streaming.

[–] [email protected] 6 points 1 month ago (1 children)

Umm yes, they did take ages to support it. It took like 7 years...

[–] [email protected] 0 points 1 month ago

tbf, Wayland was hardly relevant for some of that. the first feature request I found was 4 years go. implementing it also required upgrading electron a few versions, so a decent bit of work.

[–] [email protected] 5 points 1 month ago (2 children)

Does anyone know what the status on KDE implementing this is?

[–] [email protected] 10 points 1 month ago (1 children)

Already merged there some time ago.

[–] [email protected] 2 points 1 month ago (1 children)

I can't find any documentation on how to set it up, do you happen to know where that would be?

I can't figure out how to setup discord push to talk on kde wayland, specifically

[–] [email protected] 6 points 1 month ago (1 children)

Apps need to add support for the new portal system. Chromium is adding (or added?) support, so Discord may implement it once they use an Electron version with support.

If you’re using KDE, you can tell Discord to use X11 and use KDE’s feature to let X11 apps snoop on key presses.

[–] [email protected] 1 points 1 month ago (1 children)

I don't understand why they wouldn't allow you to manually override things, i hope this gets added later, i'd like to be able to forward shortcuts to apps for push to talk even if the app doesn't support the native portal

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

Because if it is freely overridable (which it used to be, on X11), other apps can override it as well - including malicious apps. The portal adds an explicit path that ensures that the user is in control, but does need to see wider adoption first. Which will surely be helped by GNOME support.

[–] [email protected] 1 points 1 month ago (1 children)

I didn't say it should be freely overridden, I said I should be able to manually override it

[–] [email protected] 1 points 1 month ago

Yes, but that amounts to the same thing. The restrictions that prevent you from manually overriding it are there to prevent any app from freely overriding it. There's a way to only explicitly allow you to manually override it, and that's the way that's currently being built and requires ecosystem support.

[–] [email protected] 8 points 1 month ago (1 children)

It was implemented over two years ago.

[–] [email protected] 1 points 1 month ago (1 children)

I can't find a way to manually add entries in the settings, is there no way to do that?

How would I manually enable push to talk in discord, for example?

[–] [email protected] 1 points 1 month ago

You can't. Apps need to support shortcuts in order to receive them...

For Discord, the X11 compatibility page has working options though.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

i could have sworn it was already working for me on gnome, im surprised by this

but then again i havent used discord in a huge while now

[–] [email protected] 11 points 1 month ago (1 children)

The traditional insecure global shortcuts system works in Xorg.

[–] [email protected] 2 points 1 month ago (1 children)

i'm using wayland though, i'm probably too tired to be making too much sense anyway.

[–] [email protected] 7 points 1 month ago (2 children)

Xorg global shortcuts will work for anything using Xwayland, but not in anything thats wayland native

For example, in a game (using wine, which uses Xorg by default currently) your global shortcut will work. But in a wayland native window like Firefox, it will not if its the active window

[–] [email protected] 3 points 1 month ago (1 children)

Are you sure about that? KDE has a feature that lets Xwayland apps snoop if certain keys are pressed, but Gnome does not.

[–] [email protected] 3 points 1 month ago

Yeah. The behavior i stated was how it works in Gnome. In KDE since Xorg passthrough is a formal thing, the behavior is different based on those options

[–] [email protected] 0 points 1 month ago* (last edited 1 month ago)

oh i get it now. thats why i thought we already had it, im not usually aware of what is running under xwayland and what is not.