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 <[email protected]> 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
>
>

Reply via email to