Each window is now reparented under a window created by awesome. This window is
NOT visible, this commit should not cause any visible differences. Instead, this
is done to work around problems with X11.
The only alternative would be to ban windows by moving them offscreen which is
ugly in itself and breaks pagers. Doing it like this seems to be the better
solution.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Previously, the bottom-most window in the stacking order would cause an error
because we tried to stack it above it's sibling XCB_NONE. This was invalid. That
X11 error didn't hurt, but it does look weird. Fix this by not issuing that
invalid ConfigureWindow request.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Fullscreen windows should only get their own layer when they have the input
focus. When they are unfocused they should be treated normally (FS#560).
Signed-off-by: Uli Schlachter <psychon@znc.in>
We now use a client_array_t which is more efficient and we reverse the
array order compared to before.
Signed-off-by: Julien Danjou <julien@danjou.info>
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>