diff options
Diffstat (limited to 'src/options/config')
-rw-r--r-- | src/options/config/battery.rs | 8 | ||||
-rw-r--r-- | src/options/config/cpu.rs | 13 | ||||
-rw-r--r-- | src/options/config/general.rs | 61 | ||||
-rw-r--r-- | src/options/config/gpu.rs | 8 | ||||
-rw-r--r-- | src/options/config/memory.rs | 8 | ||||
-rw-r--r-- | src/options/config/network.rs | 8 | ||||
-rw-r--r-- | src/options/config/process.rs | 14 | ||||
-rw-r--r-- | src/options/config/style.rs | 8 | ||||
-rw-r--r-- | src/options/config/temperature.rs | 8 |
9 files changed, 136 insertions, 0 deletions
diff --git a/src/options/config/battery.rs b/src/options/config/battery.rs index 6420a02e..4bcbae52 100644 --- a/src/options/config/battery.rs +++ b/src/options/config/battery.rs @@ -2,7 +2,15 @@ use serde::Deserialize; use crate::args::BatteryArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct BatteryConfig { pub(crate) args: BatteryArgs, } + +impl DefaultConfig for BatteryConfig { + fn default_config() -> String { + todo!() + } +} diff --git a/src/options/config/cpu.rs b/src/options/config/cpu.rs index 71199704..0976dd6d 100644 --- a/src/options/config/cpu.rs +++ b/src/options/config/cpu.rs @@ -1,7 +1,10 @@ +use indoc::indoc; use serde::Deserialize; use crate::args::CpuArgs; +use super::DefaultConfig; + /// The default selection of the CPU widget. If the given selection is invalid, we will fall back to all. #[derive(Clone, Copy, Debug, Default, Deserialize)] #[serde(rename_all = "lowercase")] @@ -22,6 +25,16 @@ pub(crate) struct CpuConfig { pub(crate) default: CpuDefault, } +impl DefaultConfig for CpuConfig { + fn default_config() -> String { + let s = indoc! {r##" + + "##}; + + s.to_string() + } +} + #[cfg(test)] mod test { use super::*; diff --git a/src/options/config/general.rs b/src/options/config/general.rs index 758c3e08..1721d231 100644 --- a/src/options/config/general.rs +++ b/src/options/config/general.rs @@ -1,9 +1,70 @@ +use indoc::indoc; use serde::Deserialize; use crate::args::GeneralArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct GeneralConfig { #[serde(flatten)] pub(crate) args: GeneralArgs, } + +impl DefaultConfig for GeneralConfig { + fn default_config() -> String { + let s = indoc! {r##" + # Temporarily shows the time scale in graphs. If time is disabled via --hide_time then this will + # have no effect. + # autohide_time = false + + # Hides graphs and uses a more basic look. + # basic = false + + # Default time value for graphs. Either a number in milliseconds or a 'human duration' + # (e.g. "60s", "10m"). Defaults to 60s, and must be at least 30s. + # default_time_value = "60s" + + # Sets the n'th selected default widget type as the default. Requires `default_widget_type` + # to be set to have any effect. + # default_widget_count = 1 + + # Sets which widget type to use as the default widget. + # default_widget_type = "process" + + # Disables mouse clicks. + # disable_click = false + + # Use a dot marker for graphs. + # dot_marker = false + + # Expand the default widget upon starting the app. No effect on basic mode. + # expanded = false + + # Hides spacing between table headers and entries. + # hide_table_gap = false + + # Hides the time scale from being shown. + # hide_time = false + + # Sets how often data is refreshed. Either a number in milliseconds or a 'human duration' + # (e.g. "1s", "1m"). Defaults to 1s, and must be at least 250ms. Smaller values may result in + # higher system resource usage. + # rate = "1s" + + # How far back data will be stored up to. Either a number in milliseconds or a 'human duration' + # (e.g. "10m", "1h"). Defaults to 10 minutes, and must be at least 1 minute. Larger values + # may result in higher memory usage. + # retention = "10m" + + # Show the current item entry position for table widgets. + # show_table_scroll_position = false + + # How much time the x-axis shifts by each time you zoom in or out. Either a number in milliseconds or + # a 'human duration' (e.g. "15s", "1m"). Defaults to 15 seconds. + # time_delta = "15s" + "##}; + + s.to_string() + } +} diff --git a/src/options/config/gpu.rs b/src/options/config/gpu.rs index 40b979fa..b71c0fc0 100644 --- a/src/options/config/gpu.rs +++ b/src/options/config/gpu.rs @@ -2,6 +2,8 @@ use serde::Deserialize; use crate::args::GpuArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct GpuConfig { #[serde(flatten)] @@ -13,3 +15,9 @@ impl GpuConfig { self.args.enable_gpu.unwrap_or(false) } } + +impl DefaultConfig for GpuConfig { + fn default_config() -> String { + todo!() + } +} diff --git a/src/options/config/memory.rs b/src/options/config/memory.rs index c7c6ac8b..5a402085 100644 --- a/src/options/config/memory.rs +++ b/src/options/config/memory.rs @@ -2,8 +2,16 @@ use serde::Deserialize; use crate::args::MemoryArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct MemoryConfig { #[serde(flatten)] pub(crate) args: MemoryArgs, } + +impl DefaultConfig for MemoryConfig { + fn default_config() -> String { + todo!() + } +} diff --git a/src/options/config/network.rs b/src/options/config/network.rs index 9723b997..0fa18162 100644 --- a/src/options/config/network.rs +++ b/src/options/config/network.rs @@ -2,8 +2,16 @@ use serde::Deserialize; use crate::args::NetworkArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct NetworkConfig { #[serde(flatten)] pub(crate) args: NetworkArgs, } + +impl DefaultConfig for NetworkConfig { + fn default_config() -> String { + todo!() + } +} diff --git a/src/options/config/process.rs b/src/options/config/process.rs index c48ca044..c4ac66d4 100644 --- a/src/options/config/process.rs +++ b/src/options/config/process.rs @@ -1,7 +1,10 @@ +use indoc::indoc; use serde::Deserialize; use crate::{args::ProcessArgs, widgets::ProcWidgetColumn}; +use super::DefaultConfig; + /// Process column settings. #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct ProcessConfig { @@ -10,6 +13,17 @@ pub(crate) struct ProcessConfig { pub(crate) columns: Option<Vec<ProcWidgetColumn>>, } +impl DefaultConfig for ProcessConfig { + fn default_config() -> String { + let s = indoc! {r##" + # Enables case sensitivity by default when searching for a process. + # case_sensitive = false + "##}; + + s.to_string() + } +} + #[cfg(test)] mod test { use super::ProcessConfig; diff --git a/src/options/config/style.rs b/src/options/config/style.rs index 38d93500..6b9f9983 100644 --- a/src/options/config/style.rs +++ b/src/options/config/style.rs @@ -5,9 +5,17 @@ use serde::Deserialize; use crate::args::StyleArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct StyleConfig { #[serde(flatten)] pub(crate) args: StyleArgs, // TODO: Maybe also put colours here? } + +impl DefaultConfig for StyleConfig { + fn default_config() -> String { + todo!() + } +} diff --git a/src/options/config/temperature.rs b/src/options/config/temperature.rs index 7ae359f9..6fce986f 100644 --- a/src/options/config/temperature.rs +++ b/src/options/config/temperature.rs @@ -2,9 +2,17 @@ use serde::Deserialize; use crate::args::TemperatureArgs; +use super::DefaultConfig; + #[derive(Clone, Debug, Default, Deserialize)] pub(crate) struct TemperatureConfig { #[serde(flatten)] pub(crate) args: TemperatureArgs, pub(crate) temperature_type: Option<String>, } + +impl DefaultConfig for TemperatureConfig { + fn default_config() -> String { + todo!() + } +} |