diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index c53190ccc..056a3f40b 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1080,6 +1080,13 @@ pub fn setClipboardString( if (!confirm) { const clipboard = getClipboard(@ptrCast(self.gl_area), clipboard_type); c.gdk_clipboard_set_text(clipboard, val.ptr); + // We only toast if we are copying to the standard clipboard. + if (clipboard_type == .standard and + self.app.config.@"adw-toast".@"clipboard-copy") + { + if (self.container.window()) |window| + window.sendToast("Copied to clipboard"); + } return; } diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index fecd05dbd..9b9e26383 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -543,7 +543,7 @@ pub fn onConfigReloaded(self: *Window) void { self.sendToast("Reloaded the configuration"); } -fn sendToast(self: *Window, title: [:0]const u8) void { +pub fn sendToast(self: *Window, title: [:0]const u8) void { if (comptime !adwaita.versionAtLeast(0, 0, 0)) return; const toast_overlay = self.toast_overlay orelse return; const toast = c.adw_toast_new(title); @@ -895,10 +895,6 @@ fn gtkActionCopy( log.warn("error performing binding action error={}", .{err}); return; }; - - if (self.app.config.@"adw-toast".@"clipboard-copy") { - self.sendToast("Copied to clipboard"); - } } fn gtkActionPaste(