aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2021-02-24 21:11:55 +0100
committerSimon Ser <contact@emersion.fr>2021-03-01 16:14:10 +0100
commitd358aab8d9dd6121533326423759394ca804a05a (patch)
tree96c64c5bea9273f94f8a1f19e98540eeefc56f92
parenta6544f5a64e5d0899555795915d9a05f7bb09f9c (diff)
downloadsway-d358aab8d9dd6121533326423759394ca804a05a.tar.xz
container: Limit tiled focus to container geometry
container_at would maintain the current focus as long as a position was over one of the container view's surfaces. If an oversized surface was being clipped, this lead to weird focus behavior. Instead, use view_container_at for this test, which intersects the container box before looking at surfaces.
-rw-r--r--sway/tree/container.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index e22c5961..1b7b9dd0 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -395,7 +395,7 @@ struct sway_container *container_at(struct sway_workspace *workspace,
}
// Tiling (focused)
if (focus && focus->view && !is_floating) {
- if ((c = surface_at_view(focus, lx, ly, surface, sx, sy))) {
+ if ((c = view_container_at(&focus->node, lx, ly, surface, sx, sy))) {
return c;
}
}