2012-07-06 14:19:54 +02:00
|
|
|
-- Widgets
|
|
|
|
|
|
|
|
require("vicious")
|
|
|
|
|
|
|
|
-- Separator
|
|
|
|
local separator = widget({ type = "textbox" })
|
|
|
|
separator.text = ' <span color="' .. beautiful.fg_widget_sep .. '">|</span> '
|
|
|
|
|
|
|
|
-- Date
|
|
|
|
local datewidget = widget({ type = "textbox" })
|
|
|
|
vicious.register(datewidget, vicious.widgets.date,
|
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_clock .. '">%a %d/%m, %H:%M</span>', 61)
|
|
|
|
|
|
|
|
-- CPU usage
|
|
|
|
local cpuwidget = widget({ type = "textbox" })
|
2012-07-07 09:18:09 +02:00
|
|
|
vicious.register(cpuwidget, vicious.widgets.cpu,
|
2012-07-06 14:19:54 +02:00
|
|
|
function (widget, args)
|
2012-07-07 09:18:09 +02:00
|
|
|
return string.format('<span font="Terminus 8" color="' .. beautiful.fg_widget_label .. '">CPU: </span>' ..
|
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_value .. '">%3d%%</span>',
|
|
|
|
args[1])
|
|
|
|
end, 2)
|
2012-07-06 14:19:54 +02:00
|
|
|
|
|
|
|
-- Battery
|
2012-07-07 10:25:30 +02:00
|
|
|
local batwidget = ""
|
2012-07-06 14:19:54 +02:00
|
|
|
if config.hostname == "guybrush" then
|
|
|
|
batwidget = widget({ type = "textbox" })
|
|
|
|
vicious.register(batwidget, vicious.widgets.bat,
|
2012-07-07 15:17:00 +02:00
|
|
|
function (widget, args)
|
|
|
|
local color = beautiful.fg_widget_value
|
|
|
|
local current = args[2]
|
|
|
|
if current < 10 then
|
|
|
|
color = beautiful.fg_widget_value_important
|
|
|
|
end
|
|
|
|
return string.format(
|
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_label ..
|
|
|
|
'">BAT: </span>' ..
|
|
|
|
'<span font="Terminus 8" color="' .. color ..
|
|
|
|
'">%s %d%%</span>', args[1], current)
|
|
|
|
end,
|
2012-07-07 12:07:45 +02:00
|
|
|
61, "BAT1")
|
2012-07-06 14:19:54 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
-- Memory usage
|
|
|
|
local memwidget = widget({ type = "textbox" })
|
|
|
|
vicious.register(memwidget, vicious.widgets.mem,
|
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_label .. '">Mem: </span>' ..
|
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_value .. '">$1%</span>',
|
|
|
|
13)
|
|
|
|
|
|
|
|
-- Volume level
|
|
|
|
local volwidget = widget({ type = "textbox" })
|
|
|
|
vicious.register(volwidget, vicious.widgets.volume,
|
2012-07-07 09:19:55 +02:00
|
|
|
'<span font="Terminus 8" color="' .. beautiful.fg_widget_value .. '">$2 $1%</span>',
|
2012-07-06 14:19:54 +02:00
|
|
|
2, "Master")
|
|
|
|
volwidget:buttons(awful.util.table.join(
|
|
|
|
awful.button({ }, 1, function () awful.util.spawn("pavucontrol", false) end),
|
|
|
|
awful.button({ }, 4, function () awful.util.spawn("amixer -q -c 0 set Master 2dB+", false) end),
|
|
|
|
awful.button({ }, 5, function () awful.util.spawn("amixer -q -c 0 set Master 2dB-", false) end)
|
|
|
|
))
|
|
|
|
|
2012-07-07 10:23:53 +02:00
|
|
|
-- File systems
|
|
|
|
local fs = { ["/"] = "root",
|
|
|
|
["/home"] = "home",
|
|
|
|
["/var"] = "var",
|
|
|
|
["/usr"] = "usr",
|
|
|
|
["/tmp"] = "tmp",
|
|
|
|
["/var/cache/build"] = "pbuilder" }
|
|
|
|
local fswidget = widget({ type = "textbox" })
|
|
|
|
vicious.register(fswidget, vicious.widgets.fs,
|
|
|
|
function (widget, args)
|
|
|
|
local result = ""
|
|
|
|
for path, name in pairs(fs) do
|
|
|
|
local used = args["{" .. path .. " used_p}"]
|
|
|
|
local color = beautiful.fg_widget_value
|
|
|
|
if used then
|
|
|
|
if used > 90 then
|
|
|
|
color = beautiful.fg_widget_value_important
|
|
|
|
end
|
|
|
|
result = string.format(
|
|
|
|
'%s%s<span font="Terminus 8" color="' .. beautiful.fg_widget_label .. '">%s: </span>' ..
|
|
|
|
'<span font="Terminus 8" color="' .. color .. '">%2d%%</span>',
|
|
|
|
result, #result > 0 and separator.text or "", name, used)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return result
|
|
|
|
end, 10)
|
|
|
|
|
2012-07-06 14:19:54 +02:00
|
|
|
local systray = widget({ type = "systray" })
|
|
|
|
|
2012-07-07 09:18:09 +02:00
|
|
|
-- Wibox initialisation
|
2012-07-06 14:19:54 +02:00
|
|
|
local wibox = {}
|
|
|
|
local promptbox = {}
|
|
|
|
local layoutbox = {}
|
|
|
|
|
|
|
|
local taglist = {}
|
|
|
|
taglist.buttons = awful.util.table.join(
|
|
|
|
awful.button({ }, 1,
|
|
|
|
function(t)
|
|
|
|
if t.screen ~= mouse.screen then
|
|
|
|
sharetags.tag_move(t, mouse.screen)
|
|
|
|
end
|
|
|
|
awful.tag.viewonly(t)
|
|
|
|
end),
|
|
|
|
awful.button({ modkey }, 1, awful.client.movetotag),
|
|
|
|
awful.button({ }, 3,
|
|
|
|
function(t)
|
|
|
|
if t.screen ~= mouse.screen then
|
|
|
|
sharetags.tag_move(t, mouse.screen)
|
|
|
|
end
|
|
|
|
awful.tag.viewtoggle(t)
|
|
|
|
end),
|
|
|
|
awful.button({ modkey }, 3, awful.client.toggletag),
|
|
|
|
awful.button({ }, 4, awful.tag.viewnext),
|
|
|
|
awful.button({ }, 5, awful.tag.viewprev))
|
|
|
|
|
|
|
|
local tasklist = {}
|
|
|
|
tasklist.buttons = awful.util.table.join(
|
|
|
|
awful.button({ }, 1, function (c)
|
|
|
|
if c == client.focus then
|
|
|
|
c.minimized = true
|
|
|
|
else
|
|
|
|
if not c:isvisible() then
|
|
|
|
awful.tag.viewonly(c:tags()[1])
|
|
|
|
end
|
|
|
|
-- This will also un-minimize
|
|
|
|
-- the client, if needed
|
|
|
|
client.focus = c
|
|
|
|
c:raise()
|
|
|
|
end
|
|
|
|
end))
|
|
|
|
|
|
|
|
for s = 1, screen.count() do
|
|
|
|
promptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
|
|
|
|
layoutbox[s] = awful.widget.layoutbox(s)
|
2012-07-07 11:13:47 +02:00
|
|
|
if screen.count() > 1 then
|
|
|
|
tasklist[s] = awful.widget.tasklist(
|
|
|
|
function(c)
|
|
|
|
return awful.widget.tasklist.label.currenttags(c, s)
|
|
|
|
end, tasklist.buttons)
|
|
|
|
else
|
|
|
|
tasklist[s] = ""
|
|
|
|
end
|
2012-07-06 14:19:54 +02:00
|
|
|
|
|
|
|
-- Create the taglist
|
|
|
|
taglist[s] = sharetags.taglist(s, sharetags.label.all, taglist.buttons)
|
|
|
|
-- Create the wibox
|
|
|
|
wibox[s] = awful.wibox({ screen = s,
|
|
|
|
fg = beautiful.fg_normal,
|
|
|
|
bg = beautiful.bg_widget,
|
|
|
|
position = "top",
|
|
|
|
height = 14,
|
|
|
|
})
|
|
|
|
-- Add widgets to the wibox
|
2012-07-07 11:13:47 +02:00
|
|
|
local on = function(n, what)
|
|
|
|
if s == n or n > screen.count() then return what end
|
2012-07-07 10:21:40 +02:00
|
|
|
return ""
|
2012-07-06 14:19:54 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
wibox[s].widgets = {
|
|
|
|
{
|
|
|
|
taglist[s], layoutbox[s],
|
|
|
|
separator, promptbox[s],
|
|
|
|
layout = awful.widget.layout.horizontal.leftright
|
|
|
|
},
|
2012-07-07 11:13:47 +02:00
|
|
|
on(1, systray), on(1, separator),
|
2012-07-06 14:19:54 +02:00
|
|
|
datewidget, separator,
|
2012-07-07 11:13:47 +02:00
|
|
|
on(2, volwidget), on(2, separator),
|
|
|
|
on(2, batwidget), on(2, batwidget ~= "" and separator or ""),
|
|
|
|
on(2, fswidget), on(2, separator),
|
|
|
|
on(1, memwidget), on(1, separator),
|
|
|
|
on(1, cpuwidget), on(1, separator),
|
2012-07-07 12:08:10 +02:00
|
|
|
tasklist[s], tasklist[s] ~= "" and separator or "",
|
2012-07-06 14:19:54 +02:00
|
|
|
layout = awful.widget.layout.horizontal.rightleft }
|
|
|
|
end
|
|
|
|
|
|
|
|
config.keys.global = awful.util.table.join(
|
|
|
|
config.keys.global,
|
|
|
|
awful.key({ modkey }, "r", function () promptbox[mouse.screen]:run() end))
|