From 88a64224b6a8d86ed7cbefe683c3f8f328f79917 Mon Sep 17 00:00:00 2001 From: Khoa Vo Date: Thu, 2 Jul 2026 13:41:44 +0700 Subject: [PATCH] x11_capture: pass shared_window_class to run_with_x11; fix app change detection The X11 capture path was calling check_app_change_with X11 window IDs instead of class names (gnome-terminal-server), corrupting the app state. Also pass shared_window_class to run_with_x11 so it can use the correct class for app detection. --- daemon/src/main.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/daemon/src/main.rs b/daemon/src/main.rs index a40d120..3df200f 100644 --- a/daemon/src/main.rs +++ b/daemon/src/main.rs @@ -896,6 +896,7 @@ fn main() -> Result<(), Box> { capture, &mut daemon, shared_active_window, + shared_window_class, config_changed, status_changed, engine_enabled, @@ -993,6 +994,7 @@ fn run_with_x11( mut capture: X11Capture, daemon: &mut Daemon, shared_active_window: Arc>, + shared_window_class: Arc>, config_changed: Arc, status_changed: Arc, _engine_enabled: Arc, @@ -1026,8 +1028,10 @@ fn run_with_x11( } if daemon.config.app_state.enabled { - let active_window = shared_active_window.lock().unwrap().clone(); - daemon.check_app_change_with(active_window); + let class = shared_window_class.lock().unwrap().clone(); + if !class.is_empty() { + daemon.check_app_change_with(class); + } } // Reset on focus loss (VMK technique)