diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/event.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/event.rs b/src/event.rs index 5c6b71d0..c3b5bb2d 100644 --- a/src/event.rs +++ b/src/event.rs @@ -185,14 +185,17 @@ impl<'a, N: Notify + 'a> input::ActionContext for ActionContext<'a, N> { fn spawn_new_instance(&mut self) { let alacritty = env::args().next().unwrap(); + #[cfg(unix)] - let args = [ - "--working-directory".into(), - fs::read_link(format!("/proc/{}/cwd", unsafe { tty::PID })) - .expect("shell working directory"), - ]; + let args = { + if let Ok(path) = fs::read_link(format!("/proc/{}/cwd", unsafe { tty::PID })) { + vec!["--working-directory".into(), path] + } else { + Vec::new() + } + }; #[cfg(not(unix))] - let args: [&str; 0] = []; + let args: Vec<String> = Vec::new(); match start_daemon(&alacritty, &args) { Ok(_) => debug!("Started new Alacritty process: {} {:?}", alacritty, args), |