mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
anime: rework sleep logic
This commit is contained in:
@@ -260,27 +260,19 @@ impl crate::CtrlTask for CtrlAnimeZbus {
|
|||||||
async move {
|
async move {
|
||||||
let lock = inner.lock().await;
|
let lock = inner.lock().await;
|
||||||
if lock.config.display_enabled {
|
if lock.config.display_enabled {
|
||||||
if lock.config.off_when_suspended {
|
lock.thread_exit.store(true, Ordering::Release); // ensure clean slate
|
||||||
lock.node
|
lock.node
|
||||||
.write_bytes(&pkt_set_enable_display(!sleeping))
|
.write_bytes(&pkt_set_enable_display(
|
||||||
.map_err(|err| {
|
!(sleeping && lock.config.off_when_suspended),
|
||||||
warn!("create_sys_event_tasks::off_when_suspended {}", err);
|
))
|
||||||
})
|
.map_err(|err| {
|
||||||
.ok();
|
warn!("create_sys_event_tasks::off_when_suspended {}", err);
|
||||||
}
|
})
|
||||||
if !lock.config.builtin_anims_enabled {
|
.ok();
|
||||||
if sleeping {
|
|
||||||
lock.thread_exit.store(true, Ordering::Release);
|
if !sleeping && !lock.config.builtin_anims_enabled {
|
||||||
lock.node
|
CtrlAnime::run_thread(inner.clone(), lock.cache.wake.clone(), true)
|
||||||
.write_bytes(&pkt_set_enable_display(!sleeping))
|
.await;
|
||||||
.map_err(|err| {
|
|
||||||
warn!("create_sys_event_tasks::off_when_suspended {}", err);
|
|
||||||
})
|
|
||||||
.ok();
|
|
||||||
} else {
|
|
||||||
CtrlAnime::run_thread(inner.clone(), lock.cache.wake.clone(), true)
|
|
||||||
.await;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user