awful.placement: Fix a closest_corner corner case
When the mouse was exactly on the right or bottom edge, there was a rounding error.
This commit is contained in:
parent
7242b30c01
commit
e93e2913b6
|
@ -500,8 +500,10 @@ function placement.closest_corner(d, args)
|
||||||
-- Use the product of 3 to get the closest point in a NxN matrix
|
-- Use the product of 3 to get the closest point in a NxN matrix
|
||||||
local function f(_n, mat)
|
local function f(_n, mat)
|
||||||
n = _n
|
n = _n
|
||||||
corner_i = -math.ceil( ( (sgeo.x - pos.x) * n) / sgeo.width )
|
-- The +1 is required to avoid a rounding error when
|
||||||
corner_j = -math.ceil( ( (sgeo.y - pos.y) * n) / sgeo.height )
|
-- pos.x == sgeo.x+sgeo.width
|
||||||
|
corner_i = -math.ceil( ( (sgeo.x - pos.x) * n) / (sgeo.width + 1))
|
||||||
|
corner_j = -math.ceil( ( (sgeo.y - pos.y) * n) / (sgeo.height + 1))
|
||||||
return mat[corner_j + 1][corner_i + 1]
|
return mat[corner_j + 1][corner_i + 1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue