Phyllinux a écrit...
Je vous en livre déjà un :
Sous Oneiric, dans mon bureau 'de l'espace', j'avais plusieurs conkys lancés, dont un qui m'affichait l'image satellite.
Le conky est le suivant :
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# fiddle with window
use_spacer right
use_xft yes
# Update interval in seconds
update_interval 3
# Minimum size of text area
minimum_size 310 200
maximum_width 310
override_utf8_locale yes
# Draw shades?
draw_shades no
# Text stuff
draw_outline no # amplifies text if yes
draw_borders no
draw_graph_borders yes
#font freesans -12
xftfont Arial:size=9
uppercase no # set to yes if you want all text to be in uppercase
# Stippled borders?
stippled_borders 3
# border margin
border_inner_margin 0
border_outer_margin 0
# border width
border_width 10
# Default colors and also border colors, grey90 == #e5e5e5
default_color cbcbcb
own_window_colour brown
own_window_transparent yes
# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right
# Gap between borders of screen and text
gap_x 20
gap_y 30
#Rafraichissement images
imlib_cache_size 0
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 e49c16
color2 CA0000 #rouge
color4 E7E1D6 #
color6 EEEEEE
color7 DDDDDD
color8 CCCCCC
color9 48D1CC
# -- Declaration template -- #
template0 ${image ~/conky/Navette/images/\1 -p \2 -s \3} # -- images fond -- #
template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --#
template2 ${lua_parse Meteo_\1 \2 \3 \4 60 \5} # -- icones météo -- \2=repertoir icones \3=position \4=taille \5=jour (pour les prévisions) #
template3 ${lua Lune_\1}
lua_load ~/conky/Navette/script/meteo.lua
lua_startup_hook init ~/conky/Navette/script/meteo.cfg
# stuff after 'TEXT' will be formatted on screen
TEXT
#### Lancement du script récupérant les données météo ####
${template1 Maj}
#Affichage pseudo écran#
${template0 Ecran.png 123,53 193x140}
## Affichage en RGB ou en IR en fonction de l'heure (pour affichage IR de nuit) ##
${if_match ${exec echo $(expr $(sed -n "42p" ~/meteotemp/prevision1)*60+$(sed -n "43p" ~/meteotemp/prevision1)|bc -l)}>${exec echo $(($(($(date +%H)*60))+$(date +%M)))}}${if_match ${exec echo $(($(($(date +%H)*60))+$(date +%M)))}>${exec echo $(expr $(sed -e "40s/0//" ~/meteotemp/prevision1|sed -n '40p')*60+$(sed -n "41p" ~/meteotemp/prevision1)|bc -l)}}${execpi 1200 perl ~/conky/meteo/scripts/imagesat.pl -s 1274x657+300+110 -i http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGB-naturalcolor-westernEurope.jpg}${image ~/image.jpg -p 129,60 -s 180x120}${else}${execpi 1200 perl ~/conky/meteo/scripts/imagesat.pl -s 1274x657+200+10 -i http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_IR108EColor-westernEurope.jpg}${image ~/image.jpg -p 129,60 -s 180x120}${endif}${else}${execpi 1200 perl ~/conky/meteo/scripts/imagesat.pl -s 1274x657+200+10 -i http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_IR108EColor-westernEurope.jpg}${image ~/image.jpg -p 129,60 -s 180x120}${endif}
Le script imagesat.pl est le suivant :
#!/usr/bin/perl -w
use strict;
use warnings;
use constant VERSION => 0.03;
if(scalar @ARGV != 4) {
&help;
}
my $image_web;
my $dimensions;
# Détermination des arguments
for(my $i = 0; $i < scalar @ARGV; $i +=2) {
if($ARGV[$i] eq "-s") {
$dimensions = $ARGV[$i + 1];
}
elsif($ARGV[$i] eq "-i") {
$image_web = $ARGV[$i + 1];
}
else {
print STDERR "Argument $ARGV[$i] inconnu\n";
&help;
}
}
# Détermination du nom de l'image
my @decoupage = split "/", $image_web;
my $image_sat = $decoupage[$#decoupage];
# On regarde si le fichier existe déjà
if(-e $image_sat) {
# Récupération des informations de l'image
my @infos_ancienne_image = (stat($image_sat))[7..10];
# Téléchargement de l'image si besoin
&telecharger($image_web, "-m -nd");
# Récupération des informations de l'image
my @infos_nouvelle_image = (stat($image_sat))[7..10];
# Comparaison des informations pour déterminer si on a téléchargé une image
my $comparaison = 0;
for(my $i = 0; $i < scalar @infos_ancienne_image; $i++) {
if($infos_ancienne_image[$i] != $infos_nouvelle_image[$i]) {
$comparaison++;
last;
}
}
# Si l'image est nouvelle, il faut refaire un découpage
if($comparaison) {
&nouvelle_image($image_sat, $dimensions);
}
}
else {
&telecharger($image_web, "");
&nouvelle_image($image_sat, $dimensions);
}
#######################
# Début des fonctions #
#######################
sub help {
print "Utilisation : $0 [arguments]\n"
. "arguments :\n"
. " -i : Permet d'indiquer l'emplacement où se trouve l'image\n"
. " -s : Permet d'indiquer le découpage de l'image\n";
exit(0);
}
sub nouvelle_image {
my ($image, $decoupage) = @_;
# Sauvegarde de l'image actuelle
system("cp $image imagesattmp.jpg");
# Découpage de l'image
system("convert imagesattmp.jpg -crop $decoupage image.jpg");
# Suppression de l'image temporaire
unlink "imagesattmp.jpg";
}
sub telecharger {
my ($emplacement, $options) = @_;
system("wget -q $options $emplacement");
}
__END__
=encoding utf8
=head1 Nom
Imagesat
=head1 SYNOPSIS
Il permet de télécharger et réduire une image
=head1 DESCRIPTION
Ce script Perl permet de télécharger une image, de la redimensionner pour ensuite l'afficher dans conky. Le script prend B<obligatoirement> deux paramètres à savoir l'emplacement de l'image à
télécharger ainsi que les dimensions de la future image.
Les différentes images (en fonction de vos envies) où vous pouvez trouver votre bonheur se trouvent ici :
L<http://oiswww.eumetsat.org/IPPS/html/latestImages.html>
=head1 AUTEUR
Chipster Julien
=head1 Programmes externes
Pour fonctionner, ce script a besoin de deux logiciels :
=over 4
=item wget
=item imagemagick
=back
=head1 UTILISATION
Ce script s'utilise comme ceci :
C<${exec perl Imagesat} [arguments]>
Si vous avez fait un chmod +x Imagesat :
C<${exec ./Imagesat} [arguments]>
[arguments] doit être défini comme ceci :
=over 4
=item -i http://......../mon_image.jpg
=item -s 200x200+0+0
=back
=head2 Exemple
C<${exec perl Imagesat -s 1274x657+0+110 -i http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGB-naturalcolor-westernEurope.jpg}>
Allez, je suis sympa, voici comment ça s'utilise dans conky après la balise TEXT
${exec perl /home/user/.conky/Imagesat -s 1274x657+0+110 -i http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGB-naturalcolor-westernEurope.jpg}${image /home/user/.conky/image.jpg -p -5,-5 -s 400x220}
=head1 BOGUES
Aucun connu actuellement
=head1 Évolutions
=head1 Changelog
=item1 Rajout de l'option -q à wget. Il était trop bavard :D Ceci avait tendance à faire boguer gnome
=over 4
=item 30/08/2009
Création du script
=item Big Bang
Création de l'univers connu :D
=back
Tout fonctionnait bien rafraîchissement de l'image régulier, passage en image IR de nuit, et bascule en image RGB de jour.
Seulement, maintenant, suite à la mise à niveau en 12.04, plus d'affichage d'image, et voici le message d'erreur que je reçois à la place :
gilles@UbuntuDesktop:~$ conky -c ~/conky/Navette/conkyrcimages_navette
Conky: desktop window (1600092) is subwindow of root window (b8)
Conky: window type - override
Conky: drawing to created window (0x4e00001)
Conky: drawing to double buffer
version = v4
web = http://www.accuweather.com/fr/fr/marseille/170960/current-weather/170960
Pévision Nb jours = 7
Pévision Matin = oui
Pévision Après Midi = oui
Pévision Soirée = oui
Pévision Nuit = oui
Délais = 300
Chemin de travail = /tmp
Palier = 16
Chemin de sauvegarde = /home/gilles/meteotemp/
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Conky: converting '' to long failed
Erreur de segmentation (core dumped)
gilles@UbuntuDesktop:~$
Une idée ?
J'en ai encore d'autres, sur d'autres conkys, dont certains avec le 'moteur' de meteo_lua.
Je garde cela pour la semaine prochaine. Je répare touche par touche...😃