diff options
-rw-r--r-- | src/power.rs | 6 | ||||
-rw-r--r-- | src/prompt.rs | 10 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/power.rs b/src/power.rs index f5ab307..725e9fe 100644 --- a/src/power.rs +++ b/src/power.rs @@ -98,19 +98,17 @@ impl PowerInfo { false } - fn batteries(&self) -> Vec<PowerSupplyInfo> { + fn batteries(&self) -> Vec<&PowerSupplyInfo> { self.power_supplies .iter() - .cloned() .filter(|p| p.ty == PowerSupplyType::Battery) .collect() } - fn mains(&self) -> Vec<PowerSupplyInfo> { + fn mains(&self) -> Vec<&PowerSupplyInfo> { self.power_supplies .iter() .filter(|p| p.ty == PowerSupplyType::AC) - .cloned() .collect() } } diff --git a/src/prompt.rs b/src/prompt.rs index 7914b39..98d2e7b 100644 --- a/src/prompt.rs +++ b/src/prompt.rs @@ -41,9 +41,15 @@ impl Prompt { pub fn display(&self) { let user = - self.data.user.clone().unwrap_or_else(|| String::from("???")); + self.data.user + .as_ref() + .map(String::as_ref) + .unwrap_or_else(|| "???"); let host = - self.data.hostname.clone().unwrap_or_else(|| String::from("???")); + self.data.hostname + .as_ref() + .map(String::as_ref) + .unwrap_or_else(|| "???"); let max_vcs_len = 20; // "g*+?:mybr...nch:+1-1" let vcs = self.format_vcs(); |