获取wicked
git clone git://git.glacicle.com/awesome/wicked.git
sudo cp wicked/wicked.lua /usr/share/awesome/lib/
sudo cp wicked/wicked.7.gz /usr/share/man/man7/
在rc.lua中使用wicked
把wicked库装好以后就可以在rc.lua中使用它了,方法如下:
要使用wicked库首先你得在你的rc.lua文件开始处添加对它的引用
require("wicked")
然后再把你想要的wicked的widget的代码加进去,例如显示内存的代码如下(其他更多的widget代码在最后列出):
memwidget = widget({
type = 'textbox',
name = 'memwidget'
})
wicked.register(memwidget, wicked.widgets.mem,
' <span color="white">Memory:</span> $1 ($2Mb/$3Mb)')
最后把你要的widget加入到一个已有的wibox或者新创建的wibox中去。比如说我创建了一个在屏幕下沿的状态栏:
-- 设置状态栏的位置、颜色
mystatebar = wibox( {position = "bottom", fg = beautiful.fg_normal, bg = beautiful.bg_normal} )
-- 把你创建过的widget添加进去,比如说上面所说的memwidget
mystatebar.widgets = {
cpugraphwidget,
memwidget,
fswidget,
netwidget
}
-- 设置状态栏所在的显示器,对于单显示器的机器来说设置为1就可以了
mystatebar.screen = 1
各种可用的widget
wicked提供好几种widget可以使用,包括CPU占用率、内存使用率、文件系统空间、网络传输速率等。 基本上wicked的使用方法就是先调用widget()函数创建一个widget,然后设置好参数调用wicked.register(),最后再创建一个wibox把先前创建的widget放在里面就好了。有的widget不能用,会导致awesome当掉(估计应该是bug)。经过我实验可以用的有:内存占用率、文件系统使用率、网络流量、CPU占用率和CPU图像。
日期
在状态栏里面显示现在的时间
datewidget = widget({
type = 'textbox',
name = 'datewidget'
})
wicked.register(datewidget, wicked.widgets.date,
' <span color="white">Date:</span> %c')
MPD 正在播放
显示正在Music Playing Daemon中正在播放的歌曲
mpdwidget = widget({
type = 'textbox',
name = 'mpdwidget'
})
wicked.register(mpdwidget, wicked.widgets.mpd,
' <span color="white">Now Playing:</span> $1')
如果你想要它只是在播放歌曲的时候显示的话,可以把register函数的调用改为如下所示:
wicked.register(mpdwidget, wicked.widgets.mpd,
function (widget, args)
if args[1]:find("volume:") == nil then
return ' <span color="white">Now Playing:</span> '..args[1]
else
return ''
end
end)
内存监视器
在状态栏中显示已用/总共的内存量
memwidget = widget({
type = 'textbox',
name = 'memwidget'
})
wicked.register(memwidget, wicked.widgets.mem,
' <span color="white">Memory:</span> $1 ($2Mb/$3Mb)')
内存占用率进度条
用一个进度条显示内存的相对使用情况
membarwidget = widget({
type = 'progressbar',
name = 'membarwidget',
align = 'right'
})
membarwidget:properties_set('mem', {
width = 40,
height = 0.65,
gap = 0,
border_padding = 1,
border_width = 1,
ticks_count = 0,
ticks_gap = 0,
vertical = false
})
membarwidget:bar_properties_set('mem', {
bg = '#222222',
fg = '#285577',
fg_center = '#285577',
fg_end = '#285577',
fg_off = '#222222',
reverse = false,
min_value = 0,
max_value = 100
})
wicked.register(membarwidget, wicked.widgets.mem, '$1', 1, 'mem')
CPU占用率
显示CPU占用率的百分比
cpuwidget = widget({
type = 'textbox',
name = 'cpuwidget'
})
wicked.register(cpuwidget, wicked.widgets.cpu,
' <span color="white">CPU:</span> $1%')
CPU占用率图像
用一个图像来显示CPU占用率的变化
cpugraphwidget = widget({
type = 'graph',
name = 'cpugraphwidget',
align = 'right'
})
cpugraphwidget.height = 0.85
cpugraphwidget.width = 45
cpugraphwidget.bg = '#333333'
cpugraphwidget.border_color = '#0a0a0a'
cpugraphwidget.grow = 'left'
cpugraphwidget:plot_properties_set('cpu', {
fg = '#AEC6D8',
fg_center = '#285577',
fg_end = '#285577',
vertical_gradient = false
})
wicked.register(cpugraphwidget, wicked.widgets.cpu, '$1', 1, 'cpu')
文件系统
显示已用/总共的文件空间,以及百分比
fswidget = widget({
type = 'textbox',
name = 'fswidget'
})
wicked.register(fswidget, wicked.widgets.fs,
' <span color="white">FS:</span> ${/ used}/${/ size} (${/ usep} used)', 120)
网络监视器
显示eth0的网络流量
netwidget = widget({
type = 'textbox',
name = 'netwidget'
})
wicked.register(netwidget, wicked.widgets.net,
' <span color="white">NET</span>: ${eth0 down} / ${eth0 up} [ ${eth0 rx} // ${eth0 tx} ]',
nil, nil, 3)
电池电量
显示电池的电量
settings.batteries = 2
-- Label
batterywidget = widget({type = 'textbox',
name = 'batterywidget',
align = 'right'})
wicked.register(batterywidget, function() return {} end,
settings.widget_separator ..
beautiful.markup.heading('Bat') ..
settings.widget_spacer,
nil, nil, 500)
table.insert(settings.widgets, {1, batterywidget})
-- Function to extract charge percentage
function read_battery_life(number)
return function(format)
local fh = io.popen('acpi')
output = fh:read("*a")
fh:close()
count = 0
for s in string.gmatch(output, "(%d+)%%") do
if number == count then
return {s}
end
count = count + 1
end
end
end
-- Display one vertical progressbar per battery
for battery=0, settings.batteries-1 do
batterygraphwidget = widget({ type = 'progressbar',
name = 'batterygraphwidget',
align = 'right' })
batterygraphwidget.height = 0.85
batterygraphwidget.width = 8
batterygraphwidget.bg = '#333333'
batterygraphwidget.border_color = '#0a0a0a'
batterygraphwidget.vertical = true
batterygraphwidget:bar_properties_set('battery',
{ fg = '#AEC6D8',
fg_center = '#285577',
fg_end = '#285577',
fg_off = '#222222',
vertical_gradient = true,
horizontal_gradient = false,
ticks_count = 0,
ticks_gap = 0 })
wicked.register(batterygraphwidget, read_battery_life(battery), '$1', 1, 'battery')
table.insert(settings.widgets, {1, batterygraphwidget})
spacewidget = widget({type = 'textbox',
name = 'spacewidget',
align = 'right'})
wicked.register(spacewidget, function() return {} end,
settings.widget_spacer,
nil, nil, 500)
table.insert(settings.widgets, {1, spacewidget})
end
近期评论