Colorize.sh (fr)

From Conky PitStop

Jump to: navigation, search

colorize.sh (coloriser)

 Langue   English   Français   


Cette idée de script m'est venue après avoir entendu parler de la fonction "execpi" de conky... les possibilités étaient infinies !

Ce petit script, simple en apparence, prend les résultats de n'importe quel programme qui retourne un chiffre, ou qui peut être interprété comme un chiffre, et place un ${color} avant le résultat. Un exemple d'utilisation : une température peut être affichée en rouge vif quand elle est trop chaude, et être affichée en bleu clair quand tout va bien.

Dans la section avant-TEXT de votre conky, définissez 3 couleurs comme ceci :

#    couleurs utilisées par le script colorize.sh
color7 lightblue
color8 yellow
color9 red

C'est assez simple à utiliser et même à modifier pour la batterie, le disque dur, le CPU, la GPU où n'importe quelle application à laquelle vous pouvez penser. Si vous avez différents besoins, le plus facile est de créer des copies de colorize.sh pour le CPU, les mails non lus, etc... Je vous suggère d'utiliser des noms faciles à retenir pour les scripts (comme CPUTempColorize.sh et CPUUsageColorize.sh) pour vous rappeler ce que fait tel ou tel script.

Exemple d'utilisation : vous pouvez utiliser cette commande et modifier la partie 'cut' pour ne retourner qu'un chiffre.

${execpi 6 sensors | grep 'Core 0' | paste -s | cut -c15-18 | xargs ~/.conky/conkyparts/colorize.sh} ... $color

...ou vous pouvez utiliser cette ligne pour lire la température (elle supprimera tout ce qu'il y a après le symbole °) mais vous avez toujours besoin de savoir où commence le chiffre.

${execpi 6 sensors | grep 'Core 0' | paste -s |sed 's/°/\n/'| head -n1 | cut -c15- | xargs ~/.conky/conkyparts/colorize.sh} ... $color

Le script colorize.sh

#!/bin/bash
# colorize.sh
# by Crinos512
# Usage:
#  ${execpi 6 sensors | grep 'Core 0' | paste -s | cut -c15-18 | xargs ~/.conky/conkyparts/colorize.sh} ... $color
# or
#  ${execpi 6 sensors | grep 'Core 0' | paste -s |sed 's/°/\n/'| head -n1 | cut -c15- | xargs ~/.conky/conkyparts/colorize.sh} ... $color
#
# Note: Assign color7, color8, and color9 to COOL, WARM, and HOT respectively
#   your .conkyrc

COOL=40
WARM=55

if [[ $1 -lt $COOL ]]
   then echo "\${color7}"$1    # COOL
elif [[ $1 -gt $WARM ]]
   then echo "\${color9}"$1    # HOT
else echo "\${color8}"$1       # WARM
fi

exit 0

Je voudrais également remercier Cammy pour l'amélioration de ce script, j'ai moi aussi eu le problème que Cammy décrit ci-dessous.

Cammy:

Ok, ceci pourra interesser certains d'entre vous.
Maintenant que j'ai ajouté le script colorize.sh à mon conky, j'obtiens un fichier temporaire appelé "60".
J'ai remarqué que j'ai ce fichier si je lance le script "hdd colorize" comme un programme dans le terminal. J'obtiens aussi un message d'erreurs.
J'ai comparé le script hdd aux deux autres et ai finalement trouvé que l'un utilisait < et > à la place de -lt et -gt.
Quand j'ai remplacé les symboles < et > par -lt et -gt, le fichier "60" n'était plus créé et je ne recevais plus de messages d'erreurs.
Juste pour votre information, au cas où quelqu'un d'autre ait eu ce problème.


Bruce:

Une remarque pour finir, je tiens à remercier Crinos512 pour ce script, je l'ai utilisé depuis le jour où je l'ai trouvé et compris la façon de le mettre dans mon conky:
${font DejaVu Sans Mono:bold:size=9}${color3}CPU: ${color5}${execpi 8 sensors | grep 'CPU Temp' | cut --characters 15-16 | xargs ~/Conky/scripts/<span style="color: #800000;">ColorTempCPU.sh</span>}°${color}${goto 65}${color3}Core: ${execpi 8 sensors | grep 'Core0' | cut --characters 15-16 | xargs ~/Conky/scripts/<span style="color: #800000;">ColorTempCore.sh</span>}°${color}${goto 135}${color3}M/B: ${execpi 8 sensors | grep 'M/B Temp' | cut --characters 15-16 | xargs ~/Conky/scripts/<span style="color: #800000;">ColorTempMB.sh</span>}°${color}${goto 200}${color3}GPU: ${execpi 8 sh -c "DISPLAY=:0.0 nvidia-settings -q gpucoretemp | grep Attribute | cut --characters 41-42" | xargs ~/Conky/scripts/<span style="color: #800000;">ColorTempGPU.sh</span>}°${font}
Et comme Crinos512 le suggère : utilisez des scripts avec des noms différents pour montrer leurs usages, comme chaque composant dans nos ordinateurs ont leurs propres valeurs. La seule chose que vous avez besoin de changer (en plus du nom) est le nombre dans cette partie:
COOL=40
WARM=50
Ne changez pas les mots "COOL" et "WARM" pour d'autres mots, sinon le script ne fonctionnerait plus.
Ce script est probablement l'un des scripts les plus utilisés depuis sa création et nous devons tous un grand MERCI à Crinos51 pour ça.
Happy conkying!
Bruce


– Crinos512

Personal tools
Namespaces
Variants
Actions
Navigation
English
Français
Toolbox