我在rc.lua
中使用-- Initialize widget Ethernet
ethwidget = wibox.widget.textbox()
-- Register widget
vicious.register(ethwidget, vicious.widgets.net, 'Eth0: <span color="#CC9933">down: ${eth0 down_kb} kB/s</span> <span color="#7F9F7F"> up: ${eth0 up_kb} kB/s</span><span color="#cccccc"> [ ${eth0 rx_gb} GB // ${eth0 tx_gb} GB ] | </span>', 2)
创建了以下小部件:
${eth0 down_kb}
问题是我有一个最近的macbook pro,如果我没有插入ethernet adapter,那么我只看到例如DSACryptoServiceProvider
印在我的wibox上。如何添加条件以便仅在插入以太网适配器时才插入窗口小部件?
答案 0 :(得分:0)
我找到了一个工作正常的解决方案。我找到了这个链接http://awesome.naquadah.narkive.com/wpn4XSWl/netwidget-with-two-interfaces,我的代码现在如下:
eths = { 'eth0', 'wlp3s0' }
netwidget = wibox.widget.textbox()
vicious.register( netwidget, vicious.widgets.net,
function(widget,args)
t=''
for i = 1, #eths do
e = eths[i]
if args["{"..e.." carrier}"] == 1 then
if e == 'wlp3s0' then
t=t..'|'..'Wifi: <span color="#CC9933"> down: '..args['{'..e..' down_kb}']..' kbps</span> <span color="#7F9F7F">up: ' ..args['{'..e..' up_kb}']..' kbps </span>'..'[ '..args['{'..e..' rx_gb}'].. ' GB // ' ..args['{'..e..' tx_gb}']..' GB ] '
else
t=t..'|'..'Eth0: <span color="#CC9933"> down: '..args['{'..e..' down_kb}']..' kbps</span> <span color="#7F9F7F">up: ' ..args['{'..e..' up_kb}']..' kbps </span>'..'[ '..args['{'..e..' rx_gb}'].. ' GB // ' ..args['{'..e..' tx_gb}']..' GB ] '
end
end
end
if string.len(t)>0 then -- remove leading '|'
return string.sub(t,2,-1)
end
return 'No network'
end
, 1 )
你按照以下方式添加你的小部件(我正在使用v3.5.9(Mighty Ravendark)):
bottom_layout:add(netwidget)