Hyprland/src/managers/input
Andrew Pritchard dfb78e0593
Fix swiping onto a new workspace with multiple monitors. (#1971)
The previous code could run into issues into the following circumstances:

* The focused monitor is on its rightmost workspace with ID `i`.
* Another monitor has a workspace with ID `i+1`.
* `workspace_swipe_create_new` is enabled.

Then, swiping rightwards attempts to target a new workspace with ID
`i+1`: completing the swipe gesture unintentionally focuses that
workspace on whichever monitor it's already on while leaving the active
monitor in a broken state where it shows no windows but creates new
windows on the workspace it was previously on; and cancelling the swipe
gesture shifts the entire workspace `i+1` to the right by the width of
the active monitor.

By choosing an ID that doesn't exist, this problematic behavior is
avoided.  More specifically, it's the smallest ID greater than any
existing workspace's ID, because otherwise the new workspace that was
seemingly just created to the right of the rightmost workspace could end
up somewhere in the middle of the workspace order.
2023-04-07 12:18:53 +01:00
..
IdleInhibitor.cpp Added clang format (#1239) 2022-12-16 17:17:31 +00:00
InputManager.cpp input: don't set icon on held buttons without a drag 2023-04-03 23:17:06 +01:00
InputManager.hpp input: hold focus on mouse buttons 2023-04-02 13:30:45 +01:00
InputMethodRelay.cpp ime: account for text height in popup calcs 2023-03-14 16:46:39 +00:00
InputMethodRelay.hpp input: text-input-v1 support (#1778) 2023-03-14 12:57:50 +00:00
Swipe.cpp Fix swiping onto a new workspace with multiple monitors. (#1971) 2023-04-07 12:18:53 +01:00
Tablets.cpp allow binding tablets to outputs 2022-12-21 15:11:39 +00:00
Touch.cpp input: ignore constraints on touch 2023-04-06 11:34:18 +01:00