aboutsummaryrefslogtreecommitdiff
path: root/src/workspace/aggregate.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-20 00:54:05 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-20 00:55:36 +0300
commitd30ab1b54f6b6be95a0cb47ddc38da1d5e088700 (patch)
treeeb2002b408c856d9fcd7a573afe73b917f22cd97 /src/workspace/aggregate.rs
parent3f80947678a9723434aa7fddfe23750b5393e24c (diff)
feat: add plugin-driven agent views and startup hooks
Diffstat (limited to 'src/workspace/aggregate.rs')
-rw-r--r--src/workspace/aggregate.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/workspace/aggregate.rs b/src/workspace/aggregate.rs
index a3eed860..79b5a021 100644
--- a/src/workspace/aggregate.rs
+++ b/src/workspace/aggregate.rs
@@ -16,6 +16,7 @@ pub struct PaneDetail {
pub terminal_title: Option<String>,
pub terminal_title_stripped: Option<String>,
pub agent_label: String,
+ pub agent_kind_label: Option<String>,
pub agent: Option<Agent>,
pub state: AgentState,
pub seen: bool,
@@ -45,10 +46,11 @@ impl Tab {
.filter_map(|id| {
let pane = self.panes.get(id)?;
let terminal = terminals.get(&pane.attached_terminal_id)?;
+ let agent_kind_label = terminal.effective_agent_label().map(str::to_string);
let fallback_agent_label = terminal
.agent_name
.as_deref()
- .or_else(|| terminal.effective_agent_label())?
+ .or(agent_kind_label.as_deref())?
.to_string();
let agent_label = terminal
.effective_display_agent()
@@ -65,6 +67,7 @@ impl Tab {
terminal_title: terminal.terminal_title.clone(),
terminal_title_stripped: terminal.terminal_title_stripped(),
agent_label,
+ agent_kind_label,
agent: terminal.effective_known_agent(),
state: terminal.state,
seen: pane.seen,