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.
>
>
>
>

Reply via email to