awful.placement.no_offscreen: no negative x/y
If a client's width/height is larger than the screen's geometry, align it at the screen's x/y offset. Test case with gvim, from a maximized terminal on a floating tag: % gvim -u NONE -N --cmd "set lines=$((LINES + 5))" Without this patch the top of the window is off-screen, but the bottom should be. Fixing it using a number of lines that fit the screen should display the window completely.
This commit is contained in:
parent
e30935c934
commit
9f8dff8a14
|
@ -113,13 +113,15 @@ function placement.no_offscreen(c)
|
||||||
|
|
||||||
if geometry.x + geometry.width + 2*border > screen_geometry.x + screen_geometry.width then
|
if geometry.x + geometry.width + 2*border > screen_geometry.x + screen_geometry.width then
|
||||||
geometry.x = screen_geometry.x + screen_geometry.width - geometry.width - 2*border
|
geometry.x = screen_geometry.x + screen_geometry.width - geometry.width - 2*border
|
||||||
elseif geometry.x < screen_geometry.x then
|
end
|
||||||
|
if geometry.x < screen_geometry.x then
|
||||||
geometry.x = screen_geometry.x
|
geometry.x = screen_geometry.x
|
||||||
end
|
end
|
||||||
|
|
||||||
if geometry.y + geometry.height + border > screen_geometry.y + screen_geometry.height then
|
if geometry.y + geometry.height + border > screen_geometry.y + screen_geometry.height then
|
||||||
geometry.y = screen_geometry.y + screen_geometry.height - geometry.height - 2*border
|
geometry.y = screen_geometry.y + screen_geometry.height - geometry.height - 2*border
|
||||||
elseif geometry.y < screen_geometry.y then
|
end
|
||||||
|
if geometry.y < screen_geometry.y then
|
||||||
geometry.y = screen_geometry.y
|
geometry.y = screen_geometry.y
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue