diff --git a/client.c b/client.c index e7fe4f737..7a89aacc2 100644 --- a/client.c +++ b/client.c @@ -1446,8 +1446,6 @@ luaA_client_struts(lua_State *L) ewmh_update_client_strut(c); - client_need_arrange(c); - hook_property(client, c, "struts"); } } diff --git a/ewmh.c b/ewmh.c index 7dd0aaceb..5574e48c5 100644 --- a/ewmh.c +++ b/ewmh.c @@ -628,8 +628,6 @@ ewmh_process_client_strut(client_t *c, xcb_get_property_reply_t *strut_r) c->strut.bottom_start_x = strut[10]; c->strut.bottom_end_x = strut[11]; - client_need_arrange(c); - hook_property(client, c, "struts"); } } diff --git a/lib/awful/layout/init.lua.in b/lib/awful/layout/init.lua.in index 5d972d355..95bce77c1 100644 --- a/lib/awful/layout/init.lua.in +++ b/lib/awful/layout/init.lua.in @@ -94,7 +94,9 @@ end hooks.arrange.register(on_arrange) hooks.property.register(function (c, prop) - if type(c) == "client" and c:isvisible() and prop == "size_hints_honor" then + if type(c) == "client" and c:isvisible() + and (prop == "size_hints_honor" + or prop == "struts") then on_arrange(c.screen) end end)