From 1dc7d4340c8647b3a2890069a473e731bea2cab8 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Wed, 4 Feb 2026 17:13:49 -0600 Subject: [PATCH] better filtering for monado app switcher --- wayvr/src/overlays/dashboard.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/wayvr/src/overlays/dashboard.rs b/wayvr/src/overlays/dashboard.rs index 6b040ee..d119405 100644 --- a/wayvr/src/overlays/dashboard.rs +++ b/wayvr/src/overlays/dashboard.rs @@ -546,8 +546,6 @@ impl DashInterface for DashInterfaceLive { } } -const CLIENT_NAME_BLACKLIST: [&str; 3] = ["wayvr", "libmonado", "oscavmgr"]; - #[cfg(feature = "openxr")] fn monado_get_brightness(monado: &mut libmonado::Monado) -> Option { let device = monado.device_from_role(libmonado::DeviceRole::Head).ok()?; @@ -570,15 +568,15 @@ fn monado_list_clients_filtered( let clients: Vec<_> = clients .iter_mut() .filter_map(|client| { - let Ok(name) = client.name() else { + use libmonado::ClientState; + let Ok(state) = client.state() else { return None; }; - for cell in CLIENT_NAME_BLACKLIST { - if cell == name { - // blacklisted! - return None; - } + if !state.contains(ClientState::ClientSessionActive) + || state.contains(ClientState::ClientSessionOverlay) + { + return None; } Some(client.clone())