Newsgroup: it.comp.os.linux.iniziare
Titolo: Conky color top CPU usage

Qualcuno che ha dimestichezza con Conky mi saprebbe dire se c'è un modo
semplice per colorare la top CPU usage quando supera un certo valore?
 
${top cpu 1}
 
Sarebbe molto più comodo che andare di lua e conky_parse. "top" non mi
pare abbia questa opzione. Se poi qualcuno avesse il codice già scritto
in lua...
 
 
-- 
Sandro kensan 
www.kensan.it
 & 
www.qiqi.it
 geek site
Saluto gli agenti della NSA - Hello NSA - 
www.nsa.gov
 

 in lua...
 
Se ci fosse un metodo più semplice sarebbe il benvenuto. Intanto mi sono
arrangiato con questo lua:
 
function conky_bell_cpu_usage(percent_limit)
    --percent_limit e' il limite oltre al quale suona una campanella
    percent_limit = tonumber(percent_limit)
    first_proc = tonumber(conky_parse("${top cpu 1}"))
    int_first_proc = string.match(first_proc, '(%d+%.%d+)')
    string = ""
    if first_proc >= percent_limit then
	os.execute("/bin/play -q /usr/share/sounds/Oxygen-Im-Nudge.ogg &>
/dev/null &")
      	string = conky_parse("${top name 1}") .. first_proc .. "%"
    end
    return string
end
 
e con questo in conkyrc:
 
${color darkgrey}${if_match "${lua bell_cpu_usage 40,0}" != ""}${color
red}${endif} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}


 
prova questo
 
CPU ${if_match ${top cpu 1} > 40} ${color red} ${else} ${endif} ${top
cpu 1}% ${color}
 
 
-- 
 
 


Non ci avevo pensato, grazie! Pensavo fosse fatto ma aggiungendo la
semplice:
 
${exec "/bin/play -q /usr/share/sounds/Oxygen-Im-Nudge.ogg &> /dev/null"}
 
ho problemi:
 
CPU ${if_match ${top cpu 1} > 40} ${color red}${exec "/bin/play -q
/usr/share/sounds/Oxygen-Im-Nudge.ogg &> /dev/null &"}
 ${else} ${endif} ${top cpu 1}% ${color}
 
 
-- 


  ${else} ${endif} ${top cpu 1}% ${color}
 
Mi suona sempre la campanella, come se l'if non ci fosse: è normale?


 Mi suona sempre la campanella, come se l'if non ci fosse: è normale?
 
non saprei, ma proverei con le seguenti operazioni (una per volta) e
vedere quel che succede:
 
-invertire l'ordine dei comandi $color ed $exec
-andare a capo ad una nuova riga dopo $color
-creare due righe simili $if_mmatch una per il comando $color e una per
$exec
 
-- 
 
 
 

 $exec
 
Ho provato a mettere:
${if_match 0>1}
${exec "/bin/play -q /usr/share/sounds/Oxygen-Im-Nudge.ogg &> /dev/null &"}
${else}
${endif}
 
suona sempre.
Ovviamente:
${if_match 0<1}
fdggggggggggggggggggggggggg
${else}
${endif}
e con 0>1 funziona correttamente.
 
Però con:
 
${if_match 0<1}
${exec "/usr/bin/echo ciao"}
${else}
${endif}
 
funziona correttamente (0<1 o 1>0 da risultati corretti).
 
Ovviamente non mi è chiaro! :(


 scrisse:

questo dovrebbe funzionare
 
${if_match ${top cpu 1} > 40} ${eval $${color red} ${exec "/bin/play
-q /usr/share/sounds/Oxygen-Im-Nudge.ogg &> /dev/null"}} ${else}
${endif} ${top cpu 1}% ${color}
 
 
-- 
 
 

 ${endif} ${top cpu 1}% ${color}
 
Esatto, come hai fatto??
Però per un rosso mi mette 4 bell, per 2 rossi mi mette 5 bell. il
trucco è l' ${eval ma non mi pare tanto corretto metterlo.
 
Il tuo è un workaround di un bug?
 
Mi piacerebbe mettere un rosso se supera il 1-4% e mettere una
campanella se supera il 40%.
 
${color darkgrey}${if_match ${top cpu 1} > 1} ${color red}
${endif}${if_match ${top cpu 1} > 40} ${eval ${exec "/bin/play -q
/usr/share/sounds/Oxygen-Im-Nudge.ogg &> /dev/null"}} ${endif} ${top
name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
 
Comunque i 4 play al posto di 1 può anche essere una feature :)
Si può migliorare?


 Si può migliorare?
 
probabilmente si, dovrei studiarci sopra 
 
--