aboutsummaryrefslogtreecommitdiff
path: root/src/backends
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-01-11 01:24:16 +0000
committerRobin Krahl <robin.krahl@ireas.org>2019-01-11 02:25:54 +0100
commit02190c44f7072b4fdaca50836a583f955866f8de (patch)
tree46dd928ca34ff174b6393bb3ffc71c73c0ef3f4f /src/backends
parent3efbb1ddc8b85f85621db9b37a0980ec88d2386d (diff)
downloaddialog-rs-02190c44f7072b4fdaca50836a583f955866f8de.tar.gz
dialog-rs-02190c44f7072b4fdaca50836a583f955866f8de.tar.bz2
Check the DIALOG environment variable in default_backend
This patch changes the logic in default_backend to respect the DIALOG environment variable that may contain the name of the backend to use.
Diffstat (limited to 'src/backends')
-rw-r--r--src/backends/mod.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backends/mod.rs b/src/backends/mod.rs
index b9cecd0..20cb8c1 100644
--- a/src/backends/mod.rs
+++ b/src/backends/mod.rs
@@ -31,3 +31,11 @@ pub trait Backend {
/// Shows the given question dialog and returns the choice.
fn show_question(&self, question: &super::Question) -> Result<super::Choice>;
}
+
+pub(crate) fn from_str(s: &str) -> Option<Box<dyn Backend>> {
+ match s.to_lowercase().as_ref() {
+ "dialog" => Some(Box::new(Dialog::new())),
+ "zenity" => Some(Box::new(Zenity::new())),
+ _ => None,
+ }
+}