From aaafc146b551f6c35a4f1e598463989263724cec Mon Sep 17 00:00:00 2001 From: Sven Vollmar Date: Wed, 15 Apr 2026 19:38:47 +0200 Subject: [PATCH] Add "New Center Terminal" to context menu (#53702) Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - Added "New Center Terminal" button to window context menu "New Terminal" only opens a new terminal window in the dedicated terminal view, while "New Center Terminal" opens a new terminal in the currently active view. "+"/"New..." context menu Screenshot_20260411_184840 Right click context menu Screenshot_20260411_184904 --- crates/terminal_view/src/terminal_view.rs | 4 ++++ crates/workspace/src/pane.rs | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 2f6a984798f35c87e39f51978ad84bfdfa435187..636ce30e6e243f49767fbe3c248319a8bc94b9f7 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -507,6 +507,10 @@ impl TerminalView { let context_menu = ContextMenu::build(window, cx, |menu, _, _| { menu.context(self.focus_handle.clone()) .action("New Terminal", Box::new(NewTerminal::default())) + .action( + "New Center Terminal", + Box::new(NewCenterTerminal::default()), + ) .separator() .action("Copy", Box::new(Copy)) .action("Paste", Box::new(Paste)) diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index f8906455a852dbf519f9ad9a11d722116a287510..861e86576216073ae2acc2012f39051debabdd18 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -1,7 +1,7 @@ use crate::{ - CloseWindow, NewFile, NewTerminal, OpenInTerminal, OpenOptions, OpenTerminal, OpenVisible, - SplitDirection, ToggleFileFinder, ToggleProjectSymbols, ToggleZoom, Workspace, - WorkspaceItemBuilder, ZoomIn, ZoomOut, + CloseWindow, NewCenterTerminal, NewFile, NewTerminal, OpenInTerminal, OpenOptions, + OpenTerminal, OpenVisible, SplitDirection, ToggleFileFinder, ToggleProjectSymbols, ToggleZoom, + Workspace, WorkspaceItemBuilder, ZoomIn, ZoomOut, focus_follows_mouse::FocusFollowsMouse as _, invalid_item_view::InvalidItemView, item::{ @@ -4199,6 +4199,10 @@ fn default_render_tab_bar_buttons( .action("Search Symbols", ToggleProjectSymbols.boxed_clone()) .separator() .action("New Terminal", NewTerminal::default().boxed_clone()) + .action( + "New Center Terminal", + NewCenterTerminal::default().boxed_clone(), + ) })) }), )