From 58b04340920d4e27cf52eac92e2706af6f2f8784 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Wed, 5 Mar 2025 21:36:58 +0100 Subject: [PATCH] docs: update information about quick terminal support on Linux --- src/config/Config.zig | 12 +++++++++++- src/input/Binding.zig | 10 +++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index d2c033cdc..d7539b971 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1639,7 +1639,8 @@ keybind: Keybinds = .{}, /// * `right` - Terminal appears at the right of the screen. /// * `center` - Terminal appears at the center of the screen. /// -/// Changing this configuration requires restarting Ghostty completely. +/// On macOS, changing this configuration requires restarting Ghostty +/// completely. /// /// Note: There is no default keybind for toggling the quick terminal. /// To enable this feature, bind the `toggle_quick_terminal` action to a key. @@ -1663,15 +1664,21 @@ keybind: Keybinds = .{}, /// /// The default value is `main` because this is the recommended screen /// by the operating system. +/// +/// Only implemented on macOS. @"quick-terminal-screen": QuickTerminalScreen = .main, /// Duration (in seconds) of the quick terminal enter and exit animation. /// Set it to 0 to disable animation completely. This can be changed at /// runtime. +/// +/// Only implemented on macOS. @"quick-terminal-animation-duration": f64 = 0.2, /// Automatically hide the quick terminal when focus shifts to another window. /// Set it to false for the quick terminal to remain open even when it loses focus. +/// +/// Only implemented on macOS. @"quick-terminal-autohide": bool = true, /// This configuration option determines the behavior of the quick terminal @@ -1689,6 +1696,9 @@ keybind: Keybinds = .{}, /// space. /// /// The default value is `move`. +/// +/// Only implemented on macOS. +/// On Linux the behavior is always equivalent to `move`. @"quick-terminal-space-behavior": QuickTerminalSpaceBehavior = .move, /// Whether to enable shell integration auto-injection or not. Shell integration diff --git a/src/input/Binding.zig b/src/input/Binding.zig index ddee672a5..b684e6cd6 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -471,7 +471,15 @@ pub const Action = union(enum) { /// See the various configurations for the quick terminal in the /// configuration file to customize its behavior. /// - /// This currently only works on macOS. + /// Supported on macOS and some desktop environments on Linux, namely + /// those that support the `wlr-layer-shell` Wayland protocol + /// (i.e. most desktop environments and window managers except GNOME). + /// + /// Slide-in animations on Linux are only supported on KDE when the + /// "Sliding Popups" KWin plugin is enabled. If you do not have this + /// plugin enabled, open System Settings > Apps & Windows > Window + /// Management > Desktop Effects, and enable the plugin in the plugin list. + /// Ghostty would then need to be restarted for this to take effect. toggle_quick_terminal: void, /// Show/hide all windows. If all windows become shown, we also ensure