mirror of
https://github.com/swaywm/sway.git
synced 2026-04-24 06:46:22 -04:00
If an actively constrained surface is partially occluded by another node (say, by a floating node), the cursor should remain constrained and pass "under" the floating node. Previously, this did not always happen, as `node_at_coords` is a simple top-down hit test that doesn't (and shouldn't) cover constraints. Furthermore, whether the cursor should remain constrained is a function of the input device type: only pointer devices should be constrained. This commit addresses this issue by stashing the surface and node that currently have cursor input focus, and using the stashed values everywhere. When `wlr_cursor_move` and friends are called, one must now take care to also call `cursor_update_current_node` with the `wlr_input_device` that initiated the movement. Fixes #6073. |
||
|---|---|---|
| .. | ||
| sway | ||
| swaybar | ||
| swaynag | ||
| background-image.h | ||
| cairo.h | ||
| ipc-client.h | ||
| ipc.h | ||
| list.h | ||
| log.h | ||
| loop.h | ||
| meson.build | ||
| pango.h | ||
| pool-buffer.h | ||
| stringop.h | ||
| util.h | ||