summaryrefslogtreecommitdiff
path: root/config/awesome/rc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/awesome/rc.lua')
-rw-r--r--config/awesome/rc.lua23
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
)