1use std::process::{exit, Command};
2
3slint::include_modules!();
4
5pub fn status_check() -> String {
6 let output = Command::new("zsh")
7 .arg("-c")
8 .arg("warp-cli status")
9 .output()
10 .expect("Status cli error");
11
12 if !output.status.success() {
13 println!("Error in accessing warp cli");
14 exit(1);
15 }
16
17 let output_str = String::from_utf8(output.stdout).unwrap();
18 let mut result: &str = "";
19 for i in output_str.split("\n") {
20 if i.contains("Status") {
21 result = i.split(":").collect::<Vec<_>>()[1].trim();
22 }
23 }
24 String::from(result)
25}
26
27pub fn toggle_connection(action: bool) {
28 let action_taken = if action { "connect" } else { "disconnect" };
29 let output = Command::new("zsh")
30 .arg("-c")
31 .arg(format!("warp-cli {}", action_taken))
32 .output()
33 .unwrap();
34
35 if !output.status.success() {
36 println!("Error in accessing warp cli");
37 exit(1);
38 }
39}