aboutsummaryrefslogtreecommitdiff
path: root/src/workspace
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-15 04:56:03 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-15 04:56:03 +0300
commit4ffd99c2ec62fd3cbc9f9e0673d92c6a2a4f12b1 (patch)
tree90941a31138eeb55090cb90e714c92ef4f1c848b /src/workspace
parentefe7c557690157a4e133cd60dd7e2ec1bf6124f7 (diff)
fix: keep auto tab labels compact
Diffstat (limited to 'src/workspace')
-rw-r--r--src/workspace/aggregate.rs21
-rw-r--r--src/workspace/tab.rs6
2 files changed, 12 insertions, 15 deletions
diff --git a/src/workspace/aggregate.rs b/src/workspace/aggregate.rs
index bf4c9408..d1fcf984 100644
--- a/src/workspace/aggregate.rs
+++ b/src/workspace/aggregate.rs
@@ -30,7 +30,12 @@ impl Tab {
})
}
- pub fn pane_details(&self, terminals: &HashMap<TerminalId, TerminalState>) -> Vec<PaneDetail> {
+ fn pane_details(
+ &self,
+ terminals: &HashMap<TerminalId, TerminalState>,
+ tab_idx: usize,
+ tab_label: &str,
+ ) -> Vec<PaneDetail> {
self.layout
.pane_ids()
.iter()
@@ -48,8 +53,8 @@ impl Tab {
let presentation = terminal.effective_presentation();
Some(PaneDetail {
pane_id: *id,
- tab_idx: 0,
- tab_label: self.display_name(),
+ tab_idx,
+ tab_label: tab_label.to_string(),
label: agent_label.clone(),
agent_label,
agent: terminal.effective_known_agent(),
@@ -100,12 +105,10 @@ impl Workspace {
.iter()
.enumerate()
.flat_map(|(tab_idx, tab)| {
- tab.pane_details(terminals)
- .into_iter()
- .map(move |mut detail| {
- detail.tab_idx = tab_idx;
- detail
- })
+ let tab_label = self
+ .tab_display_name(tab_idx)
+ .unwrap_or_else(|| (tab_idx + 1).to_string());
+ tab.pane_details(terminals, tab_idx, &tab_label).into_iter()
})
.map(|mut detail| {
if multi_tab {
diff --git a/src/workspace/tab.rs b/src/workspace/tab.rs
index 480bc329..3a339e57 100644
--- a/src/workspace/tab.rs
+++ b/src/workspace/tab.rs
@@ -185,12 +185,6 @@ impl Tab {
))
}
- pub fn display_name(&self) -> String {
- self.custom_name
- .clone()
- .unwrap_or_else(|| self.number.to_string())
- }
-
pub fn is_auto_named(&self) -> bool {
self.custom_name.is_none()
}