wibox: do not set need_arrange on wibox detach

Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Julien Danjou 2009-05-10 16:41:28 +02:00
parent 1a0b1a2215
commit 25b3e718d1
2 changed files with 23 additions and 19 deletions

View File

@ -93,23 +93,29 @@ function getname(layout)
end end
hooks.arrange.register(on_arrange) hooks.arrange.register(on_arrange)
hooks.property.register(function (c, prop) hooks.property.register(function (obj, prop)
if type(c) ~= "client" then return end local objtype = type(obj)
if prop == "size_hints_honor" if objtype == "client" then
or prop == "struts" if prop == "size_hints_honor"
or prop == "minimized" or prop == "struts"
or prop == "sticky" or prop == "minimized"
or prop == "fullscreen" or prop == "sticky"
or prop == "maximized_horizontal" or prop == "fullscreen"
or prop == "maximized_vertical" or prop == "maximized_horizontal"
or prop == "border_width" or prop == "maximized_vertical"
or prop == "hide" then or prop == "border_width"
on_arrange(c.screen) or prop == "hide" then
elseif prop == "screen" then on_arrange(obj.screen)
-- If prop is screen, we do not know what was the previous screen, so elseif prop == "screen" then
-- let's arrange all screens :-( -- If prop is screen, we do not know what was the previous screen, so
for screen = 1, capi.screen.count() do -- let's arrange all screens :-(
on_arrange(screen) for screen = 1, capi.screen.count() do
on_arrange(screen)
end
end
elseif objtype == "wibox" then
if prop == "screen" then
on_arrange(obj.screen)
end end
end end
end) end)

View File

@ -386,8 +386,6 @@ wibox_detach(wibox_t *wibox)
simplewindow_wipe(&wibox->sw); simplewindow_wipe(&wibox->sw);
wibox->screen->need_arrange = true;
foreach(item, globalconf.wiboxes) foreach(item, globalconf.wiboxes)
if(*item == wibox) if(*item == wibox)
{ {