@@ -337,16 +337,12 @@ impl WindowManager { |
| 337 | 337 | let should_float = rule_actions.floating.unwrap_or_else(|| self.conn.should_float(window)); |
| 338 | 338 | |
| 339 | 339 | // 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 |
| 342 | 342 | | EventMask::FOCUS_CHANGE |
| 343 | 343 | | 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; |
| 350 | 346 | self.conn.select_input(window, events)?; |
| 351 | 347 | |
| 352 | 348 | // Grab button for click-to-focus |
@@ -455,16 +451,12 @@ impl WindowManager { |
| 455 | 451 | let should_float = rule_actions.floating.unwrap_or_else(|| self.conn.should_float(window)); |
| 456 | 452 | |
| 457 | 453 | // 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 |
| 460 | 456 | | EventMask::FOCUS_CHANGE |
| 461 | 457 | | 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; |
| 468 | 460 | self.conn.select_input(window, events)?; |
| 469 | 461 | |
| 470 | 462 | // Grab button for click-to-focus |
@@ -2652,13 +2644,14 @@ impl WindowManager { |
| 2652 | 2644 | win.floating = false; |
| 2653 | 2645 | } |
| 2654 | 2646 | |
| 2655 | | - // Standard event mask for tiled window |
| 2647 | + // Event mask for tiled window (includes POINTER_MOTION for tiled edge resize) |
| 2656 | 2648 | self.conn.select_input( |
| 2657 | 2649 | window, |
| 2658 | 2650 | EventMask::ENTER_WINDOW |
| 2659 | 2651 | | EventMask::FOCUS_CHANGE |
| 2660 | 2652 | | EventMask::PROPERTY_CHANGE |
| 2661 | | - | EventMask::STRUCTURE_NOTIFY, |
| 2653 | + | EventMask::STRUCTURE_NOTIFY |
| 2654 | + | EventMask::POINTER_MOTION, |
| 2662 | 2655 | )?; |
| 2663 | 2656 | |
| 2664 | 2657 | // Clear edge cursor state if this window had one |