diff --git a/src/apprt/gtk/class/split_tree.zig b/src/apprt/gtk/class/split_tree.zig index 311fbd8a6..1b6f4fbf6 100644 --- a/src/apprt/gtk/class/split_tree.zig +++ b/src/apprt/gtk/class/split_tree.zig @@ -186,6 +186,7 @@ pub const SplitTree = extern struct { .init("new-split", actionNewSplit, s_variant_type), .init("equalize", actionEqualize, null), .init("zoom", actionZoom, null), + .init("close-pane", actionClosePane, null), }; _ = ext.actions.addAsGroup(Self, self, "split-tree", &actions); @@ -663,6 +664,15 @@ pub const SplitTree = extern struct { self.as(gobject.Object).notifyByPspec(properties.tree.impl.param_spec); } + pub fn actionClosePane( + _: *gio.SimpleAction, + _: ?*glib.Variant, + self: *Self, + ) callconv(.c) void { + const surface = self.getActiveSurface() orelse return; + surface.close(); + } + fn surfaceCloseRequest( surface: *Surface, self: *Self, diff --git a/src/apprt/gtk/ui/1.2/surface.blp b/src/apprt/gtk/ui/1.2/surface.blp index d8483285f..698c6c364 100644 --- a/src/apprt/gtk/ui/1.2/surface.blp +++ b/src/apprt/gtk/ui/1.2/surface.blp @@ -316,6 +316,11 @@ menu context_menu_model { action: "split-tree.new-split"; target: "right"; } + + item { + label: _("Close Split"); + action: "split-tree.close-pane"; + } } submenu {