fix(battery): restore defaults if unsetting charge limits
This commit is contained in:
parent
fddfc0b684
commit
3ba34931e7
2 changed files with 24 additions and 1 deletions
|
|
@ -4,7 +4,7 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
backend::{
|
backend::{
|
||||||
Power, PowerProfileRequest, PowerProfileUpdate, get_charging_limit,
|
Power, PowerProfileRequest, PowerProfileUpdate, get_charging_limit,
|
||||||
power_profile_subscription, set_charging_limit,
|
power_profile_subscription, set_charging_limit, unset_charging_limit,
|
||||||
},
|
},
|
||||||
config,
|
config,
|
||||||
dgpu::{Entry, GpuUpdate, dgpu_subscription},
|
dgpu::{Entry, GpuUpdate, dgpu_subscription},
|
||||||
|
|
@ -310,6 +310,10 @@ impl cosmic::Application for CosmicBatteryApplet {
|
||||||
return cosmic::iced::Task::perform(set_charging_limit(), |_| {
|
return cosmic::iced::Task::perform(set_charging_limit(), |_| {
|
||||||
cosmic::Action::None
|
cosmic::Action::None
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
return cosmic::iced::Task::perform(unset_charging_limit(), |_| {
|
||||||
|
cosmic::Action::None
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::Errored(why) => {
|
Message::Errored(why) => {
|
||||||
|
|
|
||||||
|
|
@ -250,3 +250,22 @@ pub async fn set_charging_limit() -> Result<()> {
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unset battery charging thresholds via s76 power_daemon
|
||||||
|
pub async fn unset_charging_limit() -> Result<()> {
|
||||||
|
if let Ok(conn) = Connection::system().await {
|
||||||
|
if let Ok(backend) = get_power_backend(&conn, &BackendType::S76PowerDaemon).await {
|
||||||
|
match backend {
|
||||||
|
Backend::S76PowerDaemon(proxy) => {
|
||||||
|
let _ = proxy.set_charge_thresholds(&(90, 100)).await;
|
||||||
|
}
|
||||||
|
Backend::PowerProfilesDaemon(_) => {
|
||||||
|
tracing::info!(
|
||||||
|
"Unsetting charging limit via Power Profiles Daemon is not supported."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue