aboutsummaryrefslogtreecommitdiff
path: root/crates/dinggerd/src/watcher.rs
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-11-05 19:45:08 +0200
committerIgor Soarez <igor@soarez.org>2026-11-05 19:45:08 +0200
commit9575ead9c637a2dc482c00f417a1d784d46e076a (patch)
treea47abc5722d4f978e7c94428e06634e88101152a /crates/dinggerd/src/watcher.rs
parent5842b093cc502b46076423e4f8efdbbc568f86aa (diff)
name pi agents by their reported session name, not the terminal title; scroll a panel list taller than the screen
Diffstat (limited to 'crates/dinggerd/src/watcher.rs')
-rw-r--r--crates/dinggerd/src/watcher.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/dinggerd/src/watcher.rs b/crates/dinggerd/src/watcher.rs
index 9bad1fe..1cd282b 100644
--- a/crates/dinggerd/src/watcher.rs
+++ b/crates/dinggerd/src/watcher.rs
@@ -503,8 +503,11 @@ impl Watcher {
change("@dingger_since", &pane.written_since, track.since.map(|s| s.to_string()).unwrap_or_default());
change("@dingger_error", &pane.written_error, error.to_string());
change("@agent", &pane.written_agent, pane.agent.map(detect_core::agent_label).unwrap_or("").to_string());
- let name = crate::names::display_name(pane.agent, &pane.pane_title, &pane.cwd, host_name())
- .unwrap_or_default();
+ // The name its extension reports ("" for an unnamed session), else
+ // what the terminal title says (anyone can set a title).
+ let name = hooks::name(&pane.pane_id).unwrap_or_else(|| {
+ crate::names::display_name(pane.agent, &pane.pane_title, &pane.cwd, host_name()).unwrap_or_default()
+ });
change("@agent_name", &pane.written_name, name);
// The session reference, for restore; it goes with the agent.
match (pane.agent, hooks::session(&pane.pane_id)) {