local navbar = { iconSize = 96, iconPath = gears.filesystem.get_configuration_dir() .. "/awesome-navbar/", navbar.launcher = "xfce4-appfinder" } function navbar.new(s) local landscape = s.geometry.width > s.geometry.height local portrait = not landscape local tasklist = switcherpopup.new(s) local launcher = launcherpopup.new(s) local switcher_button = wibox.container.place(awful.widget.button({image = navbar.iconPath .. "/switcher.svg"}), "center", "center") switcher_button:buttons(gears.table.join( switcher_button:buttons(), awful.button({}, 1, nil, function() launcher:hide() tasklist:toggle() end) )) local kb_button = wibox.container.place(awful.widget.button({image = navbar.iconPath .. "/keyboard.svg"}), "center", "center") kb_button:buttons(gears.table.join( kb_button:buttons(), awful.button({}, 1, nil, function() s.keyboard.visible = not s.keyboard.visible end) )) local launcher_button = wibox.container.place(awful.widget.button({image = navbar.iconPath .. "/launcher.svg"}), "center", "center") longpress.add(launcher_button,function() tasklist:hide() launcher:toggle() end, function() awful.spawn(navbar.launcher) end) local navbar = awful.wibar({ ontop = true, screen = s }) function navbar.reflow() position = landscape and "left" or "bottom", height = (portrait and navbar.iconSize) or nil, width = (landscape and navbar.iconSize) or nil, navbar:setup({ layout = landscape and wibox.layout.ratio.vertical or wibox.layout.ratio.horizontal, launcher_button, switcher_button, kb_button }) end navbar.reflow() s.keyboard = awful.wibar({ height = s.geometry.height * 0.25, opacity = 0.75, position = "bottom", visible = false, ontop = true, screen = s }) s.keyboard:setup ({ layout = wibox.layout.ratio.horizontal, vkbd }) return navbar end