mirror of
https://github.com/starship/starship.git
synced 2024-11-29 19:53:38 +01:00
feat: Add separator config to the memory module (#603)
This commit is contained in:
parent
512ed75ef2
commit
135dddbb4f
@ -713,6 +713,7 @@ To enable it, set `disabled` to `false` in your configuration file.
|
|||||||
| `show_swap` | `true` | Display swap usage if total swap is non-zero. |
|
| `show_swap` | `true` | Display swap usage if total swap is non-zero. |
|
||||||
| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. |
|
| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. |
|
||||||
| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. |
|
| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. |
|
||||||
|
| `separator` | `" | "` | The symbol or text that will seperate the ram and swap usage. |
|
||||||
| `style` | `"bold dimmed white"` | The style for the module. |
|
| `style` | `"bold dimmed white"` | The style for the module. |
|
||||||
| `disabled` | `true` | Disables the `memory_usage` module. |
|
| `disabled` | `true` | Disables the `memory_usage` module. |
|
||||||
|
|
||||||
@ -726,6 +727,7 @@ show_percentage = true
|
|||||||
show_swap = true
|
show_swap = true
|
||||||
threshold = -1
|
threshold = -1
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
separator = "/"
|
||||||
style = "bold dimmed green"
|
style = "bold dimmed green"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -9,7 +9,9 @@ pub struct MemoryConfig<'a> {
|
|||||||
pub show_swap: bool,
|
pub show_swap: bool,
|
||||||
pub threshold: i64,
|
pub threshold: i64,
|
||||||
pub symbol: SegmentConfig<'a>,
|
pub symbol: SegmentConfig<'a>,
|
||||||
pub display: SegmentConfig<'a>,
|
pub separator: SegmentConfig<'a>,
|
||||||
|
pub ram: SegmentConfig<'a>,
|
||||||
|
pub swap: SegmentConfig<'a>,
|
||||||
pub style: Style,
|
pub style: Style,
|
||||||
pub disabled: bool,
|
pub disabled: bool,
|
||||||
}
|
}
|
||||||
@ -20,8 +22,10 @@ impl<'a> RootModuleConfig<'a> for MemoryConfig<'a> {
|
|||||||
show_percentage: false,
|
show_percentage: false,
|
||||||
show_swap: true,
|
show_swap: true,
|
||||||
threshold: 75,
|
threshold: 75,
|
||||||
display: SegmentConfig::default(),
|
|
||||||
symbol: SegmentConfig::new("🐏 "),
|
symbol: SegmentConfig::new("🐏 "),
|
||||||
|
separator: SegmentConfig::new(" | "),
|
||||||
|
ram: SegmentConfig::default(),
|
||||||
|
swap: SegmentConfig::default(),
|
||||||
style: Color::White.bold().dimmed(),
|
style: Color::White.bold().dimmed(),
|
||||||
disabled: true,
|
disabled: true,
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.set_style(config.style);
|
module.set_style(config.style);
|
||||||
|
module.create_segment("symbol", &config.symbol);
|
||||||
|
|
||||||
let system = sysinfo::System::new_with_specifics(RefreshKind::new().with_system());
|
let system = sysinfo::System::new_with_specifics(RefreshKind::new().with_system());
|
||||||
|
|
||||||
@ -47,7 +48,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
|
|
||||||
let show_percentage = config.show_percentage;
|
let show_percentage = config.show_percentage;
|
||||||
|
|
||||||
let mut display = if show_percentage {
|
let ram = if show_percentage {
|
||||||
format!("{:.0}{}", percent_mem_used, percent_sign)
|
format!("{:.0}{}", percent_mem_used, percent_sign)
|
||||||
} else {
|
} else {
|
||||||
format!(
|
format!(
|
||||||
@ -56,6 +57,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
format_kib(total_memory_kib)
|
format_kib(total_memory_kib)
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
module.create_segment("ram", &config.ram.with_value(&ram));
|
||||||
|
|
||||||
// swap only shown if enabled and there is swap on the system
|
// swap only shown if enabled and there is swap on the system
|
||||||
let total_swap_kib = system.get_total_swap();
|
let total_swap_kib = system.get_total_swap();
|
||||||
@ -63,10 +65,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
let used_swap_kib = system.get_used_swap();
|
let used_swap_kib = system.get_used_swap();
|
||||||
let percent_swap_used = (used_swap_kib as f64 / total_swap_kib as f64) * 100.;
|
let percent_swap_used = (used_swap_kib as f64 / total_swap_kib as f64) * 100.;
|
||||||
|
|
||||||
display = format!(
|
let swap = if show_percentage {
|
||||||
"{} | {}",
|
|
||||||
display,
|
|
||||||
if show_percentage {
|
|
||||||
format!("{:.0}{}", percent_swap_used, percent_sign)
|
format!("{:.0}{}", percent_swap_used, percent_sign)
|
||||||
} else {
|
} else {
|
||||||
format!(
|
format!(
|
||||||
@ -74,14 +73,11 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
format_kib(used_swap_kib),
|
format_kib(used_swap_kib),
|
||||||
format_kib(total_swap_kib)
|
format_kib(total_swap_kib)
|
||||||
)
|
)
|
||||||
}
|
};
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.create_segment("symbol", &config.symbol);
|
module.create_segment("separator", &config.separator);
|
||||||
module.create_segment("memory_usage", &config.display.with_value(&display));
|
module.create_segment("swap", &config.swap.with_value(&swap));
|
||||||
|
}
|
||||||
module.get_prefix().set_value("");
|
|
||||||
|
|
||||||
Some(module)
|
Some(module)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user