script & entrée pour GeekTool

FjRond a dit:
Si personne ne répond, c'est que personne ne sait. Mais il suffit de trouver un site qui présente la cotation de la valeur en question en image et de mettre l'adresse dans GeekTool en réglant le rafraîichissement à la fréquence désiirée.

Voilà, je réédite, parce que je viens de faire l'essai de l'affichage du graphe de ma grenouille en DL, et le rafraîchissement de la courbe fonctionne parfaitement. Ma suggestion est donc tout à fait pertinente.

OK ca marche mais l'exercice est plus difficile que vous le dites
Il faut ouvrir une image dans une nouvelle fenetre (ctrl clic du cac 40 des echos)et copier l'adresse dans une nouvelle entree de type image
La difficulte c'est que ca marche pas avec Safari il faut utiliser IE
 
ldouard a dit:
OK ca marche mais l'exercice est plus difficile que vous le dites
.../...
La difficulte c'est que ca marche pas avec Safari il faut utiliser IE
Ça marche avec Safari. Par contre, il y a un graphe par jour, à chaque fois avec une adresse différentes. Il faudrait faire un script qui extrait chaque jour l'url du graphe.
 
Dans son article sur l'affichage d'un calendrier en fond d'écran, Jean-Louis Dubois dit que le code
Bloc de code:
expert Lang=fr_FR; date "+%A %d/%m/%y  %H:%M:%S"
permet d'avoir les lettres accentuées, y compris le mois d'août. Chez moi, ça ne fonctionnait pas pour août :
Bloc de code:
Mercredi 03 août 2005 ~ 22:30:16
J'ai donc mis cette ligne de code avec iconv :
Bloc de code:
export LANG=fr_FR; date "+%A %e %B %Y ~ %T " | iconv -f UTF-8 -t L1
Et là, tout est entré dans l'ordre.
D'autre part, ici « %T » est un équivalent de « %H:%M:%S » ; et « %e » permet d'avoir le quantième du mois sans le zéro : 1 Octobre, et non 01 Octobre.
 
hello le forum AVM
j'ai beau être abonné à A vos Mac, je ne passe pas assez souvent dans ce forum


j'ai beau taper la longue commande GeekTool pour le calendrier français je n'arrive pas à obtenir un résultat, je dois faire une erreur de lecture

y-a-t'il quelqu'un qui aurait obtenu le calendrier et qui pourait faire un copier coller du texte dans un message, pour éviter les erreurs que cela entraine. :love: :siffle:
 
Le_iPodeur a dit:
hello le forum AVM
j'ai beau être abonné à A vos Mac, je ne passe pas assez souvent dans ce forum


j'ai beau taper la longue commande GeekTool pour le calendrier français je n'arrive pas à obtenir un résultat, je dois faire une erreur de lecture

y-a-t'il quelqu'un qui aurait obtenu le calendrier et qui pourait faire un copier coller du texte dans un message, pour éviter les erreurs que cela entraine. :love: :siffle:
Voilà:
Bloc de code:
echo $(date "+%d/%m/%Y") |\
awk '{ split("Janvier/Fevrier/Mars/Avril/Mai/Juin/Juillet/Aout/\                               
Septembre/Octobre/Novembre/Decembre",arr,"/"); \                                               
split($0,arg,"/"); a=" " int(arg[1]) " " arr[int(arg[2])] " " arg[3]; \                        
print substr("     ",1,(21-length(a))/2) a; }' ; cal |\
awk '{ getline; print " Lu Ma Me Je Ve Sa Di"; getline; \                                      
if (substr($0,1,2) == "1") print "               1"; \                                         
do { prevline=$0; if (getline == 0) exit; print "" substr(prevline,4,17) \                     
" " substr($0,1,2) " "; } while (1) }' | awk -v cday=`date "+%d"` \
'{ fill=(int(cday)>9?"":" ");  a=$0; sub(" "fill int(cday)" ",\                                
" "fill int(cday)" ",a); print a }'
Attention, il ne doit y avoir aucun caractère ni espace après les « \ » de fin de ligne. Ce caractère demande seulement au shell d'échapper le saut de ligne qui suit.
Curiieusement, il ne fonctionne pas dans GeekTool, et si je fais un script calendrier.sh, il me donne invariablement le 22 septembre 2005.
En fait, il me semble qu'un script entièrement en awk eut été plus approprié, puisque awk est conçu entre autres choses pour l'horodatage de fichiers (fréquent dans les tâches d'administration système), avec une commande utilisant less fonctions systime() et strftime() plutôt que la commande echo :
Bloc de code:
% awk 'BEGIN {print strftime("Date : %x", systime()) }'    
Date : 22.10.2005
J'aimerais aussi savoir sous quelle version d'awk et de Mac OS X est l'auteur de l'article. En effet, il me semble que tout ne fonctionne pas bien dans la version de awk native de Tiger. J'ai déjà eu l'occasion de le constater plusieurs fois.
Par contre, après avoir installé awk avec fink (% fink install gawk), le script fonctionne.
 
ah merci :love:

bon je vais voir ce que ça donne
au pire je récupèrerais une version plus récente de awk avec fink
ça devrait marcher non ?
 
Le_iPodeur a dit:
ah merci :love:

bon je vais voir ce que ça donne
au pire je récupèrerais une version plus récente de awk avec fink
ça devrait marcher non ?
La version fink s'impose.
Voilà comment j'ai fait fonctionner le script dans GeekTool : j'ai écrit un script « calendrier.sh » de la teneur suivante :
Bloc de code:
% emacs calendrier.sh
On peut utiliser un autre éditeur de texte;
Bloc de code:
#!/bin/sh                                                                                      
echo $(date "+%e/%m/%Y") |\
/sw/bin/awk '{ split("Janvier/Fevrier/Mars/Avril/Mai/Juin/Juillet/Aout/\                       
Septembre/Octobre/Novembre/Decembre",arr,"/"); \                                               
split($0,arg,"/"); a=" " int(arg[1]) " " arr[int(arg[2])] " " arg[3]; \                        
print substr("     ",1,(21-length(a))/2) a; }' ; cal |\
awk '{ getline; print " Lu Ma Me Je Ve Sa Di"; getline; \                                      
if (substr($0,1,2) == "1") print "               1"; \                                         
do { prevline=$0; if (getline == 0) exit; print "" substr(prevline,4,17) \                     
" " substr($0,1,2) " "; } while (1) }' | awk -v cday=`date "+%e"` \
'{ fill=(int(cday)>9?"":" ");  a=$0; sub(" "fill int(cday)" ",\                                
" "fill int(cday)" ",a); print a }'
Je l'ai placé dans mon répertoire ~/bin après l'avoir rendu exécutable, comme ceci:
Bloc de code:
% chmod 755 calendrier.sh 
% mv calendrier.sh ~/bin/calendrier
Puis dans GeekTool, j'ai mis la commande suivante:
Bloc de code:
~/bin/calendrier
GeekTool a en effet un petit défaut : il ne reconnait que les commandes native de Mac OS X. Il faut donc lui donner explicitement le chemin d'accès des commandes d'autres répertoire (ici /sw/bin dans le script et ~/bin dans la ligne de commande). La raison en est qu'il ignore la variable $PATH utilisateur et toute autre que celle du système.
 
Un autre truc qui n'a rien à voir mais c'est juste pour donner des idées. Ce que je propose reste toujours très bas au niveau technique mais ca marche au moins ^^ :

Bloc de code:
ls dossier_PATH -lh | head -1 | awk '{ print "Dossier gravure : "int($2/7)" %"}'

idéal pour afficher des infos d'un fichier à graver et savoir le moment le plus propice à la gravure.

Je sais ca ne fait pas vraiment avancer la discussion mais enfin tant pis :)

@+
 
francois61 a dit:
Bonjour,
Existe t'il un moyen de faire afficher l'adresse publique du routeur avec GeekTool ?
Merci
Avec cette ligne :
Bloc de code:
ipconfig getoption en0 router

Je suis allé trop vite. C'est l'adresse externe que vous voulez.
 
Bonsoir,

En effet, je souhaite pouvoir afficher l'adresse publique que me donne le provider

(celle qui apparaît quand je vais sur votre page )


Merci
 
Ça doit être possible, puisqu'iStat Nano le fait. Mais là, je sèche. Tenez-nous au courant si vous trouvez.
 
francois61 a dit:
Bonjour,

Existe t'il un moyen de faire afficher l'adresse publique du routeur avec GeekTool ?


Merci
Bloc de code:
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"

Voili voilou ;)
 
francois61 a dit:
Avec du retard ,


Merci
Pas de quoi. Ça n'est pas de moi, mais de schlum, modérateur et Terminaltor en titre de MacBidouille.

Une remarque sur GeekTool. Je viens d'apprendre à mes dépends que si on utilise une commande qui se trouve dans /sw/bin et qu'utilise fink pour la mise à jour des paquets (genre sed, awk, etc.), mieux vaut désactiver GeekTool avant de lancer la mise à jour.
 
Déterrage de vieux Topic :rateau:
J'aurai une question à propos de GeekTool (sous Snow Leopard)...
J'aimerai connaître une commande (ou un script) qui me permette de connaître la température du CPU, ainsi que du DD... J'ai effectué énormément de recherches sur les scripts GeekTool, j'ai réussi à afficher diverses choses, mais les températures, rien trouvé :(

Une idée :heu: ?
 
j'ai trouvé ce script...

#!/bin/bash
#
# TP Probe IntelMac
#
# Check os

#Temperatur CPU Diode
TCD1=$(smc -k TC0D -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221; )
TCD2=$(smc -k TC0D -r | awk &#8216;{print substr($5,1,2)}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TCD1&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TCD2&#8243; | bc)
CPUDT=$(echo &#8220;scale=5;($tmp1*256 tmp2)/(4*64)&#8221;|bc)
echo &#8220;Temperatur CPU Diode = $CPUDT&#8221;

#Temperatur CPU Pin
TCP1=$(smc -k TC0P -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
TCP2=$(smc -k TC0P -r | awk &#8216;{print substr($5,1,2)}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TCP1&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TCP2&#8243; | bc)
CPUPT=$(echo &#8220;scale=5; ($tmp1*256 tmp2)/(4*64)&#8221;|bc)
echo &#8220;Temperatur CPU Pin = $CPUPT&#8221;

#Temperatur GPU Diode
TGD1=$(smc -k TG0D -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
TGD2=$(smc -k TG0D -r | awk &#8216;{print substr($5,1,2)}&#8217;| tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TGD1&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TGD2&#8243; | bc)
GPUDT=$(echo &#8220;scale=5; ($tmp1*256 tmp2)/(4*64)&#8221;|bc)
echo &#8220;Temperatur GPU Diode = $GPUDT&#8221;

#Temperatur GPU Heatsink
TGH1=$(smc -k TG0H -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
TGH2=$(smc -k TG0H -r | awk &#8216;{print substr($5,1,2)}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TGH1&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TGH2&#8243; | bc)
GPUHT=$(echo &#8220;scale=5; ($tmp1*256 tmp2)/(4*64)&#8221;|bc)
echo &#8220;Temperatur GPU HeatSink = $GPUHT&#8221;

#Temperatur Heatsink 1
TH11=$(smc -k Th0H -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
TH12=$(smc -k Th0H -r | awk &#8216;{print substr($5,1,2)}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TH11&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TH12&#8243; | bc)
HS1T=$(echo &#8220;scale=3; ($tmp1*256 tmp2)/(4*64)&#8221; | bc)
echo &#8220;Temperatur HeatSink 1 = $HS1T&#8221;

#Temperatur Heatsink 2
TH21=$(smc -k Th1H -r | awk &#8216;{print $4}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
TH22=$(smc -k Th1H -r | awk &#8216;{print substr($5,1,2)}&#8217; | tr &#8220;[:lower:]&#8221; &#8220;[:upper:]&#8221;)
tmp1=$(echo &#8220;ibase=16; $TH21&#8243; | bc)
tmp2=$(echo &#8220;ibase=16; $TH22&#8243; | bc)
HS2T=$(echo &#8220;scale=3; ($tmp1*256 tmp2)/(4*64)&#8221; | bc)
echo &#8220;Temperatur HeatSink 2 = $HS2T&#8221;


Mais je ne sais pas comment l'utiliser... enregistrer ces lignes en quel format, pour que GeekTool puisse lire ce script ? (ça n'a pas l'air d'être un format AppleScript apparemment)

Sur le Shell ces lignes n'affichent que les "echo"....
 
C'est un script à interpréter avec bash. Tu enregistres ce contenu dans un fichier, disons TPProbe.sh puis tu donnes à ce fichier les droits d'exécutions pour tous, soit par le Finder soit en mode texte avec la commande :
Bloc de code:
chmod a+x TPProbe.sh
.

Je viens de l'essayer et cela n'a pas marché car la commande smc n'est pas sur ma machine. Il sort d'où, ce script ?