summaryrefslogtreecommitdiffstats
path: root/src/options/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/options/config')
-rw-r--r--src/options/config/battery.rs8
-rw-r--r--src/options/config/cpu.rs13
-rw-r--r--src/options/config/general.rs61
-rw-r--r--src/options/config/gpu.rs8
-rw-r--r--src/options/config/memory.rs8
-rw-r--r--src/options/config/network.rs8
-rw-r--r--src/options/config/process.rs14
-rw-r--r--src/options/config/style.rs8
-rw-r--r--src/options/config/temperature.rs8
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!()
+ }
+}