57e05cda1c
This fixes a deadlock when some arrange signal handler itself changes a property like `border_width`: function border1(c) c.border_width = 50 end client.connect_signal("property::border_width", border1) awful.screen.connect_for_each_screen(function(s) local border_for_s = function(s_) local clients = awful.client.visible(s_) for _, c in pairs(clients) do c.border_width = 2 end end screen[s]:connect_signal("arrange", border_for_s) end) It might be better to have some counter there instead and emit a warning if this happens (while allowing for e.g. 3 recursions). This would allow handlers to break out of this themselves (by not insisting to change the property). |
||
---|---|---|
.. | ||
awful | ||
beautiful | ||
gears | ||
menubar | ||
naughty | ||
wibox | ||
beautiful.lua | ||
naughty.lua |