From 719c94d67cfdd033e893d7b5623a133b58d710e1 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Sat, 31 Jul 2010 10:42:22 +0200 Subject: [PATCH] Avoid some flickering again The commit which made awesome a reparenting WM broke the fix from 37703948b3ad1. Fix this again by stacking the frame window correctly. Signed-off-by: Uli Schlachter --- objects/client.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/objects/client.c b/objects/client.c index d4bb7600..9ab083e7 100644 --- a/objects/client.c +++ b/objects/client.c @@ -456,14 +456,6 @@ client_manage(xcb_window_t w, xcb_get_geometry_reply_t *wgeom, int phys_screen, /* Make sure the window is automatically mapped if awesome exits or dies. */ xcb_change_save_set(globalconf.connection, XCB_SET_MODE_INSERT, w); - /* Move this window to the bottom of the stack. Without this we would force - * other windows which will be above this one to redraw themselves because - * this window occludes them for a tiny moment. The next stack_refresh() - * will fix this up and move the window to its correct place. */ - xcb_configure_window(globalconf.connection, w, - XCB_CONFIG_WINDOW_STACK_MODE, - (uint32_t[]) { XCB_STACK_MODE_BELOW}); - client_t *c = client_new(globalconf.L); xcb_screen_t *s = xutil_screen_get(globalconf.connection, phys_screen); @@ -492,6 +484,14 @@ client_manage(xcb_window_t w, xcb_get_geometry_reply_t *wgeom, int phys_screen, xcb_map_window(globalconf.connection, w); luaA_object_emit_signal(globalconf.L, -1, "property::window", 0); + /* Move this window to the bottom of the stack. Without this we would force + * other windows which will be above this one to redraw themselves because + * this window occludes them for a tiny moment. The next stack_refresh() + * will fix this up and move the window to its correct place. */ + xcb_configure_window(globalconf.connection, c->frame_window, + XCB_CONFIG_WINDOW_STACK_MODE, + (uint32_t[]) { XCB_STACK_MODE_BELOW}); + /* Duplicate client and push it in client list */ lua_pushvalue(globalconf.L, -1); client_array_push(&globalconf.clients, luaA_object_ref(globalconf.L, -1));