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)