diff options
Diffstat (limited to 'config/awesome/rc.lua')
-rw-r--r-- | config/awesome/rc.lua | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index ea1675c..c9152bb 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -700,20 +700,29 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n -- -- from/inspired by https://stackoverflow.com/a/30684548 do_not_reset_focus = false +previous_tag = nil tag.connect_signal( "property::selected", function (t) local selected = tostring(t.selected) == "false" if selected then - if not do_not_reset_focus then - gears.timer.delayed_call( function() - local c = mouse.current_client - if not (c == nil) then - client.focus = c - end - end) + if not t == previous_tag and not do_not_reset_focus then + local focus_timer = gears.timer( + { timeout = 0.05, + autostart = true, + callback = function() + local c = mouse.current_client + if not (c == nil) then + client.focus = c + end + focus_timer:stop() + end + } + ) + focus_timer:start() end do_not_reset_focus = false + previous_tag = t end end ) |