awful.placement.no_overlap: Ignore desktop clients
EWMH describes desktop windows like this: "_NET_WM_WINDOW_TYPE_DESKTOP indicates a desktop feature. This can include a single window containing desktop icons with the same dimensions as the screen, allowing the desktop environment to have full control of the desktop, without the need for proxying root window clicks." An example for such a window is nautilus' virtual root window. Naturally, such a window would always overlap with any given client, so awful.placement.no_overlap just didn't do anything at all. The fix is to ignore such clients for placement calculations. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
92183caad0
commit
d56a5abd99
|
@ -131,7 +131,7 @@ function no_overlap(c)
|
|||
local areas = { capi.screen[c.screen].workarea }
|
||||
local geometry = c:geometry()
|
||||
for i, cl in pairs(cls) do
|
||||
if cl ~= c and (client.floating.get(cl) or curlay == layout.suit.floating) then
|
||||
if cl ~= c and cl.type ~= "desktop" and (client.floating.get(cl) or curlay == layout.suit.floating) then
|
||||
areas = area_remove(areas, cl:geometry())
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue