Diff
diff --git a/src/window_manager.rs b/src/window_manager.rs
index c175318..86920ce 100644
--- a/src/window_manager.rs
+++ b/src/window_manager.rs
@@ -2880,6 +2880,15 @@ impl WindowManager {
if event.mode != x11rb::protocol::xproto::NotifyMode::NORMAL {
return Ok(Control::Continue);
}
+ let selected_window = self
+ .monitors
+ .get(self.selected_monitor)
+ .and_then(|m| m.selected_client);
+ if let Some(sel) = selected_window
+ && self.fullscreen_windows.contains(&sel)
+ {
+ return Ok(Control::Continue);
+ }
if self.windows.contains(&event.event) {
if let Some(client) = self.clients.get(&event.event)
&& client.monitor_index != self.selected_monitor
@@ -2896,6 +2905,16 @@ impl WindowManager {
return Ok(Control::Continue);
}
+ let selected_window = self
+ .monitors
+ .get(self.selected_monitor)
+ .and_then(|m| m.selected_client);
+ if let Some(sel) = selected_window
+ && self.fullscreen_windows.contains(&sel)
+ {
+ return Ok(Control::Continue);
+ }
+
if let Some(monitor_index) =
self.get_monitor_at_point(event.root_x as i32, event.root_y as i32)
&& monitor_index != self.selected_monitor