É possível fazer um loop no conky

1

Existe uma maneira de fazer loop em conky ? Por exemplo, eu tenho meu script .conky que exibe o carregamento da cpu, no entanto, ele precisa ser reconfigurado quando eu for para outra máquina. Um roteiro trivial como

sudo grep "processor" /proc/cpuinfo | wc -l

fornece informações sobre a contagem do núcleo e talvez usado em um loop como

${cpu cpu{1}}
    
por sitilge 01.10.2016 / 14:21

1 resposta

2

Eu não sou um especialista em conky / lua, então pode haver uma maneira melhor, mas isso funciona. Você precisa criar um script de lua, digamos, no arquivo ~/mylua.lua contendo

local file = io.popen("grep -c processor /proc/cpuinfo")
local numcpus = file:read("*n")
file:close()
listcpus = ""
for i = 1,numcpus
do  listcpus = listcpus.."${cpu cpu"..tostring(i).."} "
end

function conky_mycpus()
 return listcpus
end

e, em seguida, no seu ~/.conkyrc , você pode adicionar no início a linha

lua_load ~/mylua.lua

e no local onde você deseja ter os valores de cpu, a linha

${lua_parse conky_mycpus}

Quando o conky iniciar, o script lua será executado e a variável listcpus acabará sendo uma string apropriada, como "${cpu cpu1} ${cpu cpu2}" , dependendo do número de processadores encontrados pelo grep.

    
por 01.10.2016 / 16:06