From 367ad2d9a64f0a7726da3225725700becc298ba5 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 7 Jul 2015 18:42:24 +0200 Subject: [PATCH] awful.tag.delete: single call to #c:tags() This is a minor performance optimisation I came across. --- lib/awful/tag.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/awful/tag.lua b/lib/awful/tag.lua index e5348e195..46a9ea8d9 100644 --- a/lib/awful/tag.lua +++ b/lib/awful/tag.lua @@ -176,14 +176,15 @@ function tag.delete(target_tag, fallback_tag) -- Move the clients we can off of this tag. for _, c in pairs(clients) do + local nb_tags = #c:tags() -- If a client has only this tag, or stickied clients with -- nowhere to go, abort. - if (not c.sticky and #c:tags() == 1) or + if (not c.sticky and nb_tags == 1) or (c.sticky and fallback_tag == nil) then return -- If a client has multiple tags, then do not move it to fallback - elseif #c:tags() < 2 then + elseif nb_tags < 2 then c:tags({fallback_tag}) end end