summaryrefslogtreecommitdiffstats
path: root/src/module.rs
diff options
context:
space:
mode:
author谢祯晖 <xiezh0831@126.com>2019-09-21 00:52:54 +0800
committerMatan Kushner <hello@matchai.me>2019-09-20 12:52:54 -0400
commit14fe2461380c0d8d04c26f87684952a1d67c4323 (patch)
tree90fb6cf3d26e42afebbfa2ba667c995876e1273f /src/module.rs
parentc2875d99b678c547c15681e85a4a96d9d264989a (diff)
fix: Add display for unknown battery state (#316)
Diffstat (limited to 'src/module.rs')
-rw-r--r--src/module.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/module.rs b/src/module.rs
index 624834861..2cda82a08 100644
--- a/src/module.rs
+++ b/src/module.rs
@@ -75,6 +75,20 @@ impl<'a> Module<'a> {
self.segments.last_mut().unwrap()
}
+ /// Should config exists, get a reference to a newly created segment in the module
+ pub fn new_segment_if_config_exists(&mut self, name: &str) -> Option<&mut Segment> {
+ // Use the provided value unless overwritten by config
+ if let Some(value) = self.config_value_str(name) {
+ let mut segment = Segment::new(name);
+ segment.set_style(self.style);
+ segment.set_value(value);
+ self.segments.push(segment);
+ Some(self.segments.last_mut().unwrap())
+ } else {
+ None
+ }
+ }
+
/// Whether a module has non-empty segments
pub fn is_empty(&self) -> bool {
self.segments.iter().all(|segment| segment.is_empty())