From 349c0093217bf0f2b2ec045f693e5f8f53a94485 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 5 Apr 2024 11:31:15 -0600 Subject: [PATCH] Support unlock from logind dbus --- src/locker.rs | 12 ++++-------- src/logind.rs | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/locker.rs b/src/locker.rs index 3744850..eba25e9 100644 --- a/src/locker.rs +++ b/src/locker.rs @@ -196,14 +196,13 @@ pub enum Message { Channel(mpsc::Sender), BackgroundState(cosmic_bg_config::state::State), LogindLock, - LogindUnlock, NetworkIcon(Option<&'static str>), PowerInfo(Option<(String, f64)>), Prompt(String, bool, Option), Submit, Suspend, Error(String), - Exit, + Unlock, } /// The [`App`] stores application-specific state. @@ -410,9 +409,6 @@ impl cosmic::Application for App { Message::LogindLock => { log::warn!("TODO: LogindLock"); } - Message::LogindUnlock => { - log::warn!("TODO: LogindUnlock"); - } Message::NetworkIcon(network_icon_opt) => { self.network_icon_opt = network_icon_opt; } @@ -466,7 +462,7 @@ impl cosmic::Application for App { Message::Error(error) => { self.error_opt = Some(error); } - Message::Exit => { + Message::Unlock => { let mut commands = Vec::new(); for (_output, surface_id) in self.surface_ids.drain() { self.surface_images.remove(&surface_id); @@ -676,7 +672,7 @@ impl cosmic::Application for App { if lock { Message::LogindLock } else { - Message::LogindUnlock + Message::Unlock } })); } @@ -754,7 +750,7 @@ impl cosmic::Application for App { match pam_res { Ok(()) => { log::info!("successfully authenticated"); - msg_tx.send(Message::Exit).await.unwrap(); + msg_tx.send(Message::Unlock).await.unwrap(); break; } Err(err) => { diff --git a/src/logind.rs b/src/logind.rs index 8cc00c9..b83a88b 100644 --- a/src/logind.rs +++ b/src/logind.rs @@ -63,8 +63,10 @@ pub async fn handler(msg_tx: &mut mpsc::Sender) -> Result<(), Box { + log::info!("logind lock"); msg_tx.send(true).await?; }, _ = unlock.next() => { + log::info!("logind unlock"); msg_tx.send(false).await?; }); }