Skip to main content

afetch/
config.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, PartialEq, Serialize, Deserialize, Clone, Default)]
4pub struct LogoConfig {
5    #[serde(default = "default_status")]
6    pub status: String,
7    #[serde(default = "default_char_type")]
8    pub char_type: String,
9    #[serde(default = "default_picture_path")]
10    pub picture_path: String,
11}
12
13fn default_status() -> String {
14    "enable".to_owned()
15}
16
17fn default_char_type() -> String {
18    "braille".to_owned()
19}
20
21fn default_picture_path() -> String {
22    "none".to_owned()
23}
24
25#[derive(Debug, PartialEq, Serialize, Deserialize, Clone, Default)]
26pub struct Config {
27    #[serde(default = "default_language")]
28    pub language: String,
29    #[serde(default)]
30    pub logo: LogoConfig,
31    #[serde(default = "default_text_color")]
32    pub text_color: Vec<u8>,
33    #[serde(default = "default_text_color_header")]
34    pub text_color_header: Option<Vec<u8>>,
35    #[serde(default = "default_disabled_entries")]
36    pub disabled_entries: Vec<String>,
37}
38
39fn default_language() -> String {
40    "auto".to_owned()
41}
42
43fn default_text_color() -> Vec<u8> {
44    vec![255, 255, 255]
45}
46
47fn default_text_color_header() -> Option<Vec<u8>> {
48    None
49}
50
51fn default_disabled_entries() -> Vec<String> {
52    vec![
53        "battery".to_owned(),
54        "public-ip".to_owned(),
55        "cpu-usage".to_owned(),
56        "network".to_owned(),
57        "wm".to_owned(),
58    ]
59}