diff --git a/src/lib.rs b/src/lib.rs index 7750ee6..9dd1512 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -44,6 +44,7 @@ pub fn swap_workspaces(cfg: &Config) -> Result> .flatten() .collect()) } + fn run_move_workspace_cmd( workspaces: &[String], monitor: &str, @@ -51,8 +52,9 @@ fn run_move_workspace_cmd( workspaces .iter() .map(|workspace| { - let s = format!(r#"'[workspace="{monitor}"]'"#); - let args = vec!["i3-msg", &s, "move", "workspace", "to", workspace]; + let s = format!(r#"[workspace="{workspace}"]"#); + let args = vec!["i3-msg", &s, "move", "workspace", "to", "output", monitor]; + println!("{}", args.join(" ")); if cfg!(debug_assertions) { Command::new("echo").args(args).output() } else { diff --git a/src/main.rs b/src/main.rs index d383f52..c709ac2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -56,10 +56,17 @@ fn main() -> Result<()> { let cmd = run_cmd(&map, &cfg)?; println!("cmd {:#?}", cmd); // TODO(wathiede): run xrandr --output $DPY --primary - // TODO(wathiede): i3-msg to move workspaces to proper places. let res = swap_workspaces(&cfg)?; 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(())