commit
466988eb5a
|
@ -93,9 +93,7 @@ local current_item = 1
|
|||
local previous_item = nil
|
||||
local current_category = nil
|
||||
local shownitems = nil
|
||||
local instance = { prompt = nil,
|
||||
widget = nil,
|
||||
wibox = nil }
|
||||
local instance = nil
|
||||
|
||||
local common_args = { w = wibox.layout.fixed.horizontal(),
|
||||
data = setmetatable({}, { __mode = 'kv' }) }
|
||||
|
@ -347,25 +345,14 @@ local function menulist_update(query, scr)
|
|||
get_current_page(shownitems, query, scr))
|
||||
end
|
||||
|
||||
--- Create the menubar wibox and widgets.
|
||||
-- @tparam[opt] screen scr Screen.
|
||||
local function initialize(scr)
|
||||
instance.wibox = wibox({})
|
||||
instance.widget = menubar.get(scr)
|
||||
instance.wibox.ontop = true
|
||||
instance.prompt = awful.widget.prompt()
|
||||
local layout = wibox.layout.fixed.horizontal()
|
||||
layout:add(instance.prompt)
|
||||
layout:add(instance.widget)
|
||||
instance.wibox:set_widget(layout)
|
||||
end
|
||||
|
||||
--- Refresh menubar's cache by reloading .desktop files.
|
||||
-- @tparam[opt] screen scr Screen.
|
||||
function menubar.refresh(scr)
|
||||
menubar.menu_gen.generate(function(entries)
|
||||
menubar.menu_entries = entries
|
||||
if instance then
|
||||
menulist_update(nil, scr)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
@ -416,9 +403,19 @@ end
|
|||
--- Show the menubar on the given screen.
|
||||
-- @param scr Screen.
|
||||
function menubar.show(scr)
|
||||
if not instance.wibox then
|
||||
initialize(scr)
|
||||
elseif instance.wibox.visible then -- Menu already shown, exit
|
||||
if not instance then
|
||||
instance = {
|
||||
wibox = wibox({ ontop = true }),
|
||||
widget = menubar.get(scr),
|
||||
prompt = awful.widget.prompt(),
|
||||
}
|
||||
local layout = wibox.layout.fixed.horizontal()
|
||||
layout:add(instance.prompt)
|
||||
layout:add(instance.widget)
|
||||
instance.wibox:set_widget(layout)
|
||||
end
|
||||
|
||||
if instance.wibox.visible then -- Menu already shown, exit
|
||||
return
|
||||
elseif not menubar.cache_entries then
|
||||
menubar.refresh(scr)
|
||||
|
@ -456,7 +453,9 @@ end
|
|||
|
||||
--- Hide the menubar.
|
||||
function menubar.hide()
|
||||
if instance then
|
||||
instance.wibox.visible = false
|
||||
end
|
||||
end
|
||||
|
||||
--- Get a menubar wibox.
|
||||
|
|
Loading…
Reference in New Issue