diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 0bcb19cc0..40fe0bd67 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -894,7 +894,9 @@ fn gtkActionCopy( return; }; - self.sendToast("Copied to clipboard"); + if (self.app.config.@"adw-toast".@"clipboard-copy") { + self.sendToast("Copied to clipboard"); + } } fn gtkActionPaste( diff --git a/src/config/Config.zig b/src/config/Config.zig index 11d206b54..37727bd27 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1951,6 +1951,22 @@ keybind: Keybinds = .{}, /// Changing this value at runtime will only affect new windows. @"adw-toolbar-style": AdwToolbarStyle = .raised, +/// Control the toasts that Ghostty shows. Toasts are small notifications +/// that appear overlaid on top of the terminal window. They are used to +/// show information that is not critical but may be important. +/// +/// Valid values are: +/// +/// - `clipboard-copy` (default: true) - Show a toast when text is copied +/// to the clipboard. +/// +/// You can prefix any value with `no-` to disable it. For example, +/// `no-clipboard-copy` will disable the clipboard copy toast. Multiple +/// values can be set by separating them with commas. +/// +/// This configuration only applies to GTK with Adwaita enabled. +@"adw-toast": AdwToast = .{}, + /// If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs /// are the new typical Gnome style where tabs fill their available space. /// If you set this to `false` then tabs will only take up space they need, @@ -5451,6 +5467,11 @@ pub const AdwToolbarStyle = enum { @"raised-border", }; +/// See adw-toast +pub const AdwToast = packed struct { + @"clipboard-copy": bool = true, +}; + /// See mouse-shift-capture pub const MouseShiftCapture = enum { false,