diff options
| author | Anna (navi) Figueiredo Gomes <navi@vlhl.dev> | 2023-09-25 16:09:11 +0200 | 
|---|---|---|
| committer | Anna (navi) Figueiredo Gomes <navi@vlhl.dev> | 2023-09-25 16:09:11 +0200 | 
| commit | 0dedd834dc8d123ae2c4043a0df841656931df98 (patch) | |
| tree | 8c80ffde4b63f05bf521cd736b99ec477c93dc03 /src/main.rs | |
| parent | c9023294887ec5fe80d4cd87fa42330b9c5f84a8 (diff) | |
| download | swhd-0dedd834dc8d123ae2c4043a0df841656931df98.tar.xz | |
add support for multiple terminals at once
Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 3c35738..f9f3f36 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use std::{env,fs::File, io::{Read, self}, num, fmt::Display};  use regex::Regex;  struct WindowHider { -    term: String, +    term: Vec<String>,      regex: Regex,  } @@ -56,7 +56,7 @@ impl WindowHider {          match name {              "init" => Ok(None), -            _ if name == self.term && !is_root => Ok(Some(pid)), +            _ if self.term.contains(&name.to_string()) && !is_root => Ok(Some(pid)),              _ => self.get_parent_term_pid(ppid, false)          }      } @@ -84,14 +84,15 @@ fn main() -> Result<(), swayipc::Error> {                                                                    // running commands. :(      let mut args: Vec<String> = env::args().collect(); +    let nterms = args.len() - 1; -    if args.len() < 2 { -        println!("usage: swhd <terminal>"); +    if nterms < 1 { +        println!("usage: swhd <list of terminals>");          return Ok(());      }      let wh = WindowHider { -        term: args.remove(1), +        term: args.drain(1..nterms).collect(),          regex: Regex::new(r"\d+ \((.*)\) \w (\d+) \d+").unwrap()      };  | 
