Thanks :-) I actually did solve it just like you did, and I thought I posted about this but that turned out to be in a private thread. Luckily the solution is out there for anyone to see now!
Joren On Oct 26, 2014 10:16 PM, "Germán Gutiérrez" <germ...@gmail.com> wrote: > , > On Sep 15, 2014 5:02 PM, "Joren Heit" <jorenh...@gmail.com> wrote: > > > > I'm so sorry, totally forgot to mention my version: > > > > awesome v3.5.5 (Kansas City Shuffle) > > • Build: Jun 11 2014 02:21:37 for x86_64 by gcc version 4.9.0 > (root@miyumi) > > • Compiled against Lua 5.1.5 (running with Lua 5.1) > > • D-Bus support: ✔ > > > > > > On Mon, Sep 15, 2014 at 9:58 PM, Joren Heit <jorenh...@gmail.com> wrote: > >> > >> 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 > >> > > > > Dunno if you've solved it, but unchecking "window geometry hints" on > terminator preferences solved its weird behaivor on my environment. > > > >