1use std::process::Command;
8
9pub fn calender(title: &str) -> String {
11 match Command::new("zenity")
12 .args(&["--calendar", "--text=Pick a day" , "--title", title])
13 .output() {
14 Ok(success) => String::from_utf8(success.stdout).unwrap(),
15 Err(error) => error.to_string(),
16 }
17}
18
19pub fn information(info: &str ) -> String {
21 match Command::new("zenity")
22 .args(&["--info", "--text", info])
23 .output() {
24 Ok(_success) => "Information displayed.".to_string(),
25 Err(error) => error.to_string(),
26 }
27}
28
29pub fn question(question: &str ) -> String {
31 match Command::new("zenity")
32 .args(&["--entry", "--text", question])
33 .output() {
34 Ok(success) => String::from_utf8(success.stdout).unwrap(),
35 Err(error) => error.to_string(),
36 }
37}
38
39pub fn progress() -> String {
41 match Command::new("zenity")
42 .args(&["--progress", "--pulsate"])
43 .output() {
44 Ok(_success) => "Process complete.".to_string(),
45 Err(error) => error.to_string(),
46 }
47}
48
49pub fn error(error_message: &str) -> String {
51 match Command::new("zenity")
52 .args(&["--error", "--text", error_message])
53 .output() {
54 Ok(_success) => "Error displayed.".to_string(),
55 Err(error) => error.to_string(),
56 }
57}
58
59pub fn warning(message: &str) -> String {
61 match Command::new("zenity")
62 .args(&["--warning", "--text", message])
63 .output() {
64 Ok(_success) => "Warning displayed.".to_string(),
65 Err(error) => error.to_string(),
66 }
67}
68
69pub fn file_path() -> String {
71 match Command::new("zenity")
72 .args(&["--file-selection"])
73 .output() {
74 Ok(success) => String::from_utf8(success.stdout).unwrap(),
75 Err(error) => error.to_string(),
76 }
77}
78
79pub fn pick_number(title: &str) -> String {
81 match Command::new("zenity")
82 .args(&["--scale", "--text", title])
83 .output() {
84 Ok(success) => String::from_utf8(success.stdout).unwrap(),
85 Err(error) => error.to_string(),
86 }
87}