Add support for configuration via env variables
This commit is contained in:
parent
66c44df03a
commit
877fae2007
|
@ -45,7 +45,12 @@ fn init_indicator(icon_pack: &IconPack) -> AppIndicator {
|
||||||
fn main() {
|
fn main() {
|
||||||
gtk::init().unwrap();
|
gtk::init().unwrap();
|
||||||
|
|
||||||
let mut icon_pack = IconPack::new("./res", "parrot", PackVariant::Dark).unwrap();
|
let res_dir = std::env::var("PARROTD_RESOURCE_DIR").unwrap_or("./res".to_owned());
|
||||||
|
let pack_name = std::env::var("PARROTD_ICON_PACK").unwrap_or("parrot".to_owned());
|
||||||
|
let variant = PackVariant::parse(
|
||||||
|
&std::env::var("PARROTD_VARIANT").unwrap_or("dark".to_owned())).expect("Invalid variant name");
|
||||||
|
|
||||||
|
let mut icon_pack = IconPack::new(res_dir, &pack_name, variant).unwrap();
|
||||||
let mut indicator = init_indicator(&icon_pack);
|
let mut indicator = init_indicator(&icon_pack);
|
||||||
|
|
||||||
// Animation task
|
// Animation task
|
||||||
|
|
|
@ -2,6 +2,7 @@ use crate::*;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
#[derive(Debug)]
|
||||||
pub enum PackVariant {
|
pub enum PackVariant {
|
||||||
Light,
|
Light,
|
||||||
Dark,
|
Dark,
|
||||||
|
@ -14,6 +15,14 @@ impl PackVariant {
|
||||||
PackVariant::Dark => "dark",
|
PackVariant::Dark => "dark",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn parse(s: &str) -> Option<PackVariant> {
|
||||||
|
match s {
|
||||||
|
"light" => Some(PackVariant::Light),
|
||||||
|
"dark" => Some(PackVariant::Dark),
|
||||||
|
_ => None
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
|
|
Loading…
Reference in a new issue