At 1228522529 time_t, Maarten Maathuis wrote:
> Subject: [PATCH] client: Sometimes you need to arrange before a client gets 
> unbanned.

Merged.

> Subject: [PATCH] client: Don't show transient windows for invisible parents.
> +    /* If the parent is invisible, then so should the child. */
> +    if(c->transient_for)
> +        if(!client_isvisible_exclude_banned(c->transient_for, screen))
> +            return false;

If I understand correctly this breaks the tagging of transient windows.
If there tags are differents from the parents, they will be totally
invisible.
I did not merged this one.

> diff --git a/client.c b/client.c
> index f1c2426..f55371e 100644
> --- a/client.c
> +++ b/client.c
> @@ -1284,7 +1284,11 @@ luaA_client_geometry(lua_State *L)
>              geometry.height = luaA_getopt_number(L, 2, "height", 
> (*c)->geometry.height);
>          }
>  
> -        (*c)->ismaxhoriz = (*c)->ismaxvert = false;
> +        if ((*c)->geometry.width != geometry.width || (*c)->geometry.x != 
> geometry.x)
> +            (*c)->ismaxhoriz = false;
> +
> +        if ((*c)->geometry.height != geometry.height || (*c)->geometry.y != 
> geometry.y)
> +            (*c)->ismaxvert = false;
>  
>          client_resize(*c, geometry, (*c)->honorsizehints);
>      }

This part seems ok so I've merged it into
    client: maximize belongs to client internal

> diff --git a/lib/awful/client.lua.in b/lib/awful/client.lua.in
> index 5ad971f..b2c7a98 100644
> --- a/lib/awful/client.lua.in
> +++ b/lib/awful/client.lua.in
> @@ -572,4 +572,25 @@ hooks.unmanage.register(urgent.delete)
>  
>  hooks.unmanage.register(floating.delete)
>  
> +-- Pseudo tiled beheaviour for fully maximized clients.
> +-- The lowering is needed to see all tiled windows again.
> +-- The raising is needed to see the maximized window again.
> +-- Lowering upon unfocus would mess with floating/transient windows.
> +hooks.focus.register(function(c)
> +    if c.maximized_horizontal and c.maximized_vertical then
> +        c:raise()
> +    elseif not floating.get(c) then
> +        -- Find all maximized windows and lower them
> +        local tls = tag.selectedlist(c.screen)
> +        for i, t in pairs(tls) do
> +            local cls = t:clients()
> +            for j, cot in pairs(cls) do
> +                if cot.maximized_horizontal and cot.maximized_vertical then
> +                    cot:lower()
> +                end
> +            end
> +        end
> +    end
> +end)

If I understand correctly, you raise full-maximized windows upon focus.
If it's not focus, then you lower all maximized windows to get them
under tiled ones.
So you basically implements two layers of windows: tiled/maximized ?

Not against it, this does not seem bad but seems to be a very personal choice.

Cheers,
-- 
Julien Danjou
// ᐰ <[EMAIL PROTECTED]>   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD

Attachment: signature.asc
Description: Digital signature

Reply via email to