awesome3.5ではwibox.widget.textbox
を用いたテキストでPangoのマークアップ記法が使えるようになった. つまりwidgetでのテキストを色付けにとどまらずそれなりに装飾できるようになったわけだ.
今回はCPUやメモリの使用率などをwidgetに置くことができるViciousを用いて紹介していく.
タグの使い方
Viciousの詳しい使い方は上記のリンク先に譲るとして, ここではCPU使用率を例にとる.
まず, widgetは
rc.lua
cpuwidget = wibox.widget.textbox()
vicious.register(cpuwidget, vicious.widgets.cpu, "CPU:$1%")
で作成できるが, この第3引数のstring部分にマークアップを使用できる.
例えば,
rc.lua
cpuwidget = wibox.widget.textbox()
vicious.register(cpuwidget, vicious.widgets.cpu, "CPU:<span color='#EE0000' style='italic'>$1</span>%")
で数字が赤色イタリックに.
このようにspan
タグで様々な装飾が可能になる.
使用可能な属性はPangoのドキュメントを参照.
ちなみにBoldや取り消し線などいくつかの属性は以下のような簡易タグが用意されている.
<b>Bold text</b>
<s>取り消し線</s>
さらにvicious.register
の第3引数ではstringを返す関数を入れることができるため, 夢が発散することだろう.
使用例
最後に参考程度に私のViciousのバッテリー残量のテキスト部分の設定でも載せておく.
残量やったり充電中かどうかでなんやかんや変わる.
rc.lua
battext = wibox.widget.textbox()
vicious.register(
battext, vicious.widgets.bat,
function(widget, args)
local status = args[1]
local percent = args[2]
local str =
"<span weight='bold' size='xx-large' color='%s'>" ..
"%s</span>%d "
if status == "+" then
status = "☺"
elseif status == "-" then
status = "⍨"
end
if percent > 75 then
return string.format(str, "#00CC00", status, percent)
elseif percent > 50 then
return string.format(str, "#66CC00", status, percent)
elseif percent > 25 then
return string.format(str, "#CCCC00", status, percent)
elseif percent > 10 then
return string.format(str, "#CC6600", status, percent)
else
return string.format(str, "#CC0000", status, percent)
end
end,
61, "BAT1")
end