From 9ee25e8a6948d23877d066639b694268afc09df1 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 8 Jul 2025 12:19:41 -0500 Subject: [PATCH] gtk: use close button in show_child_exited banner --- src/apprt/gtk/Surface.zig | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index e2051b2f3..2cdfb45c9 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -2511,12 +2511,21 @@ pub fn showChildExited(self: *Surface, info: apprt.surface.Message.ChildExited) if (!adw_version.supportsBanner()) return false; const warning_text = if (info.exit_code == 0) - i18n._("Process exited normally. Press any key to close the terminal.") + i18n._("Process exited normally.") else - i18n._("Process exited abnormally. Press any key to close the terminal."); + i18n._("Process exited abnormally."); const banner = adw.Banner.new(warning_text); banner.setRevealed(1); + banner.setButtonLabel(i18n._("Close")); + + _ = adw.Banner.signals.button_clicked.connect( + banner, + *Surface, + showChildExitedButtonClosed, + self, + .{}, + ); const banner_widget = banner.as(gtk.Widget); banner_widget.setHalign(.fill); @@ -2531,3 +2540,7 @@ pub fn showChildExited(self: *Surface, info: apprt.surface.Message.ChildExited) return true; } + +fn showChildExitedButtonClosed(_: *adw.Banner, self: *Surface) callconv(.c) void { + self.close(false); +}