gardesk/gar / 731913d

Browse files

fix: enable POINTER_MOTION on tiled windows for edge resize

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
731913dcc705d32f8a57c6898ab539d3bbacb648
Parents
13883c8
Tree
66c60ab

1 changed file

StatusFile+-
M gar/src/x11/events.rs 11 18
gar/src/x11/events.rsmodified
@@ -337,16 +337,12 @@ impl WindowManager {
337337
             let should_float = rule_actions.floating.unwrap_or_else(|| self.conn.should_float(window));
338338
 
339339
             // Subscribe to events on the window
340
-            // Floating windows get POINTER_MOTION for edge resize cursor feedback
341
-            let base_events = EventMask::ENTER_WINDOW
340
+            // All windows get POINTER_MOTION for edge resize cursor feedback
341
+            let events = EventMask::ENTER_WINDOW
342342
                 | EventMask::FOCUS_CHANGE
343343
                 | EventMask::PROPERTY_CHANGE
344
-                | EventMask::STRUCTURE_NOTIFY;
345
-            let events = if should_float {
346
-                base_events | EventMask::POINTER_MOTION
347
-            } else {
348
-                base_events
349
-            };
344
+                | EventMask::STRUCTURE_NOTIFY
345
+                | EventMask::POINTER_MOTION;
350346
             self.conn.select_input(window, events)?;
351347
 
352348
             // Grab button for click-to-focus
@@ -455,16 +451,12 @@ impl WindowManager {
455451
         let should_float = rule_actions.floating.unwrap_or_else(|| self.conn.should_float(window));
456452
 
457453
         // Subscribe to events on the window
458
-        // Floating windows get POINTER_MOTION for edge resize cursor feedback
459
-        let base_events = EventMask::ENTER_WINDOW
454
+        // All windows get POINTER_MOTION for edge resize cursor feedback
455
+        let events = EventMask::ENTER_WINDOW
460456
             | EventMask::FOCUS_CHANGE
461457
             | EventMask::PROPERTY_CHANGE
462
-            | EventMask::STRUCTURE_NOTIFY;
463
-        let events = if should_float {
464
-            base_events | EventMask::POINTER_MOTION
465
-        } else {
466
-            base_events
467
-        };
458
+            | EventMask::STRUCTURE_NOTIFY
459
+            | EventMask::POINTER_MOTION;
468460
         self.conn.select_input(window, events)?;
469461
 
470462
         // Grab button for click-to-focus
@@ -2652,13 +2644,14 @@ impl WindowManager {
26522644
                 win.floating = false;
26532645
             }
26542646
 
2655
-            // Standard event mask for tiled window
2647
+            // Event mask for tiled window (includes POINTER_MOTION for tiled edge resize)
26562648
             self.conn.select_input(
26572649
                 window,
26582650
                 EventMask::ENTER_WINDOW
26592651
                     | EventMask::FOCUS_CHANGE
26602652
                     | EventMask::PROPERTY_CHANGE
2661
-                    | EventMask::STRUCTURE_NOTIFY,
2653
+                    | EventMask::STRUCTURE_NOTIFY
2654
+                    | EventMask::POINTER_MOTION,
26622655
             )?;
26632656
 
26642657
             // Clear edge cursor state if this window had one