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.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/dinggerd/src/tmux.rs b/crates/dinggerd/src/tmux.rs
index 04a6c77..e833e3c 100644
--- a/crates/dinggerd/src/tmux.rs
+++ b/crates/dinggerd/src/tmux.rs
@@ -4,6 +4,7 @@ use std::process::Command;
use detect_core::manifest::agent_state_label;
use detect_core::{identify_agent, Agent, AgentState};
+use tracing::debug;
#[derive(Debug, Clone)]
pub struct Pane {
@@ -36,6 +37,10 @@ impl Pane {
fn run_tmux(args: &[&str]) -> Result<String, String> {
let mut command = Command::new("tmux");
+ // -u forces UTF-8 mode: without it, tmux mangles format output in
+ // non-UTF-8 locales (launchd/cron default to the C locale, turning the
+ // tab separators in our -F formats into underscores).
+ command.arg("-u");
// -L selects a named server socket; lets tests and multi-server setups
// point dingger at a specific server.
if let Some(socket) = std::env::var_os("DINGGER_TMUX_SOCKET") {