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
signature.asc
Description: Digital signature
