aboutsummaryrefslogtreecommitdiff
path: root/crates/dinggerd/src/tmux.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/dinggerd/src/tmux.rs')
-rw-r--r--crates/dinggerd/src/tmux.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/crates/dinggerd/src/tmux.rs b/crates/dinggerd/src/tmux.rs
index 9fcccf3..b743256 100644
--- a/crates/dinggerd/src/tmux.rs
+++ b/crates/dinggerd/src/tmux.rs
@@ -30,6 +30,8 @@ pub struct Pane {
pub written_session: String,
/// `@dingger_importance`: unset for normal.
pub written_importance: String,
+ pub written_extension: String,
+ pub written_control: String,
}
@@ -111,14 +113,16 @@ pub fn list_panes() -> Result<Vec<Pane>, String> {
"#{pane_current_path}\t",
"#{@agent_name}\t",
"#{@agent_session}\t",
- "#{@dingger_importance}",
+ "#{@dingger_importance}\t",
+ "#{@dingger_extension}\t",
+ "#{@dingger_control}",
);
let out = run_tmux(&["list-panes", "-a", "-F", format])?;
let mut panes: Vec<Pane> = Vec::new();
let mut process_tree = None;
for line in out.lines() {
let fields: Vec<&str> = line.split('\t').collect();
- if fields.len() < 20 {
+ if fields.len() < 22 {
continue;
}
let attended = fields[4] == "1" && fields[5] != "0";
@@ -161,6 +165,8 @@ pub fn list_panes() -> Result<Vec<Pane>, String> {
written_name: fields[17].to_string(),
written_session: fields[18].to_string(),
written_importance: fields[19].to_string(),
+ written_extension: fields[20].to_string(),
+ written_control: fields[21].to_string(),
});
}
Ok(panes)