Better error printing, fixed argument formatting.

This commit is contained in:
Bill Thiede 2023-02-05 13:38:56 -08:00
parent 72100921e6
commit 333119a00d
2 changed files with 13 additions and 4 deletions

View File

@ -44,6 +44,7 @@ pub fn swap_workspaces(cfg: &Config) -> Result<Vec<Result<Output, CommandError>>
.flatten() .flatten()
.collect()) .collect())
} }
fn run_move_workspace_cmd( fn run_move_workspace_cmd(
workspaces: &[String], workspaces: &[String],
monitor: &str, monitor: &str,
@ -51,8 +52,9 @@ fn run_move_workspace_cmd(
workspaces workspaces
.iter() .iter()
.map(|workspace| { .map(|workspace| {
let s = format!(r#"'[workspace="{monitor}"]'"#); let s = format!(r#"[workspace="{workspace}"]"#);
let args = vec!["i3-msg", &s, "move", "workspace", "to", workspace]; let args = vec!["i3-msg", &s, "move", "workspace", "to", "output", monitor];
println!("{}", args.join(" "));
if cfg!(debug_assertions) { if cfg!(debug_assertions) {
Command::new("echo").args(args).output() Command::new("echo").args(args).output()
} else { } else {

View File

@ -56,10 +56,17 @@ fn main() -> Result<()> {
let cmd = run_cmd(&map, &cfg)?; let cmd = run_cmd(&map, &cfg)?;
println!("cmd {:#?}", cmd); println!("cmd {:#?}", cmd);
// TODO(wathiede): run xrandr --output $DPY --primary // TODO(wathiede): run xrandr --output $DPY --primary
// TODO(wathiede): i3-msg to move workspaces to proper places.
let res = swap_workspaces(&cfg)?; let res = swap_workspaces(&cfg)?;
for r in res { for r in res {
println!("r = {:?}", r); match r {
Ok(r) => println!(
"Exit: {}\nStdout:\n{}\nStderr:\n{}",
r.status,
String::from_utf8_lossy(&r.stdout),
String::from_utf8_lossy(&r.stderr)
),
Err(e) => println!("Error: {}", e),
}
} }
Ok(()) Ok(())