Skip to content

Commit 2479f30

Browse files
committed
config: document global: support on Linux
Compiling this list of known supported and unsupported platforms has been amazingly painful. Never change, Linux desktop.
1 parent 5eed05e commit 2479f30

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

Diff for: src/config/Config.zig

+27-6
Original file line numberDiff line numberDiff line change
@@ -1068,12 +1068,33 @@ class: ?[:0]const u8 = null,
10681068
/// `global:unconsumed:ctrl+a=reload_config` will make the keybind global
10691069
/// and not consume the input to reload the config.
10701070
///
1071-
/// Note: `global:` is only supported on macOS. On macOS,
1072-
/// this feature requires accessibility permissions to be granted to Ghostty.
1073-
/// When a `global:` keybind is specified and Ghostty is launched or reloaded,
1074-
/// Ghostty will attempt to request these permissions. If the permissions are
1075-
/// not granted, the keybind will not work. On macOS, you can find these
1076-
/// permissions in System Preferences -> Privacy & Security -> Accessibility.
1071+
/// Note: `global:` is only supported on macOS and certain Linux platforms.
1072+
///
1073+
/// On macOS, this feature requires accessibility permissions to be granted
1074+
/// to Ghostty. When a `global:` keybind is specified and Ghostty is launched
1075+
/// or reloaded, Ghostty will attempt to request these permissions.
1076+
/// If the permissions are not granted, the keybind will not work. On macOS,
1077+
/// you can find these permissions in System Preferences -> Privacy & Security
1078+
/// -> Accessibility.
1079+
///
1080+
/// On Linux, you need a desktop environment that implements the
1081+
/// [Global Shortcuts](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html)
1082+
/// protocol as a part of its XDG desktop protocol implementation.
1083+
/// Desktop environments that are known to support (or not support)
1084+
/// global shortcuts include:
1085+
///
1086+
/// - Users using KDE Plasma (since [5.27](https://kde.org/announcements/plasma/5/5.27.0/#wayland))
1087+
/// and GNOME (since [48](https://release.gnome.org/48/#and-thats-not-all)) should be able
1088+
/// to use global shortcuts with little to no configuration.
1089+
///
1090+
/// - Some manual configuration is required on Hyprland. Consult the steps
1091+
/// outlined on the [Hyprland Wiki](https://wiki.hyprland.org/Configuring/Binds/#dbus-global-shortcuts)
1092+
/// to set up global shortcuts correctly.
1093+
/// (Important: [`xdg-desktop-portal-hyprland`](https://wiki.hyprland.org/Hypr-Ecosystem/xdg-desktop-portal-hyprland/)
1094+
/// must also be installed!)
1095+
///
1096+
/// - Notably, global shortcuts have not been implemented on wlroots-based
1097+
/// compositors like Sway (see [upstream issue](https://github.com/emersion/xdg-desktop-portal-wlr/issues/240)).
10771098
keybind: Keybinds = .{},
10781099

10791100
/// Horizontal window padding. This applies padding between the terminal cells

0 commit comments

Comments
 (0)