- Subscribe to openwindow, closewindow, movewindow, workspace, fullscreen - 50ms debounce to batch rapid successive events - Event-driven check instead of continuous polling - Proper cleanup with _disconnect_occlusion_signals()
- Subscribe to openwindow, closewindow, movewindow, workspace, fullscreen - 50ms debounce to batch rapid successive events - Event-driven check instead of continuous polling - Proper cleanup with _disconnect_occlusion_signals()