diff --git a/Cargo.lock b/Cargo.lock index 28afebc..b407768 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -583,7 +583,7 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "makima" -version = "0.6.6" +version = "0.6.7" dependencies = [ "evdev", "fork", diff --git a/Cargo.toml b/Cargo.toml index 7ad88ee..6211c75 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "makima" -version = "0.6.6" +version = "0.6.7" edition = "2021" [dependencies] diff --git a/src/event_reader.rs b/src/event_reader.rs index 16f4e98..b7e992f 100644 --- a/src/event_reader.rs +++ b/src/event_reader.rs @@ -446,7 +446,25 @@ impl EventReader { } } }, - _ => {} + Err(_) => { + for command in command_list { + match fork() { + Ok(Fork::Child) => { + Command::new("sh") + .arg("-c") + .arg(command) + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .spawn() + .expect("Failed to run command."); + std::process::exit(0); + }, + Ok(Fork::Parent(_)) => (), + Err(_) => std::process::exit(1), + } + } + } } }, Ok(_) => {