Debianを入れたASUS PN50はRyzen 4700Uで、CPUコアが8個ある。
Awesome Window Managerを使っているのだけど、それぞれのコアの稼働状況がカラフルに見られると楽しいのでスクリプトを書いてみた。
負荷が高くなるほど赤くなるようにした。
負荷をかけるとピコピコ表示が変わるので良い感じ。
ソースはこちら。
Lua言語は初めて使ったので、rc.lua内で使われていたfunction, if, return くらいしか知らないのですごく冗長。
vicious = require('vicious')
-- cpu widget
cpuwidget = wibox.widget.textbox()
function load_color(rate)
local color
if rate >= 80 then
colro = "#FF0000"
elseif rate >= 70 then
color = "#FF4000"
elseif rate >= 60 then
color = "#FF8000"
elseif rate >= 50 then
color = "#FFBF00"
elseif rate >= 40 then
color = "#FFFF00"
elseif rate >= 30 then
color = "#BFFF00"
elseif rate >= 20 then
color = "#80FF00"
elseif rate >= 10 then
color = "#40FF00"
else
color = "#0000FF"
end
return color
end
function load_html(rate)
local color = load_color(rate)
return string.format('<span bgcolor="%s">%d</span>', color, rate)
end
vicious.register(cpuwidget, vicious.widgets.cpu,
function(widget, args)
local all = args[1]
local cpu1 = args[2]
local cpu2 = args[3]
local cpu3 = args[4]
local cpu4 = args[5]
local cpu5 = args[6]
local cpu6 = args[7]
local cpu7 = args[8]
local cpu8 = args[9]
return string.format('<span color="#cccccc"> | </span>CPU <span color="#cccccc">%s (%s %s %s %s %s %s %s %s)</span><span color="#cccccc"> | </span>',
load_html(all),
load_html(cpu1), load_html(cpu2), load_html(cpu3), load_html(cpu4),
load_html(cpu5), load_html(cpu6), load_html(cpu7), load_html(cpu8))
end)