Hi guys, I wrote some simple routines to enable tiling in a floating environment. It works fine with, for example, an iceweasel window but I get really weird behavior with my terminal emulator: Terminator.
When I open a fresh window and try to tile it e.g. to the left, the window starts resizing automagically. However, when I have dragged/resized it prior to tiling, everything works as expected. To illustrate this, I've uploaded a demo to youtube: https://www.youtube.com/watch?v=a5wgCw01kkE Does anyone have any idea what's going on? Here's the most important piece of the lua code: function tile(c, dir) if c == nil then return end if not floatTile[c] then resetFloatTile(c) end c.maximized = false c.minimized = false local s = mouse.screen local cg = c:geometry() local sg = screen[s].workarea local x, y, width, height if dir == "left" then x,y,width,height = tileLeft(c, cg, sg) elseif dir == "right" then x,y,width,height = tileRight(c, cg, sg) elseif dir == "up" then x,y,width,height = tileUp(c, cg, sg) elseif dir == "down" then x,y,width,height = tileDown(c, cg, sg) elseif dir == "full" then x,y,width,height = tileFull(c, sg) end c:geometry({x = x, y = y, width = width, height = height}) end I think the only relevant piece of the code above is the change in geometry. By the way, other windows sometimes don't get drawn properly after tiling. I remember in 3.4 that we could force a redraw of a client, but I couldn't find anything anymore in the docs. Thanks, Joren
