aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/power.rs6
-rw-r--r--src/prompt.rs10
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();