diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2019-03-19 19:41:24 +1000 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-03-19 14:38:06 -0600 |
commit | bfa20e65d846f8e8bf7b967b2440d99d82ca9a86 (patch) | |
tree | 1dedc741affd829e033c994e30f2ab838d301b33 /sway/commands/seat/pointer_constraint.c | |
parent | e9a476244df7a8886fc6fc6785251198ed76e601 (diff) |
Clean up focus follows mouse logic
Firstly, this fixes a recent regression where having
`focus_follows_mouse yes` and hovering an inactive tab caused it to gain
focus. The code was missing a view_is_visible check.
The code is handling the logic for both focus_follows_mouse yes and
focus_follows_mouse always, where the latter will apply when nudging the
mouse after a workspace switch. However, the view_is_visible check
didn't apply when using focus_follows_mouse always, so hovering a tab
with that configuration would cause is to focus. This was a bug. When
adding the view_is_visible check, it now applies to both yes and always.
Note that the comment about the split container was wrong. At this point
the hovered node cannot be a split container because it passed the
node_is_view check. The comment has been removed.
Lastly, the else condition is completely removed. This didn't appear to
have any practical use. Setting focus to the result of
seat_get_focus_inactive is very likely going to be a no op. There is a
slim chance that this will break something, and if so I'd like to find
out what so it can be properly documented in the code.
Diffstat (limited to 'sway/commands/seat/pointer_constraint.c')
0 files changed, 0 insertions, 0 deletions