tasklist: handle transient_for with skip_taskbar clients

Ref: https://github.com/awesomeWM/awesome/issues/182
This commit is contained in:
Daniel Hahler 2015-03-29 20:20:53 +02:00
parent 1aa1c8052d
commit 57ec268b8e
1 changed files with 11 additions and 1 deletions

View File

@ -79,7 +79,17 @@ local function tasklist_label(c, args)
else
name = name .. (util.escape(c.name) or util.escape("<untitled>"))
end
if capi.client.focus == c then
local focused = capi.client.focus == c
-- Handle transient_for: the first parent that does not skip the taskbar
-- is considered to be focused, if the real client has skip_taskbar.
if not focused and capi.client.focus and capi.client.focus.skip_taskbar
and client.get_transient_for_matching(capi.client.focus,
function(c)
return not c.skip_taskbar
end) == c then
focused = true
end
if focused then
bg = bg_focus
text = text .. "<span color='"..fg_focus.."'>"..name.."</span>"
bg_image = bg_image_focus