dotfiles/awesome/themes/neo/statusbar.lua

85 lines
2.3 KiB
Lua

-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
-- Wibox handling library
local wibox = require("wibox")
-- Custom Local Library: Common Functional Decoration
local deco = {
wallpaper = require("deco.wallpaper"),
taglist = require("deco.taglist"),
tasklist = require("deco.tasklist"),
borders = require("deco.borders")
}
local taglist_buttons = deco.taglist()
local tasklist_buttons = deco.tasklist()
local _M = {}
-- Custom Local Library: widgets
local volume_widget = require('awesome-wm-widgets.pactl-widget.volume')
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Create a textclock widget
text_clock = wibox.widget.textclock('%l:%M %p :: %b. %e, %Y ')
awful.screen.connect_for_each_screen(function(s)
-- Wallpaper
set_wallpaper(s)
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(gears.table.join(
awful.button({ }, 1, function () awful.layout.inc( 1) end),
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end)
))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons
}
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s, height = 25 })
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
-- RC.launcher,
s.mytaglist,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
wibox.widget.systray(),
volume_widget{
widget_type = 'arc',
tooltip = 'true'
},
text_clock,
s.mylayoutbox
},
}
end)