2014-12-12 3 views
1

Я хочу показать wibox в awesome, когда комбинация клавиш нажата, и я хочу, чтобы этот wibox исчезал через 3 секунды, например. Я не хочу использовать naughty или popup, потому что у wibox будут виджеты внутри.Показать виджет с тайм-аутом в Awesome Wm с Lua

У меня уже есть решение, но я не знаю, если это решение является стандартным один или, если есть другой способ сделать это:

function taglist_wibox_show_hide(box) 
    local show = timer({ timeout = 0 }) 
    show:connect_signal("timeout", function() 
             print("show") 
             box.visible=true 
             show:stop() end) 
    show:start() 
    local hide = timer({ timeout = 2 }) 
    hide:connect_signal("timeout", function() 
             print("hide") 
             box.visible=false 
             hide:stop() end) 
    hide:start() 
end 

Затем добавить этот ярлык:

awful.key({ modkey, "Control" },"y",function() 
            taglist_wibox_show_hide(box[mouse.screen]) 
            end), 

ответ

1

Насколько я знаю, другого пути нет. Однако я думаю, что ваш первый таймер не нужен.

function taglist_wibox_show_hide(box) 

    print("show") 
    box.visible=true 

    local hide = timer({ timeout = 2 }) 
    hide:connect_signal("timeout", function() 
             print("hide") 
             box.visible=false 
             hide:stop() end) 
    hide:start() 
end 

Должно работать так же хорошо.

Cheers

+0

Я изо всех сил пытался найти документы для поддержки таймеров на 3.5.9, но это сработало - спасибо – markdwhite