diff --git a/src/config/Config.zig b/src/config/Config.zig index 90ccfc319..f115e284c 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1769,8 +1769,6 @@ class: ?[:0]const u8 = null, /// `global:unconsumed:ctrl+a=reload_config` will make the keybind global /// and not consume the input to reload the config. /// -/// Note: `global:` is only supported on macOS and certain Linux platforms. -/// /// On macOS, this feature requires accessibility permissions to be granted /// to Ghostty. When a `global:` keybind is specified and Ghostty is launched /// or reloaded, Ghostty will attempt to request these permissions. @@ -1778,24 +1776,40 @@ class: ?[:0]const u8 = null, /// you can find these permissions in System Preferences -> Privacy & Security /// -> Accessibility. /// -/// On Linux, you need a desktop environment that implements the -/// [Global Shortcuts](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html) -/// protocol as a part of its XDG desktop protocol implementation. -/// Desktop environments that are known to support (or not support) -/// global shortcuts include: +/// Since Ghostty 1.4.0, global shortcuts on Linux are primarily supported +/// through the [`vicinae-hotkey-v1`](https://github.com/vicinaehq/vicinae-wayland-protocols/tree/main/staging/vicinae-hotkey) +/// protocol, available out-of-the-box with the following Wayland compositors +/// and desktop environments: /// -/// - Users using KDE Plasma (since [5.27](https://kde.org/announcements/plasma/5/5.27.0/#wayland)) -/// and GNOME (since [48](https://release.gnome.org/48/#and-thats-not-all)) should be able -/// to use global shortcuts with little to no configuration. +/// - Hyprland since version 0.56.0 /// -/// - Some manual configuration is required on Hyprland. Consult the steps -/// outlined on the [Hyprland Wiki](https://wiki.hyprland.org/Configuring/Binds/#dbus-global-shortcuts) -/// to set up global shortcuts correctly. -/// (Important: [`xdg-desktop-portal-hyprland`](https://wiki.hyprland.org/Hypr-Ecosystem/xdg-desktop-portal-hyprland/) -/// must also be installed!) +/// On X11 or when your Wayland compositor/desktop environment does not +/// support `vicinae-hotkey-v1`, the much more widely-used +/// [XDG Global Shortcuts](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html) +/// protocol is used instead. /// -/// - Notably, global shortcuts have not been implemented on wlroots-based -/// compositors like Sway (see [upstream issue](https://github.com/emersion/xdg-desktop-portal-wlr/issues/240)). +/// Note: XDG Global Shortcuts rely on a functional XDG Desktop Portal +/// implementation **that is designed to be used with your desktop environment +/// or compositor**. Please make sure that you have the correct one installed. +/// +/// Desktop environments that are known to support the XDG Global Shortcuts +/// protocol include: +/// +/// - KDE Plasma since [5.27](https://kde.org/announcements/plasma/5/5.27.0/#wayland) +/// with `xdg-desktop-portal-kde` installed +/// +/// - GNOME since [48](https://release.gnome.org/48/#and-thats-not-all) with +/// `xdg-desktop-portal-gnome` installed +/// +/// - Hyprland before version 0.56.0, with `xdg-desktop-portal-hyprland` +/// installed. **Some manual configuration is required.** Consult the steps +/// outlined on the [Hyprland Wiki](https://wiki.hypr.land/Configuring/Basics/Binds/#dbus-global-shortcuts) +/// to set up D-Bus-based global shortcuts correctly. +/// +/// Desktop environments and compositors that don't implement either protocol +/// do not support global shortcuts, like wlroots-based compositors e.g. Sway +/// (see [upstream issue](https://github.com/emersion/xdg-desktop-portal-wlr/issues/240)) +/// and COSMIC. /// /// ## Chained Actions ///