#1026 Le 24/06/2012, à 22:16
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
Bon j'avoue...
J'ai downgrader avec mon script "launch.sh" pour lancer mes conky au démarrage--->je n'ai pas trouver l’erreur de mon bug "conky control"
Maintenant ça roule...
Hors ligne
#1027 Le 25/06/2012, à 04:55
- Didier-T
Re : [Conky] Alternative à weather.com (2)
@ enebre,
peut être n'a tu pas modifié les chemins dans le fichier blinkingLED (il doit être avec les scripts)
Hors ligne
#1028 Le 25/06/2012, à 07:27
- enebre
Re : [Conky] Alternative à weather.com (2)
Bonjour - Didier-T -
Je vois pas ce que je devrais modifier... J'ai fais le test en changeant la couleur et ça fonctionne correctement. Peut être avec la fonction BAT : qu'en pense tu, il n'y a pas de batterie dans le Revo, c'est un nettop.
${image ~/conky/script/images/Yellow.png -p 129, 241 -s 40x40 -f 60}${if_match ${execi 1 num=$(date +%-S);rem=$(( num % 2 ));if [ $rem -eq 0 ] ; then echo 0 ; else echo 1 ; fi}==0}${image ~/conky/script/images/Blue.png -p 129, 241 -s 40x40 -f 60}${endif}
${image ~/conky/script/images/Blank.png -p 19, 129 -s 40x40 -f 60}${if_match ${execi 1 num=$(date +%-S);rem=$(( num % 2 ));if [ $rem -eq 0 ] ; then echo 0 ; else echo 1 ; fi}==0}${image ~/conky/script/images/Blue.png -p 19, 129 -s 40x40 -f 60}${endif}
${image ~/conky/script/images/Blank.png -p 240, 129 -s 40x40 -f 60}${if_match ${execi 1 num=$(date +%-S);rem=$(( num % 2 ));if [ $rem -eq 0 ] ; then echo 0 ; else echo 1 ; fi}==0}${image ~/conky/script/images/Blue.png -p 240, 129 -s 40x40 -f 60}${endif}
Bonjour - ragamatrix - Il devient vraiment génial ton conky.
Dernière modification par enebre (Le 25/06/2012, à 07:33)
Hors ligne
#1029 Le 25/06/2012, à 07:58
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
@ enebre :
Regarde dans l'archive que j'ai posté.
Pour le conkyrc, j'ai indiqué les lignes à mettre en commentaires (à précéder d'un '#') pour le cas où le conky est affiché sur un fixe, donc sans batterie.
@ ragamatix :
Je suis sous Voyager, donc XFCE.
J'ai bien vu dans un post précédent que tu avais le même message d'erreur de gnome-keyring. Quelle est donc la solution pour supprimer ce message ?
The ship is sinking normally...
Hors ligne
#1030 Le 25/06/2012, à 08:18
- enebre
Re : [Conky] Alternative à weather.com (2)
Bonjour - Phyllinux -
J'ai déja commenté les lignes concernant la batterie dans le conkyrc, je pensais qu'il y en aurait d'autre ailleurs que je n'aurais pas trouvé.
Pour le message d'erreur de gnome-keyring, je n'ai pas vraiment d' option à te proposer, je reste aussi vigilant sur ce sujet.
Je vais retester avec le terminal pour vérifier, mais je crois que je ne l'ai plus, regarde de ce côté c'est peut être une piste
Pour test j'ai commenté la ligne #lua_draw_hook_pre clock_rings et le cpu à chuté de 2%
Dernière modification par enebre (Le 25/06/2012, à 08:19)
Hors ligne
#1031 Le 25/06/2012, à 09:13
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Bonjour à vous chronoliens,
Pour infos dans le script que j'ai modifié, ce qui est modifié est justement lié à la batterie (donc plus la peine de mettre les lignes concerné en remarque).
Hors ligne
#1032 Le 25/06/2012, à 09:34
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@Didier-T
Salut,
En fait mon lancement de conkymétéo et pression ne se lancent toujours pas; que ce soit avec le script "launch" ou "conkycontrol"; hier ça fonctionnait car j'avais fermé la session et non redémarrer...Je n'arrive pas à comprendre pourquoi certains conky fonctionnent au démarrage et pas d'autres.?
Hors ligne
#1033 Le 25/06/2012, à 09:39
- Didier-T
Re : [Conky] Alternative à weather.com (2)
@ ragamatrix,
ce que tu peut tenter c'est fermer tous les programme (conky compris), puis éteindre ton pc en cochant enregistrer la session en cours (ou un truc du genre).
A la prochaine extinction il ne faudra pas oublié de décoché cette option, si non tes conky ce lanceront en double.
Hors ligne
#1034 Le 25/06/2012, à 09:44
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@ enebre :
Regarde dans l'archive que j'ai posté.
Pour le conkyrc, j'ai indiqué les lignes à mettre en commentaires (à précéder d'un '#') pour le cas où le conky est affiché sur un fixe, donc sans batterie.@ ragamatix :
Je suis sous Voyager, donc XFCE.
J'ai bien vu dans un post précédent que tu avais le même message d'erreur de gnome-keyring. Quelle est donc la solution pour supprimer ce message ?
@Phyllinux
Salut,
Le problème est un peu évoqué ici (post#2) : gnome keyring...
Au lieu de le désactiver au démarrage je l'ai activé dans le menu des préférence de programmes aux démarrage dans xfce, onglet avancé(je crois que c'est la derniere ligne)et comme j'ai une session openbox dans l'autostart j'ai mis :
/usr/bin/gnome-keyring-daemon --start --components=pkcs11 &
J'ai maintenant plus d'erreur dans le terminal.
Peut-être cela pourra t'aiguiller.;)
Dernière modification par ragamatrix (Le 25/06/2012, à 10:10)
Hors ligne
#1035 Le 25/06/2012, à 10:12
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@ ragamatrix,
ce que tu peut tenter c'est fermer tous les programme (conky compris), puis éteindre ton pc en cochant enregistrer la session en cours (ou un truc du genre).
A la prochaine extinction il ne faudra pas oublié de décoché cette option, si non tes conky ce lanceront en double.
J'ai essayé cette manip-->marche pas Merci quand même je vais attendre 11h45 pour lancer les conkys météo
Hors ligne
#1036 Le 25/06/2012, à 12:21
- enebre
Re : [Conky] Alternative à weather.com (2)
Depuis ce matin, le conky-météo ne démarre plus.
Je crois comprendre qu'il a besoin d'un fichier situé /tmp/utilisateur-meteo
J'ai changé un paramètre à mon voyager12.04 pour utiliser la swap à la place du /tmp donc il est possible que ce soi la cause de la panne.
" changement opéré en ": sudo leafpad /etc/sysctl.conf
" en y ajoutant la ligne ": vm.swappiness=10
- jpdipsy -
Comment dois-je rediriger ce fichier dans conky_fondinactif à la ligne 27
et question subsidiaire : est ce la seule modification à signaler ?
Dernière modification par enebre (Le 25/06/2012, à 12:25)
Hors ligne
#1037 Le 25/06/2012, à 13:07
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Depuis ce matin, le conky-météo ne démarre plus.
J'ai changé un paramètre à mon voyager12.04 pour utiliser la swap à la place du /tmp
- jpdipsy -
Comment dois-je rediriger ce fichier dans conky_fondinactif à la ligne 27
et question subsidiaire : est ce la seule modification à signaler ?
Bigre pourquoi le swap hormis si tu veux que ton disque dure arrive premier à la derniére étape du tour.
le /tmp/ en tmpfs tel qu'il est chez moi ne contient que 12MO.
${image /tmp/image-meteo-Belfort.png -n } est un lien défini dans creationmodules-fondinactif ln -f -s "$repsauv/$imagefinale.png /tmp/$imagefinale.png"
Donc dans creationmodules-fondinactif
1-imagefinale=tonimage
2-tu peux si tu veux définir un autre lien ln -f -s "$repsauv/$imagefinale.png /tonnouveaurep/$imagefinale.png" ligne 39 et 251 et puis ${image /tonnouveaurep/tonimage.png -n }
Hors ligne
#1038 Le 25/06/2012, à 13:39
- enebre
Re : [Conky] Alternative à weather.com (2)
- jpdipsy -
Bigre pourquoi le swap hormis si tu veux que ton disque dure arrive premier à la dernière étape du tour
En lisant l'info, ça me semblait pas trop mal, voyant que je n'utilise que peu de ram, mais voilà mes neurones ont confondu la ram et la swap. Je remets tout en ordre, remarque j'avais un doute sur le bien fondé de la manip, voila qui clarifie les choses.
Hors ligne
#1039 Le 25/06/2012, à 13:58
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
@ jpdipsy :
Je continue ma migration de Ubuntu Unity à Voyager.
Jusque là, j'ai pu reprendre tous mes différents conkys et les réutiliser sous Voyager, avec une gestion du conky control vraiment très sympa et très pratique.
J'avais gardé le meilleur pour la fin : Le fond d'écran avec la météo intégrée. Et là, ça coince !
Avant de me lancer dans une mise à jour de tes différents scripts, j'ai d'abord essayé de transférer telle quelle ma petite réalisation perso intégrée à xplanetFX.
Et, bien sûr, c'est pas bon !
J'ai déjà ce beau message d'erreur :
Conky: desktop window (1200003) is subwindow of root window (15d)
Conky: window type - override
Conky: drawing to created window (0x2e00001)
Conky: drawing to double buffer
version = v4.1
web = http://www.accuweather.com/fr/fr/marseille/170960/current-weather/170960
Pévision Nb jours = 6
Pévision Matin = non
Pévision Après Midi = non
Pévision Soirée = oui
Pévision Nuit = oui
Délais = 900
Chemin de travail = /tmp
Palier = 16
Chemin de sauvegarde = /home/gilles/conky_Fond/Meteo-Lua/sauvegardes/
Mode = fondecran
fluxbox
cat: /home/gilles/.fluxbox/lastwallpaper: Aucun fichier ou dossier de ce type
convert: pas de délégué pour décoder ce format d'image `/tmp/marseille/170960' @ error/constitute.c/ReadImage/532.
Normal : Je regarde sur mon DD, et je n'ai pas de répertoire 'fluxbox', donc cela ne peut pas tourner comme cela.
Ensuite, j'ai commencé à regarder ton nouveau pack, et je lis :
Prise en charge de gnome-2et3 xfce fluxbox et openbox.
------- Important ------------------------------------------------------------------
Attention vous devez avoir un fond d'ecran déja installé pour ces environnements
Les fonds d'écrans dynamiques ne sont pas pris en charge
Cela signifie t'il qu'il n'y a plus de possibilité d'intégration à xplanetFX ? Si c'est le cas, cela perd beaucoup de son charme Car j'aimais bien avoir ma petite terre avec sa météo intégrée.
Aussi, avant que je me plonge dans tous les fichiers, peux tu me confirmer si il est possible ou non d'avoir le rendu que j'avais avant sous Voyager, avec les nouveaux (ou les anciens) scripts ?
Merci
The ship is sinking normally...
Hors ligne
#1040 Le 25/06/2012, à 15:46
- enebre
Re : [Conky] Alternative à weather.com (2)
- jpdipsy -
je dois avoir déréglé quelque chose, le conky météo ne démarre plus depuis mon bidouillage de la swap.
C'est qu'ils seraient délicats les scripts de chez conky
─( enebre ) - ( 3.4.3-030403-generic ) - ( ~ )
└─>
Conky: desktop window (e00003) is subwindow of root window (282)
Conky: window type - override
Conky: drawing to created window (0x4600001)
Conky: drawing to double buffer
version = v4.1
web = http://www.accuweather.com/fr/be/vielsalm/29360/weather-forecast/29360
Pévision Nb jours = 6
Pévision Matin = non
Pévision Après Midi = non
Pévision Soirée = oui
Pévision Nuit = oui
Délais = 900
Chemin de travail = /tmp/utilisateur-meteo
Palier = 10
Chemin de sauvegarde = /home/enebre/conky/Meteo-Lua/sauvegardes/belfort/
Mode = fondinactif
creationmodule = creationmodules-fondinactif.sh
sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied
Conky: Unable to load image '/tmp/image-meteo-Belfort.png'
Mode = fondinactif
creationmodule = creationmodules-fondinactif.sh
sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied
Dernière modification par enebre (Le 25/06/2012, à 15:48)
Hors ligne
#1041 Le 25/06/2012, à 15:48
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
@ jpdipsy :
Je continue ma migration de Ubuntu Unity à Voyager.
Jusque là, j'ai pu reprendre tous mes différents conkys et les réutiliser sous Voyager, avec une gestion du conky control vraiment très sympa et très pratique.
J'avais gardé le meilleur pour la fin : Le fond d'écran avec la météo intégrée. Et là, ça coince !
Avant de me lancer dans une mise à jour de tes différents scripts, j'ai d'abord essayé de transférer telle quelle ma petite réalisation perso intégrée à xplanetFX.
Et, bien sûr, c'est pas bon !
J'ai déjà ce beau message d'erreur :Conky: desktop window (1200003) is subwindow of root window (15d) Conky: window type - override Conky: drawing to created window (0x2e00001) Conky: drawing to double buffer version = v4.1 web = http://www.accuweather.com/fr/fr/marseille/170960/current-weather/170960 Pévision Nb jours = 6 Pévision Matin = non Pévision Après Midi = non Pévision Soirée = oui Pévision Nuit = oui Délais = 900 Chemin de travail = /tmp Palier = 16 Chemin de sauvegarde = /home/gilles/conky_Fond/Meteo-Lua/sauvegardes/ Mode = fondecran fluxbox cat: /home/gilles/.fluxbox/lastwallpaper: Aucun fichier ou dossier de ce type convert: pas de délégué pour décoder ce format d'image `/tmp/marseille/170960' @ error/constitute.c/ReadImage/532.
Normal : Je regarde sur mon DD, et je n'ai pas de répertoire 'fluxbox', donc cela ne peut pas tourner comme cela.
Ensuite, j'ai commencé à regarder ton nouveau pack, et je lis :Prise en charge de gnome-2et3 xfce fluxbox et openbox. ------- Important ------------------------------------------------------------------ Attention vous devez avoir un fond d'ecran déja installé pour ces environnements Les fonds d'écrans dynamiques ne sont pas pris en charge
Cela signifie t'il qu'il n'y a plus de possibilité d'intégration à xplanetFX ? Si c'est le cas, cela perd beaucoup de son charme Car j'aimais bien avoir ma petite terre avec sa météo intégrée.
Aussi, avant que je me plonge dans tous les fichiers, peux tu me confirmer si il est possible ou non d'avoir le rendu que j'avais avant sous Voyager, avec les nouveaux (ou les anciens) scripts ?Merci
Comme je sent soufflé un vent de panique et la sueur froide doucement coulée le long de ton dos une image vaut mieux qu'un long discourt capture
Pour fluxbox et consort c'est seulement à la toute première init. après si tu utilise la v1 de mon pack c'est juste une concaténation des anciens scripts mise_en_forme et creationmodules rien de difficile.
Donc tu fait péter tes scripts et je t'explique
Dernière modification par jpdipsy (Le 25/06/2012, à 15:51)
Hors ligne
#1042 Le 25/06/2012, à 16:36
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Donc tu fait péter tes scripts et je t'explique
Sauvé !!! Le grand Gourou (non, je n'ai pas dit le Kangourou) du script d'intégration de la météo dans mon fond d'écran dynamique vient d'éclairir mon ciel bien sombre (même si il fait un soleil magnifique sur Marseille, et encore 32° à l'heure actuelle)
Mes scripts :
Meteo-Lua 4.1
Images-meteo-lua V2 :
-- Créé par Didier-T (forum.ubuntu-fr.org), pour jpdipsy
-- Nécessite imagemagick http://apt.ubuntu.com/p/imagemagick
require "io"
require "os"
local Version = "v2"
local conditionJour = {}
local conditionNuit = {}
local conditionMatin = {}
local conditionAM = {}
local conditionSoiree = {}
local conditionNoct = {}
local InfoJour = {}
local conditioncourante = {}
local Thermometre = {}
local ThermometresRond = {}
local init_thermo = {}
local init_thermo_res = {}
local init_rose = {}
local init_rose_raf = {}
local lunaison = {}
local Barometre = {}
local Rep, cmd, jours, matin, apresmidi, soiree, nuit, delais, r, repsauv, l, Rep_Therm, Rep_Rose, Palier, t1, MAJHold, maj1, Nb_Thermo, Rep_Lune, Rep_Barometre, Rep_ThermRond, Nb_ThermRond, palier1, palier2, palier3, palier4, mise_en_page
-- Création rose des vent par jpdipsy
function Rose(i, dp, v, nom, taille, opacite)
local angle, couleur, f ,couleurfont
local vitesse = "'"..v.." km/h'"
if v ~= nil then
f = tonumber(v)
else
f = 0
end
if f <= Palier then
couleur = palier1
couleurfont = palier1coulfont
elseif f <= Palier*2 then
couleur = palier2
couleurfont = palier2coulfont
elseif f <= Palier*3 then
couleur = palier3
couleurfont = palier3coulfont
elseif f >= (Palier*3)+1 then
couleur = palier4
couleurfont = palier4coulfont
end
if i == "Calme" then
angle = nil
elseif i == "N" then
angle = 0
elseif i == "NNE" then
angle = 22.5
elseif i == "NE" then
angle = 45
elseif i == "ENE" then
angle = 67.5
elseif i == "E" then
angle = 90
elseif i == "ESE" then
angle = 112.5
elseif i == "SE" then
angle = 135
elseif i == "SSE" then
angle = 157.5
elseif i == "S" then
angle = 180
elseif i == "SSO" then
angle = 202.5
elseif i == "SO" then
angle = 225
elseif i == "OSO" then
angle = 247.5
elseif i == "O" then
angle = 270
elseif i == "ONO" then
angle = 292.5
elseif i == "NO" then
angle = 315
elseif i == "NNO" then
angle = 337.5
else
angle = nil
end
if angle ~= nil then
os.execute(' convert -background transparent '..Rep_Rose..'/'..couleur..' -rotate '..angle..' '..Rep..'/dir_rot.png && composite -compose Over -gravity Center '..Rep..'/dir_rot.png '..Rep_Rose..'/base.png '..Rep..'/'..nom..'.png')
--os.execute(' convert -background transparent '..Rep_Rose..'/Calme.png -rotate -'..angle..' '..Rep..'/dir_rot.png && composite -compose Over -gravity Center '..Rep..'/dir_rot.png '..Rep_Rose..'/'..couleur..' '..Rep..'/'..nom..'.png')
else
os.execute(' composite -compose Over -gravity Center '..Rep_Rose..'/Calme.png '..Rep_Rose..'/base.png '..Rep..'/'..nom..'.png')
end
os.execute(' convert '..Rep..'/'..nom..'.png -font '..repfonts..'/AlteHaasGroteskBold.ttf -fill '..couleurfont..' -pointsize 40 -gravity center -annotate +0+0 '..vitesse..' '..Rep..'/'..nom..'.png && mogrify -resize '..taille..'! '..Rep..'/'..nom..'.png && composite -blend 0x'..opacite..' null: '..Rep..'/'..nom..'.png -matte '..Rep..'/'..nom..'.png')
end
-- Récupération des infos à afficher
function Recup(info)
local num = info:match("%d+")
if num ~= nil then
info = string.gsub(info, num, "")
num = tonumber(num)
end
info = string.gsub(info, " ", "")
if info == "TempRes" then
T1 = conditioncourante.Tempr
elseif info == "TempAct" then
T1 = conditioncourante.Temp
elseif info == "Rose" then
T1 = conditioncourante.PointRosee
elseif info == "Pression" then
T1 = conditioncourante.Pression
elseif info == "Jour_Temp" then
T1 = conditionJour[num].Temp
elseif info == "Jour_TempRes" then
T1 = conditionJour[num].TempRes
elseif info == "Nuit_Temp" then
T1 = conditionNuit[num].Temp
elseif info == "Nuit_TempRes" then
T1 = conditionNuit[num].TempRes
elseif info == "Histo_Max" then
T1 = InfoJour[num].Histo_Max
elseif info == "Histo_Min" then
T1 = InfoJour[num].Histo_Min
elseif info == "Matin_TempMax" then
T1 = conditionMatin[num].TempMax
elseif info == "Matin_TempMin" then
T1 = conditionMatin[num].TempMin
elseif info == "Matin_TempMaxRes" then
T1 = conditionMatin[num].TempMaxR
elseif info == "Matin_TempMinRes" then
T1 = conditionMatin[num].TempMinR
elseif info == "Matin_Rose" then
T1 = conditionMatin[num].PointRosee
elseif info == "AM_TempMax" then
T1 = conditionAM[num].TempMax
elseif info == "AM_TempMin" then
T1 = conditionAM[num].TempMin
elseif info == "AM_TempMaxRes" then
T1 = conditionAM[num].TempMaxR
elseif info == "AM_TempMinRes" then
T1 = conditionAM[num].TempMinR
elseif info == "AM_Rose" then
T1 = conditionAM[num].PointRosee
elseif info == "Soiree_TempMax" then
T1 = conditionSoiree[num].TempMax
elseif info == "Soiree_TempMin" then
T1 = conditionSoiree[num].TempMin
elseif info == "Soiree_TempMaxRes" then
T1 = conditionSoiree[num].TempMaxR
elseif info == "Soiree_TempMinRes" then
T1 = conditionSoiree[num].TempMinR
elseif info == "Soiree_Rose" then
T1 = conditionSoiree[num].PointRosee
elseif info == "Noct_TempMax" then
T1 = conditionNoct[num].TempMax
elseif info == "Noct_TempMin" then
T1 = conditionNoct[num].TempMin
elseif info == "Noct_TempMaxRes" then
T1 = conditionNoct[num].TempMaxR
elseif info == "Noct_TempMinRes" then
T1 = conditionNoct[num].TempMinR
elseif info == "Noct_Rose" then
T1 = conditionNoct[num].PointRosee
end
T1 = tonumber(T1)
if T1 <= -30 then
T1 = -30
elseif T1 >= 50 then
T1 = 50
end
return T1
end
-- Création thermomètre par jpdipsy
function CreaThermometre(TherNb)
local NbPlot
local Tbase = Thermometre[TherNb].base
local Alcool = Thermometre[TherNb].mercure
Alcool = string.gsub(Alcool, " ", "")
local InfoAlcool = Recup(Thermometre[TherNb].mercure_info)
local Plot = {}
local InfoPlot = {}
if Thermometre[TherNb].plot ~= "" then
local PlotCherche = Thermometre[TherNb].plot
PlotCherche = string.gsub(PlotCherche, " ", "")
local InfoPlotCherche = Thermometre[TherNb].plot_info
local pos1 = 0
NbPlot = 0
while pos1 ~= nil do
local pos2 = string.find(PlotCherche, ",", pos1+1)
NbPlot = NbPlot+1
if pos2 ~= nil then
Plot[NbPlot] = string.sub(PlotCherche, pos1+1, pos2-1)
else
Plot[NbPlot] = string.sub(PlotCherche, pos1+1)
end
pos1 = pos2
end
pos1 = 0
NbPlot = 0
while pos1 ~= nil do
local pos2 = string.find(InfoPlotCherche, ",", pos1+1)
NbPlot = NbPlot+1
if pos2 ~= nil then
InfoPlot[NbPlot] = Recup(string.sub(InfoPlotCherche, pos1+1, pos2-1))
else
InfoPlot[NbPlot] = Recup(string.sub(InfoPlotCherche, pos1+1))
end
pos1 = pos2
end
end
if InfoAlcool > -30 then
local T1 = (InfoAlcool*5)+150
os.execute( "convert "..Rep_Therm.."/"..Alcool.." -resize 20x"..T1.."! "..Rep.."/colonne.png && composite -compose Over -geometry -0+108 -gravity South "..Rep.."/colonne.png "..Rep_Therm.."/"..Tbase.." "..Rep.."/Thermo"..TherNb..".png" )
else
os.execute( "cp "..Rep_Therm.."/"..Tbase.." "..Rep.."/Thermo"..TherNb..".png" )
end
if NbPlot ~= nil then
for i = 1, NbPlot do
T2 = InfoPlot[i]
local pos_T2 = (T2*5) +258
os.execute("composite -compose Over -geometry -0+"..pos_T2.." -gravity South "..Rep_Therm.."/"..Plot[i].." "..Rep.."/Thermo"..TherNb..".png "..Rep.."/Thermo"..TherNb..".png")
end
end
os.execute('mogrify -resize '..Thermometre[TherNb].taille..'! '..Rep..'/Thermo'..TherNb..'.png && composite -blend 0x'..Thermometre[TherNb].opacite..' null: '..Rep..'/Thermo'..TherNb..'.png -matte '..Rep..'/Thermo'..TherNb..'.png')
end
function CreaThermometreRond(TherNb)
local val
os.execute(' cp '..Rep_ThermRond..'/base.png '..Rep..'/Thermorond'..TherNb..'.png')
if ThermometresRond[TherNb].bleu ~= nil then
val = Recup(ThermometresRond[TherNb].bleu)
val = string.gsub(val, " ", "")
cree("ind-bleu", val, TherNb)
end
if ThermometresRond[TherNb].rouge ~= nil then
val = Recup(ThermometresRond[TherNb].rouge)
val = string.gsub(val, " ", "")
cree("ind-rouge", val, TherNb)
end
if ThermometresRond[TherNb].vert ~= nil then
val = Recup(ThermometresRond[TherNb].vert)
val = string.gsub(val, " ", "")
cree("ind-vert", val, TherNb)
end
if ThermometresRond[TherNb].jaune ~= nil then
val = Recup(ThermometresRond[TherNb].jaune)
val = string.gsub(val, " ", "")
cree("ind-jaune", val, TherNb)
end
if ThermometresRond[TherNb].blanc ~= nil then
val = Recup(ThermometresRond[TherNb].blanc)
val = string.gsub(val, " ", "")
cree("ind-blanc", val, TherNb)
end
if ThermometresRond[TherNb].aiguille ~= nil then
val = Recup(ThermometresRond[TherNb].aiguille)
val = string.gsub(val, " ", "")
cree("aiguille", val, TherNb)
end
os.execute('mogrify -resize '..ThermometresRond[TherNb].taille..'! '..Rep..'/Thermorond'..TherNb..'.png && composite -blend 0x'..ThermometresRond[TherNb].opacite..' null: '..Rep..'/Thermorond'..TherNb..'.png -matte '..Rep..'/Thermorond'..TherNb..'.png')
end
function cree(aiguille, angle, TherNb)
angle = (angle*4)-40
os.execute(' convert -background transparent '..Rep_ThermRond..'/'..aiguille..'.png -rotate '..angle..' '..Rep..'/direction_rot.png && composite -compose Over -gravity Center '..Rep..'/direction_rot.png '..Rep..'/Thermorond'..TherNb..'.png '..Rep..'/Thermorond'..TherNb..'.png')
end
function lune()
local j, h, m = Age:match("(%d+) Jours (%d+)h (%d+)m")
if j == nil then
j, h, m = Age:match("(%d+) Jour (%d+)h (%d+)m")
if j == nil then
h, m = Age:match("(%d+)h (%d+)m")
j = 0
end
end
local angle = ((360/42524)*((((j*24)+h)*60)+m))+180
os.execute(' convert -background transparent '..Rep_Lune..'/indicateur.png -rotate '..angle..' '..Rep..'/indicateur_rot.png && composite -compose Over -gravity Center '..Rep..'/indicateur_rot.png '..Rep_Lune..'/lune-base.png '..Rep..'/lune.png && mogrify -resize '..lunaison.taille..'! '..Rep..'/lune.png && composite -blend 0x'..lunaison.opacite..' null: '..Rep..'/lune.png -matte '..Rep..'/lune.png')
end
function Baro()
local angle = ((conditioncourante.Pression-980)*4.5)-135
---- Aiguille
os.execute('convert -background transparent '..Rep_Barometre..'/aiguille.png -rotate '..angle..' '..Rep..'/aiguille_rot.png && composite -compose Over -gravity Center '..Rep..'/aiguille_rot.png '..Rep_Barometre..'/base.png '..Rep..'/Barometre.png && mogrify -resize '..Barometre.taille..'! '..Rep..'/Barometre.png && composite -blend 0x'..Barometre.opacite..' null: '..Rep..'/Barometre.png -matte '..Rep..'/Barometre.png')
end
-- initialisation création rose des sables
function fonc_init_rose()
for j = 1,jours do
init_rose[j] = {CondCour=nil, Jour=nil, Nuit=nil, Matin=nil, AM=nil, Soiree=nil, Noct=nil}
init_rose_raf[j]= {CondCour=nil, Jour=nil, Nuit=nil, Matin=nil, AM=nil, Soiree=nil, Noct=nil}
end
end
-----Affichage Barometre
function conky_Images_Barometre(p, s, f, o)
if Barometre.taille == nil then
Barometre.opacite = o
Barometre.taille = s
Baro()
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/Barometre.png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/Barometre.png "
end
end
-----Affichage lune
function conky_Images_Lunaison(p, s, f, o)
if lunaison.taille == nil then
lunaison.opacite = o
lunaison.taille = s
lune()
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/lune.png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/lune.png "
end
end
-----Affichage Thermometre
function conky_Images_Thermo(p, s, f, n, o)
n = tonumber(n)
if Thermometre[n].opacite == nil then
Thermometre[n].opacite = o
Thermometre[n].taille = s
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/Thermo"..n..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/Thermo"..n..".png"
end
end
function conky_Images_ThermoRond(p, s, f, n, o, a, b, c, d)
--p=position s=taille f=frequence de rafraichissement n=num therm o=opacité a=info 1 b=info 2 c=info 3 d=info 4
n = tonumber(n)
if ThermometresRond[n] == nil then
ThermometresRond[n] = {}
Nb_ThermRond = n
local pos
if a ~= nil then
a = string.gsub(a, "-", " ")
if string.find(a, 'a=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].aiguille = string.sub(a, pos+1)
elseif string.find(a, 'b=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].bleu = string.sub(a, pos+1)
elseif string.find(a, 'r=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].rouge = string.sub(a, pos+1)
elseif string.find(a, 'v=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].vert = string.sub(a, pos+1)
elseif string.find(a, 'j=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].jaune = string.sub(a, pos+1)
elseif string.find(a, 'w=') ~= nil then
pos = string.find(a, '=')
ThermometresRond[n].blanc = string.sub(a, pos+1)
end
end
if b ~= nil then
b = string.gsub(b, "-", " ")
if string.find(b, 'a=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].aiguille = string.sub(b, pos+1)
elseif string.find(b, 'b=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].bleu = string.sub(b, pos+1)
elseif string.find(b, 'r=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].rouge = string.sub(b, pos+1)
elseif string.find(b, 'v=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].vert = string.sub(b, pos+1)
elseif string.find(b, 'j=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].jaune = string.sub(b, pos+1)
elseif string.find(b, 'w=') ~= nil then
pos = string.find(b, '=')
ThermometresRond[n].blanc = string.sub(b, pos+1)
end
end
if c ~= nil then
c = string.gsub(c, "-", " ")
if string.find(c, 'a=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].aiguille = string.sub(c, pos+1)
elseif string.find(c, 'b=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].bleu = string.sub(c, pos+1)
elseif string.find(c, 'r=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].rouge = string.sub(c, pos+1)
elseif string.find(c, 'v=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].vert = string.sub(c, pos+1)
elseif string.find(c, 'j=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].jaune = string.sub(c, pos+1)
elseif string.find(c, 'w=') ~= nil then
pos = string.find(c, '=')
ThermometresRond[n].blanc = string.sub(c, pos+1)
end
end
if d ~= nil then
d = string.gsub(d, "-", " ")
if string.find(d, 'a=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].aiguille = string.sub(d, pos+1)
elseif string.find(d, 'b=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].bleu = string.sub(d, pos+1)
elseif string.find(d, 'r=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].rouge = string.sub(d, pos+1)
elseif string.find(d, 'v=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].vert = string.sub(d, pos+1)
elseif string.find(a, 'j=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].jaune = string.sub(d, pos+1)
elseif string.find(d, 'w=') ~= nil then
pos = string.find(d, '=')
ThermometresRond[n].blanc = string.sub(d, pos+1)
end
end
ThermometresRond[n].taille = s
ThermometresRond[n].opacite = o
CreaThermometreRond(n)
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/Thermorond"..n..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/Thermorond"..n..".png"
end
end
-----Affichage rose des sables
--Condition courante
function conky_Images_Rose(p, s, f, o)
j = 1
if init_rose[j].CondCour == nil then
Rose(conditioncourante.VentDir, conditioncourante.VentPlein, conditioncourante.VentForce, "Rose", s, o)
init_rose[j].CondCour = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/Rose.png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/Rose.png"
end
end
--Prévision sur la journée
function conky_Images_Jour_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].Jour == nil then
Rose(conditionJour[j].VentDir, conditionJour[j].VentP, conditionJour[j].VentForce, "RoseJour"..j, s, o)
init_rose[j].Jour = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseJour"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseJour"..j..".png"
end
end
function conky_Images_Jour_RoseR(p, s, f, j, o)
j = tonumber(j)
if init_rose_raf[j].Jour == nil then
Rose(conditionJour[j].VentDir, conditionJour[j].VentP, conditionJour[j].VentRafales, "RoseJourR"..j, s, o)
init_rose_raf[j].Jour = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseJourR"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseJourR"..j..".png"
end
end
--Prévision sur la nuit
function conky_Images_Nuit_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].Nuit == nil then
Rose(conditionNuit[j].VentDir, conditionNuit[j].VentP, conditionNuit[j].VentForce, "RoseNuit"..j, s, o)
init_rose[j].Nuit = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseNuit"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseNuit"..j..".png"
end
end
function conky_Images_Nuit_RoseR(p, s, f, j, o)
j = tonumber(j)
if init_rose_raf[j].Nuit == nil then
Rose(conditionNuit[j].VentDir, conditionNuit[j].VentP, conditionNuit[j].VentRafales, "RoseNuitR"..j, s, o)
init_rose_raf[j].Nuit = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseNuitR"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseNuitR"..j..".png"
end
end
--Condition Matinée
function conky_Images_Matin_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].Matin == nil then
Rose(conditionMatin[j].VentDir, conditionMatin[j].VentP, conditionMatin[j].VentForce, "RoseMatin"..j, s, o)
init_rose[j].Matin = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseMatin"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseMatin"..j..".png"
end
end
--Condition Après midi
function conky_Images_AM_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].AM == nil then
Rose(conditionAM[j].VentDir, conditionAM[j].VentP, conditionAM[j].VentForce, "RoseAM"..j, s, o)
init_rose[j].AM = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseAM"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseAM"..j..".png"
end
end
--Condition soirée
function conky_Images_Soiree_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].Soiree == nil then
Rose(conditionSoiree[j].VentDir, conditionSoiree[j].VentP, conditionSoiree[j].VentForce, "RoseSoiree"..j, s, o)
init_rose[j].Soiree = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseSoiree"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseSoiree"..j..".png"
end
end
--Condition Nuit
function conky_Images_Noct_Rose(p, s, f, j, o)
j = tonumber(j)
if init_rose[j].Noct == nil then
Rose(conditionNoct[j].VentDir, conditionNoct[j].VentP, conditionNoct[j].VentForce, "RoseNoct"..j, s, o)
init_rose[j].Noct = 1
end
if Mode ~= "fondecran" then
return "${image "..Rep.."/RoseNoct"..j..".png -p "..p.." -s "..s.." -f "..f.."}"
else
return Rep.."/RoseNoct"..j..".png"
end
end
--Récupération de données
function conky_Images_MAJ(cfg)
local s = '${lua Meteo_etat_MAJ}'
local MAJ = conky_parse( s )
if maj1 == nil then
init(cfg)
maj1 = "ok"
MAJHold = MAJ+1
end
if MAJ ~= MAJHold then
MAJHold = MAJ
--Récupération dernière condition courante
local file = assert(io.open(repsauv.."CondCour", "r") )
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local t = {"Icone", "Tempr", "Temp", "Cond", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "VentDir", "VentPlein", "VentForce", "VentIcone", "Humidite", "PointRosee", "Pression", "Visibilite", "Date", "Ville", "CouvNuage", "Uv", "QPrec", "latitude", "longitude"}
for i = 1,23 do
conditioncourante[t[i]] = donee[i]
end
time = donee[24]
io.close(file)
--Récupération prévision
for j = 1,jours do
local file = assert(io.open(repsauv.."prevision"..j, "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local info = {}
local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "Uv", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
conditionJour[j] = {}
for i = 1, 21 do
info[t[i]] = donee[i]
end
conditionJour[j] = info
local info1 = {}
t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
conditionNuit[j] = {}
for i = 22, 41 do
info1[t[i-21]] = donee[i]
end
conditionNuit[j] = info1
local info2 = {}
t= {"Jour", "LeverSoleilH", "LeverSoleilM", "CoucherSoleilH", "CoucherSoleilM", "Histo_Max", "Histo_Min"}
InfoJour[j] = {}
for i = 42, 48 do
info2[t[i-41]] = donee[i]
end
InfoJour[j] = info2
io.close(file)
if matin == "oui" then
local file = assert(io.open(repsauv.."matin"..j, "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
conditionMatin[j] = {}
local info3 = {}
for i = 1, 21 do
info3[t[i]] = donee[i]
end
conditionMatin[j] = info3
io.close(file)
end
if apresmidi == "oui" then
local file = assert(io.open(repsauv.."ApresMidi"..j, "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
conditionAM[j] = {}
local info3 = {}
for i = 1, 21 do
info3[t[i]] = donee[i]
end
conditionAM[j] = info3
io.close(file)
end
if soiree == "oui" then
local file = assert(io.open(repsauv.."Soiree"..j, "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
conditionSoiree[j] = {}
local info3 = {}
for i = 1, 21 do
info3[t[i]] = donee[i]
end
conditionSoiree[j] = info3
io.close(file)
end
if nuit == "oui" then
local file = assert(io.open(repsauv.."Nuit"..j, "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
conditionNoct[j] = {}
local info3 = {}
for i = 1, 21 do
info3[t[i]] = donee[i]
end
conditionNoct[j] = info3
io.close(file)
end
end
--Récupération lunaison
local file = assert(io.open(repsauv.."lunaison", "r"))
local line = file:read()
local i = 0
local donee = {}
for line in file:lines() do
i = i+1
donee[i] = line
end
ephemerides = donee[1]
ephemerides1 = donee[2]
ephemerides2 = donee[3]
Visibilite = donee[4]
Phases = donee[5]
Phases1 = donee[6]
Phases2 = donee[7]
Noeud_lunaire = donee[8]
Apogee = donee[9]
Perigee = donee[10]
Distance = donee[11]
Age = donee[12]
Lever_LuneHeure = donee[13]
Lever_LuneMinute = donee[14]
Coucher_LuneHeure = donee[15]
Coucher_LuneMinute = donee[16]
Eclipse_partielle = donee[17]
Eclipse_total = donee[18]
io.close(file)
if Barometre.taille ~= nil then Baro() end
if lunaison.taille ~= nil then lune() end
fonc_init_rose()
local i = 0
while i ~= Nb_Thermo do
i = i+1
CreaThermometre(i)
end
i = 0
while i ~= Nb_ThermRond do
i = i+1
CreaThermometreRond(i)
end
if Mode == "fondecran" then
FondEcran_init()
end
collectgarbage()
end
return ""
end
--initialisation paramètres
function init(cfg)
local home = os.getenv("HOME")
cfg = string.gsub(cfg, "~", home)
cfg = string.gsub(cfg, "$HOME", home)
Nb_Thermo = 0
Nb_ThermRond = 0
local Thermo = false
local ThermRond = false
local file = assert(io.open(cfg, "rb") )
local line = file:read()
for line in file:lines() do
local pos1 = string.find(line, '#')
if pos1 ~= nil then
line = string.sub(line, 1, pos1-1)
end
pos1 = string.find(line, '=')
if string.find(line, 'Therm=') ~= nil then
Rep_Therm = string.sub(line, pos1+1)
elseif string.find(line, 'repfonts=') ~= nil then
repfonts = string.sub(line, pos1+1)
elseif string.find(line, 'ThermRond=') ~= nil then
Rep_ThermRond = string.sub(line, pos1+1)
elseif string.find(line, 'Rose=') ~= nil then
Rep_Rose = string.sub(line, pos1+1)
elseif string.find(line, 'palier1=') ~= nil then
palier1 = string.sub(line, pos1+1)
elseif string.find(line, 'palier2=') ~= nil then
palier2 = string.sub(line, pos1+1)
elseif string.find(line, 'palier3=') ~= nil then
palier3 = string.sub(line, pos1+1)
elseif string.find(line, 'palier4=') ~= nil then
palier4 = string.sub(line, pos1+1)
elseif string.find(line, 'palier1coulfont=') ~= nil then
palier1coulfont = string.sub(line, pos1+1)
elseif string.find(line, 'palier2coulfont=') ~= nil then
palier2coulfont = string.sub(line, pos1+1)
elseif string.find(line, 'palier3coulfont=') ~= nil then
palier3coulfont = string.sub(line, pos1+1)
elseif string.find(line, 'palier4coulfont=') ~= nil then
palier4coulfont = string.sub(line, pos1+1)
elseif string.find(line, 'Lune=') ~= nil then
Rep_Lune = string.sub(line, pos1+1)
elseif string.find(line, 'Barometre=') ~= nil then
Rep_Barometre = string.sub(line, pos1+1)
elseif string.find(line, 'repmeteo=') ~= nil then
repmeteo = string.sub(line, pos1+1)
elseif string.find(line, 'IconesRep=') ~= nil then
IconesRep = string.sub(line, pos1+1)
elseif string.find(line, 'Mode=') ~= nil then
Mode = string.sub(line, pos1+1)
elseif string.find(line, 'MiseEnPage=') ~= nil then
mise_en_page = string.sub(line, pos1+1)
mise_en_page = string.gsub(mise_en_page, "~", home)
mise_en_page = string.gsub(mise_en_page, "$HOME", home)
end
--debut thermomètre mercure
if string.find(line, 'Thermometres=') ~= nil then
Thermo = true
Nb_Thermo = Nb_Thermo+1
Thermometre[tonumber(Nb_Thermo)] = {}
end
if Thermo ~= false then
if string.find(line, 'base=') ~= nil then
Thermometre[Nb_Thermo].base = string.sub(line, pos1+1)
elseif string.find(line, 'mercure=') ~= nil then
Thermometre[Nb_Thermo].mercure = string.sub(line, pos1+1)
elseif string.find(line, 'mercure_info=') ~= nil then
local pos2 = string.find(line, '}')
if pos2 ~= nil then
Thermometre[Nb_Thermo].mercure_info = string.sub(line, pos1+1, pos2-1)
else
Thermometre[Nb_Thermo].mercure_info = string.sub(line, pos1+1)
end
elseif string.find(line, 'plot=') ~= nil then
Thermometre[Nb_Thermo].plot = string.sub(line, pos1+1)
elseif string.find(line, 'plot_info=') ~= nil then
local pos2 = string.find(line, '}')
Thermometre[Nb_Thermo].plot_info = string.sub(line, pos1+1, pos2-1)
end
pos1 = string.find(line, '}')
if pos1 ~= nil then
line = string.sub(line, pos1)
if string.find(line, ',') == nil then
Thermo = false
else
Nb_Thermo = Nb_Thermo+1
Thermometre[Nb_Thermo] = {}
end
end
end
--fin thermomètre
end
io.close(file)
local fichier_init = conky_parse( "${lua Meteo_fichier_init}" )
local file = assert(io.open(fichier_init, "rb") )
local line = file:read()
for line in file:lines() do
local pos1 = string.find(line, '#')
if pos1 ~= nil then
line = string.sub(line, 1, pos1-1)
end
pos1 = string.find(line, '=')
if string.find(line, 'repsauv=') ~= nil then
repsauv = string.sub(line, pos1+1)
elseif string.find(line, 'TempShell=') ~= nil then
r = string.sub(line, pos1+1)
elseif string.find(line, 'web=') ~= nil then
cmd1 = string.sub(line, pos1+1)
elseif string.find(line, 'periode=') ~= nil then
jours = string.sub(line, pos1+1)
elseif string.find(line, 'matinée=') ~= nil then
matin = string.sub(line, pos1+1)
elseif string.find(line, 'am=') ~= nil then
apresmidi = string.sub(line, pos1+1)
elseif string.find(line, 'soiree=') ~= nil then
soiree = string.sub(line, pos1+1)
elseif string.find(line, 'nuit=') ~= nil then
nuit = string.sub(line, pos1+1)
elseif string.find(line, 'Therm=') ~= nil then
Rep_Therm = string.sub(line, pos1+1)
elseif string.find(line, 'Rose=') ~= nil then
Rep_Rose = string.sub(line, pos1+1)
elseif string.find(line, 'Palier=') ~= nil then
Palier = tonumber(string.sub(line, pos1+1))
elseif string.find(line, 'update=') ~= nil then
delais = string.sub(line, pos1+1)
end
end
io.close(file)
r = string.gsub(r, "~", home)
r = string.gsub(r, "$HOME", home)
repsauv = string.gsub(repsauv, "~", home)
repsauv = string.gsub(repsauv, "$HOME", home)
repsauv = repsauv.."/"
--Création répertoire de travail
l = cmd1:match("/(%d+)")
if string.find(cmd1, 'forecast') ~= nil then
pos1 = string.find(cmd1, '/weather')
cmd = string.sub(cmd1, 0, pos1-1)
else
pos1 = string.find(cmd1, '/current')
cmd = string.sub(cmd1, 0, pos1-1)
end
local bar, bar1
local l1 = string.gsub(cmd, '/'..l, "" )
local b = 1
while bar1 == nil do
b = b+1
bar1 = string.find(l1, '/', -b)
end
l1 = string.sub(l1, bar1+1)
Rep = r.."/"..l1.."/"..l
MAJHold = "10"
return ""
end
------------------------------------------------------------- Fond ecran --------------------------------------------------
function FondEcran_init()
print("Mode = "..Mode)
-- etat du script pour verif_fond
os.execute('echo "Maj" >'..Rep..'/statut.txt ')
-- Sauvegarde fond ecran
os.execute(repmeteo..'/scripts/fond.ori.sh sauvegarde')
-- creation des modules externes
creation_module(mise_en_page)
-- Maj du fond d'écran
os.execute(repmeteo..'/scripts/mise_en_forme.sh')
end
function conky_extinction()
-- remise en place fond ecran-effacement des balises
os.execute('rm -f '..Rep..'/pidfond && rm -f '..Rep..'/statut.txt && '..repmeteo..'/scripts/fond.ori.sh restauration')
end
function mise_en_forme(x)
local pos = string.find(x, "{{")
local Nb = 0
local info, pos1
while pos ~= nil do
Nb = Nb+1
if Nb == 1 then
code = string.sub(x, 0, pos-1)
else
code = code..string.sub(x, pos1+2, pos-1)
end
pos1 = string.find(x, "}}", pos+2)
info = string.sub(x, pos+2, pos1-1)
code = code..Recup_info(info)
pos = string.find(x, "{{", pos1+2)
end
if pos1 ~= nil then
code = code..string.sub(x, pos1+2)
else
code = x
end
return code
end
function creation_module(creationmodules)
------------copie et recuperation du fichier
local file = io.open(creationmodules)
local line = file:read()
local file1 = io.open(repsauv.."creationmodules.sh", "w+" )
------------- mise en place fichier + entête
file1:write ("#!/bin/bash \n\n")
------------------------------------------------------------------------
for line in file:lines() do
---------------------------------------------------------
file1:write (mise_en_forme(line), "\n")
---------------------------------------------------------
end
------ fermeture et ecriture
io.close(file1)
io.close(file)
------ execution du fichier bash
os.execute('chmod +x '..repsauv..'creationmodules.sh && '..repsauv..'creationmodules.sh' )
--os.execute('chmod +x '..repsauv..'creationmodules.sh')
end
function Recup_info(x)
local info, pos1, pos
pos = string.find(x, " ")
if pos ~= nil then
info = string.sub(x, 0, pos-1)
pos1 = string.find(x, " ", pos+1)
else
info = x
end
if pos ~= nil then
if pos1 ~= nil then
arg1 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg1 = string.sub(x, pos+1)
end
if pos1 ~= nil then
if pos ~= nil then
arg2 = string.sub(x, pos1+1, pos-1)
pos1 = string.find(x, " ", pos+1)
else
arg2 = string.sub(x, pos1+1)
end
if pos ~= nil then
if pos1 ~= nil then
arg3 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg3 = string.sub(x, pos+1)
end
if pos1 ~= nil then
if pos ~= nil then
arg4 = string.sub(x, pos1+1, pos-1)
pos1 = string.find(x, " ", pos+1)
else
arg4 = string.sub(x, pos1+1)
end
if pos ~= nil then
if pos1 ~= nil then
arg5 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg5 = string.sub(x, pos+1)
end
if pos1 ~= nil then
if pos ~= nil then
arg6 = string.sub(x, pos1+1, pos-1)
pos1 = string.find(x, " ", pos+1)
else
arg6 = string.sub(x, pos1+1)
end
if pos ~= nil then
if pos1 ~= nil then
arg7 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg7 = string.sub(x, pos+1)
end
if pos1 ~= nil then
if pos ~= nil then
arg8 = string.sub(x, pos1+1, pos-1)
pos1 = string.find(x, " ", pos+1)
else
arg8 = string.sub(x, pos1+1)
end
if pos ~= nil then
if pos1 ~= nil then
arg9 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg9 = string.sub(x, pos+1)
end
if pos1 ~= nil then
if pos ~= nil then
arg10 = string.sub(x, pos1+1, pos-1)
pos1 = string.find(x, " ", pos+1)
else
arg10 = string.sub(x, pos1+1)
end
if pos ~= nil then
if pos1 ~= nil then
arg11 = string.sub(x, pos+1, pos1-1)
pos = string.find(x, " ", pos1+1)
else
arg11 = string.sub(x, pos+1)
end
end
end
end
end
end
end
end
end
end
end
end
if info == "Meteo_TempRes" then
return conditioncourante.Tempr
elseif info == "Meteo_TempAct" then
return conditioncourante.Temp
elseif info == "Meteo_CondMeteo" then
return conditioncourante.Cond
elseif info == "Meteo_CondMeteo1" then
return conditioncourante.Cond1
elseif info == "Meteo_CondMeteo2" then
return conditioncourante.Cond2
elseif info == "Meteo_CondMeteo1se" then
return conditioncourante.Cond1se
elseif info == "Meteo_CondMeteo2se" then
return conditioncourante.Cond2se
elseif info == "Meteo_VentDir" then
return conditioncourante.VentDir
elseif info == "Meteo_VentDirP" then
return conditioncourante.VentPlein
elseif info == "Meteo_VentForce" then
return conditioncourante.VentForce
elseif info == "Meteo_Humidite" then
return conditioncourante.Humidite
elseif info == "Meteo_Rose" then
return conditioncourante.PointRosee
elseif info == "Meteo_Pression" then
return conditioncourante.Pression
elseif info == "Meteo_Visibilite" then
return conditioncourante.Visibilite
elseif info == "Meteo_CouvNuage" then
return conditioncourante.CouvNuage
elseif info == "Meteo_Uv" then
return conditioncourante.Uv
elseif info == "Meteo_QPrec" then
return conditioncourante.QPrec
elseif info == "Meteo_IconeM" then
if os.date("%H%M", os.time()) <= InfoJour[1].CoucherSoleilH..InfoJour[1].CoucherSoleilM and os.date("%H%M", os.time()) >= "0"..InfoJour[1].LeverSoleilH..InfoJour[1].LeverSoleilM then
return arg1.."/jour/"..conditioncourante.Icone..".png"
else
return arg1.."/nuit/"..conditioncourante.Icone..".png"
end
elseif info == "Meteo_IconeV" then
return arg1.."/"..conditioncourante.VentIcone
elseif info == "Meteo_Ville" then
return conditioncourante.Ville
elseif info == "Meteo_latitude" then
return conditioncourante.latitude
elseif info == "Meteo_longitude" then
return conditioncourante.longitude
--prévision journée
elseif info == "Meteo_Jour_CondMeteo" then
return conditionJour[tonumber(arg1)].CondMeteo
elseif info == "Meteo_Jour_CondMeteo1" then
return conditionJour[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_Jour_CondMeteo2" then
return conditionJour[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_Jour_CondMeteo1se" then
return conditionJour[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_Jour_CondMeteo2se" then
return conditionJour[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_Jour_Temp" then
return conditionJour[tonumber(arg1)].Temp
elseif info == "Meteo_Jour_TempRes" then
return conditionJour[tonumber(arg1)].TempRes
elseif info == "Meteo_Jour_ProbPrec" then
return conditionJour[tonumber(arg1)].ProbPrec
elseif info == "Meteo_Jour_VentDir" then
return conditionJour[tonumber(arg1)].VentDir
elseif info == "Meteo_Jour_VentDirP" then
return conditionJour[tonumber(arg1)].VentP
elseif info == "Meteo_Jour_VentForce" then
return conditionJour[tonumber(arg1)].VentForce
elseif info == "Meteo_Jour_VentRafales" then
return conditionJour[tonumber(arg1)].VentRafales
elseif info == "Meteo_Jour_Uv" then
return conditionJour[tonumber(arg1)].Uv
elseif info == "Meteo_Jour_ProbOrage" then
return conditionJour[tonumber(arg1)].ProbOrage
elseif info == "Meteo_Jour_NivPrec" then
return conditionJour[tonumber(arg1)].NivPrec
elseif info == "Meteo_Jour_QPluie" then
return conditionJour[tonumber(arg1)].QPluie
elseif info == "Meteo_Jour_QNeige" then
return conditionJour[tonumber(arg1)].QNeige
elseif info == "Meteo_Jour_EVerglas" then
return conditionJour[tonumber(arg1)].EVerglas
elseif info == "Meteo_Jour_IconeM" then
return arg1.."/jour/"..conditionJour[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_Jour_IconeV" then
return arg1.."/"..conditionJour[tonumber(arg5)].VentIcone
elseif info == "Meteo_Jour_IconeR" then
return arg1.."/"..conditionJour[tonumber(arg5)].RafalesIcone
--prévision Nuit
elseif info == "Meteo_Nuit_CondMeteo" then
return conditionNuit[tonumber(arg1)].CondMeteo
elseif info == "Meteo_Nuit_CondMeteo1" then
return conditionNuit[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_Nuit_CondMeteo2" then
return conditionNuit[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_Nuit_CondMeteo1se" then
return conditionNuit[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_Nuit_CondMeteo2se" then
return conditionNuit[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_Nuit_Temp" then
return conditionNuit[tonumber(arg1)].Temp
elseif info == "Meteo_Nuit_TempRes" then
return conditionNuit[tonumber(arg1)].TempRes
elseif info == "Meteo_Nuit_ProbPrec" then
return conditionNuit[tonumber(arg1)].ProbPrec
elseif info == "Meteo_Nuit_VentDir" then
return conditionNuit[tonumber(arg1)].VentDir
elseif info == "Meteo_Nuit_VentDirP" then
return conditionNuit[tonumber(arg1)].VentP
elseif info == "Meteo_Nuit_VentForce" then
return conditionNuit[tonumber(arg1)].VentForce
elseif info == "Meteo_Nuit_VentRafales" then
return conditionNuit[tonumber(arg1)].VentRafales
elseif info == "Meteo_Nuit_Uv" then
return conditionNuit[tonumber(arg1)].Uv
elseif info == "Meteo_Nuit_ProbOrage" then
return conditionNuit[tonumber(arg1)].ProbOrage
elseif info == "Meteo_Nuit_NivPrec" then
return conditionNuit[tonumber(arg1)].NivPrec
elseif info == "Meteo_Nuit_QPluie" then
return conditionNuit[tonumber(arg1)].QPluie
elseif info == "Meteo_Nuit_QNeige" then
return conditionNuit[tonumber(arg1)].QNeige
elseif info == "Meteo_Nuit_EVerglas" then
return conditionNuit[tonumber(arg1)].EVerglas
elseif info == "Meteo_Nuit_IconeM" then
return arg1.."/nuit/"..conditionNuit[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_Nuit_IconeV" then
return arg1.."/"..conditionNuit[tonumber(arg5)].VentIcone
elseif info == "Meteo_Nuit_IconeR" then
return arg1.."/"..conditionNuit[tonumber(arg5)].RafalesIcone
----Prévision quart de journée
--Matin
elseif info == "Meteo_Matin_CondMeteo " then
return conditionMatin[tonumber(arg1)].CondMeteo
elseif info == "Meteo_Matin_CondMeteo1" then
return conditionMatin[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_Matin_CondMeteo2" then
return conditionMatin[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_Matin_CondMeteo1se" then
return conditionMatin[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_Matin_CondMeteo2se" then
return conditionMatin[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_Matin_TempMax" then
return conditionMatin[tonumber(arg1)].TempMax
elseif info == "Meteo_Matin_TempMin" then
return conditionMatin[tonumber(arg1)].TempMin
elseif info == "Meteo_Matin_TempMaxRes" then
return conditionMatin[tonumber(arg1)].TempMaxR
elseif info == "Meteo_Matin_TempMinRes" then
return conditionMatin[tonumber(arg1)].TempMinR
elseif info == "Meteo_Matin_ProbPrec" then
return conditionMatin[tonumber(arg1)].ProbPrec
elseif info == "Meteo_Matin_VentDir" then
return conditionMatin[tonumber(arg1)].VentDir
elseif info == "Meteo_Matin_VentP" then
return conditionMatin[tonumber(arg1)].VentP
elseif info == "Meteo_Matin_VentForce" then
return conditionMatin[tonumber(arg1)].VentForce
elseif info == "Meteo_Matin_QPluie" then
return conditionMatin[tonumber(arg1)].QPluie
elseif info == "Meteo_Matin_QNeige" then
return conditionMatin[tonumber(arg1)].QNeige
elseif info == "Meteo_Matin_Humidite" then
return conditionMatin[tonumber(arg1)].Humidite
elseif info == "Meteo_Matin_CouvNuage" then
return conditionMatin[tonumber(arg1)].CouvNuage
elseif info == "Meteo_Matin_Rose" then
return conditionMatin[tonumber(arg1)].PointRosee
elseif info == "Meteo_Matin_Visibilite" then
return conditionMatin[tonumber(arg1)].Visibilite
elseif info == "Meteo_Matin_IconeM" then
return arg1.."/jour/"..conditionMatin[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_Matin_IconeV" then
return arg1.."/"..conditionMatin[tonumber(arg5)].VentIcone
--Après midi
elseif info == "Meteo_AM_CondMeteo " then
return conditionAM[tonumber(arg1)].CondMeteo
elseif info == "Meteo_AM_CondMeteo1" then
return conditionAM[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_AM_CondMeteo2" then
return conditionAM[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_AM_CondMeteo1se" then
return conditionAM[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_AM_CondMeteo2se" then
return conditionAM[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_AM_TempMax" then
return conditionAM[tonumber(arg1)].TempMax
elseif info == "Meteo_AM_TempMin" then
return conditionAM[tonumber(arg1)].TempMin
elseif info == "Meteo_AM_TempMaxRes" then
return conditionAM[tonumber(arg1)].TempMaxR
elseif info == "Meteo_AM_TempMinRes" then
return conditionAM[tonumber(arg1)].TempMinR
elseif info == "Meteo_AM_ProbPrec" then
return conditionAM[tonumber(arg1)].ProbPrec
elseif info == "Meteo_AM_VentDir" then
return conditionAM[tonumber(arg1)].VentDir
elseif info == "Meteo_AM_VentP" then
return conditionAM[tonumber(arg1)].VentP
elseif info == "Meteo_AM_VentForce" then
return conditionAM[tonumber(arg1)].VentForce
elseif info == "Meteo_AM_QPluie" then
return conditionAM[tonumber(arg1)].QPluie
elseif info == "Meteo_AM_QNeige" then
return conditionAM[tonumber(arg1)].QNeige
elseif info == "Meteo_AM_Humidite" then
return conditionAM[tonumber(arg1)].Humidite
elseif info == "Meteo_AM_CouvNuage" then
return conditionAM[tonumber(arg1)].CouvNuage
elseif info == "Meteo_AM_Rose" then
return conditionAM[tonumber(arg1)].PointRosee
elseif info == "Meteo_AM_Visibilite" then
return conditionAM[tonumber(arg1)].Visibilite
elseif info == "Meteo_AM_IconeM" then
return arg1.."/jour/"..conditionAM[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_AM_IconeV" then
return arg1.."/"..conditionAM[tonumber(arg5)].VentIcone
--Soirée
elseif info == "Meteo_Soiree_CondMeteo " then
return conditionSoiree[tonumber(arg1)].CondMeteo
elseif info == "Meteo_Soiree_CondMeteo1" then
return conditionSoiree[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_Soiree_CondMeteo2" then
return conditionSoiree[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_Soiree_CondMeteo1se" then
return conditionSoiree[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_Soiree_CondMeteo2se" then
return conditionSoiree[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_Soiree_TempMax" then
return conditionSoiree[tonumber(arg1)].TempMax
elseif info == "Meteo_Soiree_TempMin" then
return conditionSoiree[tonumber(arg1)].TempMin
elseif info == "Meteo_Soiree_TempMaxRes" then
return conditionSoiree[tonumber(arg1)].TempMaxR
elseif info == "Meteo_Soiree_TempMinRes" then
return conditionSoiree[tonumber(arg1)].TempMinR
elseif info == "Meteo_Soiree_ProbPrec" then
return conditionSoiree[tonumber(arg1)].ProbPrec
elseif info == "Meteo_Soiree_VentDir" then
return conditionSoiree[tonumber(arg1)].VentDir
elseif info == "Meteo_Soiree_VentP" then
return conditionSoiree[tonumber(arg1)].VentP
elseif info == "Meteo_Soiree_VentForce" then
return conditionSoiree[tonumber(arg1)].VentForce
elseif info == "Meteo_Soiree_QPluie" then
return conditionSoiree[tonumber(arg1)].QPluie
elseif info == "Meteo_Soiree_QNeige" then
return conditionSoiree[tonumber(arg1)].QNeige
elseif info == "Meteo_Soiree_Humidite" then
return conditionSoiree[tonumber(arg1)].Humidite
elseif info == "Meteo_Soiree_CouvNuage" then
return conditionSoiree[tonumber(arg1)].CouvNuage
elseif info == "Meteo_Soiree_Rose" then
return conditionSoiree[tonumber(arg1)].PointRosee
elseif info == "Meteo_Soiree_Visibilite" then
return conditionSoiree[tonumber(arg1)].Visibilite
elseif info == "Meteo_Soiree_IconeM" then
return arg1.."/nuit/"..conditionSoiree[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_Soiree_IconeV" then
return arg1.."/"..conditionSoiree[tonumber(arg5)].VentIcone
--nuit
elseif info == "Meteo_Noct_CondMeteo " then
return conditionNoct[tonumber(arg1)].CondMeteo
elseif info == "Meteo_Noct_CondMeteo1" then
return conditionNoct[tonumber(arg1)].CondMeteo1
elseif info == "Meteo_Noct_CondMeteo2" then
return conditionNoct[tonumber(arg1)].CondMeteo2
elseif info == "Meteo_Noct_CondMeteo1se" then
return conditionNoct[tonumber(arg1)].CondMeteo1se
elseif info == "Meteo_Noct_CondMeteo2se" then
return conditionNoct[tonumber(arg1)].CondMeteo2se
elseif info == "Meteo_Noct_TempMax" then
return conditionNoct[tonumber(arg1)].TempMax
elseif info == "Meteo_Noct_TempMin" then
return conditionNoct[tonumber(arg1)].TempMin
elseif info == "Meteo_Noct_TempMaxRes" then
return conditionNoct[tonumber(arg1)].TempMaxR
elseif info == "Meteo_Noct_TempMinRes" then
return conditionNoct[tonumber(arg1)].TempMinR
elseif info == "Meteo_Noct_ProbPrec" then
return conditionNoct[tonumber(arg1)].ProbPrec
elseif info == "Meteo_Noct_VentDir" then
return conditionNoct[tonumber(arg1)].VentDir
elseif info == "Meteo_Noct_VentP" then
return conditionNoct[tonumber(arg1)].VentP
elseif info == "Meteo_Noct_VentForce" then
return conditionNoct[tonumber(arg1)].VentForce
elseif info == "Meteo_Noct_QPluie" then
return conditionNoct[tonumber(arg1)].QPluie
elseif info == "Meteo_Noct_QNeige" then
return conditionNoct[tonumber(arg1)].QNeige
elseif info == "Meteo_Noct_Humidite" then
return conditionNoct[tonumber(arg1)].Humidite
elseif info == "Meteo_Noct_CouvNuage" then
return conditionNoct[tonumber(arg1)].CouvNuage
elseif info == "Meteo_Noct_Rose" then
return conditionNoct[tonumber(arg1)].PointRosee
elseif info == "Meteo_Noct_Visibilite" then
return conditionNoct[tonumber(arg1)].Visibilite
elseif info == "Meteo_Noct_IconeM" then
return arg1.."/nuit/"..conditionNoct[tonumber(arg5)].Icone..".png"
elseif info == "Meteo_Noct_IconeV" then
return arg1.."/"..conditionNoct[tonumber(arg5)].VentIcone
--lunaison
elseif info == "Lune_ephemerides" then
return ephemerides
elseif info == "Lune_ephemerides1" then
return ephemerides1
elseif info == "Lune_ephemerides2" then
return ephemerides2
elseif info == "Lune_Visibilite" then
return Visibilite
elseif info == "Lune_Phases" then
return Phases
elseif info == "Lune_Phases1" then
return Phases1
elseif info == "Lune_Phases2" then
return Phases2
elseif info == "Lune_Noeudlunaire" then
return Noeud_lunaire
elseif info == "Lune_Apogee" then
return Apogee
elseif info == "Lune_Perigee" then
return Perigee
elseif info == "Lune_Distance" then
return Distance
elseif info == "Lune_Age" then
return Age
elseif info == "Lune_HLeverLune" then
return Lever_LuneHeure
elseif info == "Lune_MLeverLune" then
return Lever_LuneMinute
elseif info == "Lune_HCoucherLune" then
return Coucher_LuneHeure
elseif info == "Lune_MCoucherLune" then
return Coucher_LuneMinute
elseif info == "Lune_EclipsePartielle" then
return Eclipse_partielle
elseif info == "Lune_EclipseTotal" then
return Eclipse_total
elseif info == "Images_Barometre" then
return conky_Images_Barometre(arg1, arg2, arg3, arg4)
elseif info == "Images_Lunaison" then
return conky_Images_Lunaison(arg1, arg2, arg3, arg4)
elseif info == "Images_Thermo" then
return conky_Images_Thermo(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_ThermoRond" then
return conky_Images_ThermoRond(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)
elseif info == "Images_Rose" then
return conky_Images_Rose(arg1, arg2, arg3, arg4)
elseif info == "Images_Jour_Rose" then
return conky_Images_Jour_Rose(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Jour_RoseR" then
return conky_Images_Jour_RoseR(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Nuit_Rose" then
return conky_Images_Nuit_Rose(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Nuit_RoseR" then
return conky_Images_Nuit_RoseR(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Matin_Rose" then
return conky_Images_Matin_Rose(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_AM_Rose" then
return conky_Images_AM_Rose(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Soiree_Rose" then
return conky_Images_Soiree_Rose(arg1, arg2, arg3, arg4, arg5)
elseif info == "Images_Noct_Rose" then
return conky_Images_Noct_Rose(arg1, arg2, arg3, arg4, arg5)
else
return conky_parse( "${lua "..x.."}" )
end
end
creation modules :
# exemple de creation de module pour image-Meteo-Lua
# important ceci n'est pas un fichier bash vous devez le créer en simple fichier sans extension c'est image-Meteo-Lua
# qui vous créera le fichier bash et le lancera, pour vous créer l'image dans le rep temp de votre ville
########################################################################
# Modifiez si besoin est les références à vos répertoires
path=~/conky_Fond/Meteo-Lua
#-----------------------------------------------------
source $path/configs/images_meteo.cfg 2>/dev/null
source $path/configs/meteo.cfg 2>/dev/null
rep=`echo $web | cut -d / -f6-7`
repertimages=$TempShell/$rep
fondbase=$repsauv/fond-base.png
fondtravail=$repsauv/fond-travaille.png
imagetemp=$repertimages/$temp.png
nomdufichier="Données"
#-------------------------------------------------------
#Cartouche ---------------------------------------------------------
convert -resize 36% $IconesRep/Themes/JPDipsy/Metal/Cartouches/cartouche.png $repertimages/$nomdufichier.png
#ville
#convert -resize 36% $IconesRep/Themes/JPDipsy/Divers/ville.png $imagetemp
#composite -compose Over -gravity North -geometry +0+20 $imagetemp $repertimages/$nomdufichier.png $repertimages/$nomdufichier.png
fonte=Ubuntu-Bold
convert $repertimages/$nomdufichier.png -background transparent \
-gravity Northwest -font $fonte -pointsize 10 -fill yellow -annotate +20+4 "{{Meteo_latitude}}°N" \
-annotate +240+4 "{{Meteo_longitude}}°E" \
-gravity North -font Lobster-1.4-Regular -pointsize 36 -fill grey24 -annotate +0+5 "{{Meteo_Ville}}" \
-gravity North -font Lobster-1.4-Regular -pointsize 36 -fill yellow -annotate +1+4 "{{Meteo_Ville}}" \
-gravity North -font $fonte -pointsize 13 -fill grey24 -annotate -1+46 "{{Meteo_CondMeteo}}" \
-gravity North -font $fonte -pointsize 13 -fill goldenrod1 -annotate +0+45 "{{Meteo_CondMeteo}}" \
-gravity Northwest -font $fonte -pointsize 10 -fill black -annotate +78+63 "Couverture Nuageuse : " \
-font $fonte -pointsize 10 -fill blue -annotate +200+63 "{{Meteo_CouvNuage}} %" \
-font $fonte -pointsize 10 -fill black -annotate +58+75 "Proba. Pluie : " \
-annotate +170+75 "Qté (1H) : " \
-font $fonte -pointsize 10 -fill blue -annotate +125+75 "{{Meteo_Jour_ProbPrec 1}} %" \
-annotate +220+75 "{{Meteo_QPrec}} mm" \
-font $fonte -pointsize 10 -fill black -annotate +58+87 "Visibilité : " \
-annotate +170+87 "Indice UV : " \
-font $fonte -pointsize 10 -fill blue -annotate +115+87 "{{Meteo_Visibilite}} km" \
-annotate +225+87 "{{Meteo_Uv}} /11" \
-font $fonte -pointsize 10 -fill black -annotate +78+99 "Rafales de vent : " \
-font $fonte -pointsize 10 -fill blue -annotate +165+99 "{{Meteo_Jour_VentRafales 1}} km/h - "{{Meteo_Jour_VentDirP 1}} \
-gravity North -font $fonte -pointsize 14 -fill yellow -annotate +0+114 "Soirée" \
-gravity Northwest -font $fonte -pointsize 10 -fill white -annotate +58+130 "Proba. Pluie : " \
-annotate +170+130 "Qté (1H) : " \
-font $fonte -pointsize 10 -fill grey20 -annotate +125+130 "{{Meteo_Soiree_ProbPrec 1}} %" \
-annotate +220+130 "{{Meteo_Nuit_NivPrec 1}} mm" \
-font $fonte -pointsize 10 -fill white -annotate +80+142 "Vent" \
-annotate +190+142 "Rafales" \
-font $fonte -pointsize 10 -fill grey20 -annotate +60+154 "{{Meteo_Soiree_VentForce 1}} Km/h - "{{Meteo_Soiree_VentP 1}} \
-annotate +190+154 "{{Meteo_Nuit_VentRafales 1}} Km/h" \
-gravity Center -font $fonte -pointsize 14 -fill lightgreen -annotate +0+57 "Maxi/Mini du jour (2011)" \
-gravity Northwest -font $fonte -pointsize 13 -fill black -annotate +80+182 "{{Meteo_Jour_Temp 1}}°" \
-gravity Northwest -font $fonte -pointsize 12 -fill white -annotate +102+182 "/" \
-annotate +192+182 "/" \
-gravity Northwest -font $fonte -pointsize 13 -fill black -annotate +110+182 "{{Meteo_Nuit_Temp 1}}°" \
-gravity Northwest -font $fonte -pointsize 13 -fill lightblue -annotate +165+182 "({{Meteo_Histo_Max 1}}°" \
-gravity Northwest -font $fonte -pointsize 13 -fill lightblue -annotate +200+182 "{{Meteo_Histo_Min 1}}°)" \
-gravity Northwest -font $fonte -pointsize 10 -fill white -annotate +40+200 "Lever Soleil : {{Meteo_HLeverSoleil 1}}h{{Meteo_MLeverSoleil 1}}" \
-annotate +166+200 "Coucher Soleil : {{Meteo_HCoucherSoleil 1}}h{{Meteo_MCoucherSoleil 1}}" \
-gravity North -fill blue -annotate -18+217 "Mise à jour à : Version météo.lua : " \
-gravity Northwest -fill White -annotate +103+217 "{{Meteo_Heure}}h{{Meteo_Minute}}" \
-annotate +250+217 "{{Version}}" $repertimages/$nomdufichier.png
#----------------------------------------------------------------------------------------
# cartouche des prévisions --------------------------------------------------------------
#affichage jour
j1=`date --date '1 day' +%a`
j2=`date --date '2 day' +%a`
j3=`date --date '3 day' +%a`
j4=`date --date '4 day' +%a`
j5=`date --date '5 day' +%a`
cp $IconesRep/Themes/JPDipsy/Metal/Cartouches/vide.png $repertimages/CartPrev.png
convert $repertimages/CartPrev.png -background transparent -gravity North -font $fonte -pointsize 18 -fill yellow \
-annotate -186+50 $j1 -annotate -93+40 $j2 -annotate +0+30 $j3 -annotate +93+40 $j4 -annotate +186+50 $j5 \
-gravity North -font $fonte -pointsize 10 -fill red -annotate -186+152 "{{Meteo_Jour_ProbPrec 2}}%" \
-annotate -186+162 "{{Meteo_Nuit_ProbPrec 2}}%" \
-annotate -93+142 "{{Meteo_Jour_ProbPrec 3}}%" \
-annotate -93+152 "{{Meteo_Nuit_ProbPrec 3}}%" \
-annotate +0+132 "{{Meteo_Jour_ProbPrec 4}}%" \
-annotate +0+142 "{{Meteo_Nuit_ProbPrec 4}}%" \
-annotate +93+142 "{{Meteo_Jour_ProbPrec 5}}%" \
-annotate +93+152 "{{Meteo_Nuit_ProbPrec 5}}%" \
-annotate +186+152 "{{Meteo_Jour_ProbPrec 6}}%" \
-annotate +186+162 "{{Meteo_Nuit_ProbPrec 6}}%" \
-font $fonte -pointsize 16 -fill blue -annotate -186+130 "{{Meteo_Jour_Temp 2}}°/{{Meteo_Nuit_Temp 2}}°" -annotate -93+120 "{{Meteo_Jour_Temp 3}}°/{{Meteo_Nuit_Temp 3}}°" -annotate +0+110 "{{Meteo_Jour_Temp 4}}°/{{Meteo_Nuit_Temp 4}}°" -annotate +93+120 "{{Meteo_Jour_Temp 5}}°/{{Meteo_Nuit_Temp 5}}°" -annotate +186+130 "{{Meteo_Jour_Temp 6}}°/{{Meteo_Nuit_Temp 6}}°" \
$repertimages/CartPrev.png
#Affichage Visibilité Lune
convert /tmp/lune.png -background transparent -gravity North -font $fonte -pointsize 13 -fill blue -annotate +0+70 "Visible : {{Lune_Visibilite}} %" \
$repertimages /tmp/lune.png
#affich condition
#jour 1
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 2}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry -186+80 -composite $repertimages/CartPrev.png
#jour 2
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 3}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry -93+70 -composite $repertimages/CartPrev.png
#jour 3
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 4}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +0+60 -composite $repertimages/CartPrev.png
#jour 4
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 5}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +93+70 -composite $repertimages/CartPrev.png
#jour 5
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 6}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +186+80 -composite $repertimages/CartPrev.png
# pour jouer sur la transparence de l'icone réfléchie modifier la valeur de "multiply .35"
#----------------------------------------------------------------------------------------
# Creation des modules prédéfinis -------------------------------------------------------
# creation barometre
# "{{Images_Barometre 0,0 234x234 60 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# integr icone cond courante
convert -background transparent {{Meteo_IconeM $IconesRep 0,0 0x0 60}} -resize 50% $imagetemp
composite -compose Over -gravity Center -geometry +0+60 $imagetemp $repertimages/Barometre.png $repertimages/Barometre.png
# creation lune
# "{{Images_Lunaison 0,0 169x169 60 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# creation rose
# "{{Images_Rose 0,0 169x169 60 100}}"
#"{{Meteo_Jour %a_%d 2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents-bak}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents2 ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents}}"
# creation rose avec autre theme
# "{{Images_Jour_RoseR 0,0 112x112 60 1 100}}"
#"{{Meteo_Jour %a_%d 2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents-bak ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents}}"
# creation thermorond
# "{{Images_ThermoRond 0,0 234x234 60 1 100 -a=TempAct -v=TempRes -b=Nuit_Temp-1 -r=Jour_Temp-1}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# integr humid -> thermo
convert $repertimages/Thermorond1.png -background transparent \
-gravity Center -font $fonte -pointsize 16 -fill grey24 -annotate -44+1 "Min." \
-gravity Center -font $fonte -pointsize 16 -fill blue -annotate -45+0 "Min." \
-gravity Center -font $fonte -pointsize 16 -fill grey40 -annotate +46+1 "Max." \
-gravity Center -font $fonte -pointsize 16 -fill red -annotate +45+0 "Max." \
-gravity Center -font $fonte -pointsize 16 -fill green -annotate +0+27 "Res." \
-gravity Center -font $fonte -pointsize 14 -fill Blue -annotate +0+45 "Humidité : {{Meteo_Humidite}}%" $repertimages/Thermorond1.png
# creation rose rafales
# "{{Images_Jour_RoseR 0,0 112x112 60 1 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
convert -background transparent -font $fonte -pointsize 12 -fill Black label:'Rafales' -rotate 180 -distort Arc '100 180' $repertimages/rafales.png
composite -compose Over -gravity Center -geometry +0+30 $repertimages/rafales.png $repertimages/RoseJourR1.png $repertimages/RoseJourR1.png
Fond ori.sh : C'est là où se cache le fluxbox qui me retourne le message d'erreur
#!/bin/bash
path=`dirname $0`
source $path/../configs/images_meteo.cfg 2>/dev/null
source $path/../configs/meteo.cfg 2>/dev/null
rep=`echo $web | cut -d / -f6-7`
if [ -e $TempShell/$rep/pidfond ]; then
exit
fi
if [[ `ps aux | grep -e "[g]nome-settings-daemon" ` ]]; then
# gnome version
gnomeversion=`gnome-session --version | cut -c15-15`
environnement="gnome"
elif [[ `ps aux | grep -e "fluxbox" ` ]]; then
environnement="fluxbox"
fi
case $environnement in
gnome)
if [ $gnomeversion = 2 ]; then
fondactuel=`gconftool -g /desktop/gnome/background/picture_filename `
else
fondactuel=`gsettings get org.gnome.desktop.background picture-uri | sed s/.$// | cut -c9- `
fi
### tout premier lancement
if [ ! -e $path/fondori ]; then
# sauvegarde
if [ $1 = "sauvegarde" ];then
if [ $gnomeversion = 2 ]; then
gconftool -g /desktop/gnome/background/picture_filename $ path >$path/fondori
else
gsettings get org.gnome.desktop.background picture-uri >$path/fondori
fi
cp -f $fondactuel $repsauv/fond-base.png
cp -f $fondactuel $repsauv/fond-original.png
cp -f $fondactuel $repsauv/fond-travaille.png
touch $TempShell/$rep/pidfond
exit
fi
fi
#restauration
fondori=`cat $path/fondori`
if [ $gnomeversion = 2 ]; then
gconftool -s -t string /desktop/gnome/background/picture_filename $fondori
else
gsettings set org.gnome.desktop.background picture-uri $fondori
fi
touch $TempShell/$rep/pidfond
exit
;;
fluxbox)
echo $environnement
cat ~/.fluxbox/lastwallpaper | cut -d \| -f2
;;
esac
# ----------------------------------------------------------------------------------------------------------
+ les divers petits fichiers : integration, mise en forme, verif fond.sh
Et donc, maintenant ???
Si il existe une possibilité toute simple de récupérer mon fichier creation modules pour l'intégrer facilement dans ton nouveau package de scripts, je suis preneur également. Car cela m'a pris pas mal de temps pour réussir à arriver à faire ce que je voulais (2 roses des vents différentes, intégration de la lune...)
Le Petit Gourou remercie d'avance le Grand Gourou de bien vouloir plonger ses yeux dans ces lignes de script pour retrouver mon bureau tout comme avant
Dernière modification par Phyllinux (Le 25/06/2012, à 16:38)
The ship is sinking normally...
Hors ligne
#1043 Le 25/06/2012, à 17:13
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Si il existe une possibilité toute simple de récupérer mon fichier creation modules pour l'intégrer facilement dans ton nouveau package de scripts, je suis preneur également.
C'est pour çà que je te demande juste tes scripts "creation modules" et "mise_en_forme"que je te montre comment faire n'essaie pas de les faire fonctionner tel quel avec la nouvelle version de images-meteo il n'utilise plus que 2 scripts fond-gestion.sh (en place de fond.ori) et verif-fond.sh j'ai fait pas mal de corrections de bugs par rapport à la v1.
PS rien n'est perdu jusqu'à que tu l'efface !
Hors ligne
#1044 Le 25/06/2012, à 17:21
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Creation modules, je l'ai déjà mis sur le post précédent
mise en forme, le voilà :
#!/bin/bash
# Les données à éditer sont au minimum :
# -resize rester en pourcentage pour le ratio des images
# le choix des images à afficher
# le positionnement sur l'image ex : +10+40 10 pxl depuis bord gauche , 40 depuis le haut
# -gravity
#coin supérieur gauche (valeur par défaut) - Northwest
#coin supérieur droit - NorthEast
#coin inférieur gauche SouthWest
#coin inférieur droit SouthEast
#milieu du bord supérieur - North
#milieu du coté droit - East
#milieu du bord inférieur - South
#milieu du bord gauche- West
#centre - Center
# le choix des modules
# pour les possibilité de mise en forme quelques liens
#http://doc.ubuntu-fr.org/imagemagick#composite
#http://www.imagemagick.org/script/index.php
#http://www.imagemagick.org/Usage/
# pour le controle au moment de l'édition vous sauvegardez et clicquez sur votre fond original dans le gestionnaire de fond d'écran
path=`dirname $0`
source $path/../configs/images_meteo.cfg 2>/dev/null
source $path/../configs/meteo.cfg 2>/dev/null
rep=`echo $web | cut -d / -f6-7`
repertimages=$TempShell/$rep
fondbase=$repsauv/fond-base.png
fondtravail=$repsauv/fond-travaille.png
imagetemp=$TempShell/temp.png
# mise en forme image format écran
convert -resize $ecran! $repsauv/fond-base.png $repsauv/fond-base.png
##################################
# choix des modules à afficher
image1=Thermorond1
image2=Rose
image3=lune
image4=Barometre
image5=RoseJourR1
#################################
############ mise en forme ######
#Les modules tout prets affichables-----------------------------------------------------------------------
# important ---------- cette premiere image à transformer doit toujours etre : $fondbase $fondtravail
### ------------------------------------------------------------------------------------------------------
#Barometre
composite -compose Over -gravity NorthEast -geometry +360+25 $repertimages/$image4.png $fondbase $fondtravail
#lune
composite -compose Over -gravity NorthEast -geometry +235+195 $repertimages/$image3.png $fondtravail $fondtravail
#Thermorond1
composite -compose Over -gravity Northwest -geometry +360+25 $repertimages/$image1.png $fondtravail $fondtravail
#Rose
composite -compose Over -gravity Northwest -geometry +235+195 $repertimages/$image2.png $fondtravail $fondtravail
#RoseR
composite -compose Over -gravity Northwest -geometry +390+300 $repertimages/$image5.png $fondtravail $fondtravail
#------------------------------------------Mise en forme Cartouches ---------------------------------------------------
########## integration cartouche données
composite -compose Over -gravity North -geometry +0+28 $repertimages/Données.png $fondtravail $fondtravail
#---------------------------------------------------------------------------------------------------------------------------
########## integration cartouche prév
composite -compose Over -gravity Center -geometry +0-85 $repertimages/CartPrev.png $fondtravail $fondtravail
#---------------------------------------------------------------------------------------------------------------------------
########## integration lune
convert -resize 75% /tmp/lune.png fichiertemp.png
composite -compose Over -gravity NorthEast -geometry +390+300 fichiertemp.png $fondtravail $fondtravail
#---------------------------------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------------------------------
# sauvegarde et intégration
$path/integration.sh
Une fois que celui ci tournera correctement, je me pencherai sur les nouveaux scripts, pour essayer d'y intégrer mes modules préférés
The ship is sinking normally...
Hors ligne
#1045 Le 25/06/2012, à 17:43
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
- jpdipsy -
je dois avoir déréglé quelque chose, le conky météo ne démarre plus depuis mon bidouillage de la swap.
C'est qu'ils seraient délicats les scripts de chez conky─( enebre ) - ( 3.4.3-030403-generic ) - ( ~ ) └─> Conky: desktop window (e00003) is subwindow of root window (282) Conky: window type - override Conky: drawing to created window (0x4600001) Conky: drawing to double buffer version = v4.1 web = http://www.accuweather.com/fr/be/vielsalm/29360/weather-forecast/29360 Pévision Nb jours = 6 Pévision Matin = non Pévision Après Midi = non Pévision Soirée = oui Pévision Nuit = oui Délais = 900 Chemin de travail = /tmp/utilisateur-meteo Palier = 10 Chemin de sauvegarde = /home/enebre/conky/Meteo-Lua/sauvegardes/belfort/ Mode = fondinactif creationmodule = creationmodules-fondinactif.sh sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied Conky: Unable to load image '/tmp/image-meteo-Belfort.png' Mode = fondinactif creationmodule = creationmodules-fondinactif.sh sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied
A mon avis tu as changé d'utilisateur en copiant tous le bousin de l'un vers l'autre c'est la petite lacune de météo-lua (il faut que j'en discute avec Didier) c'est pour ça que je met la variable TempShell=/tmp/utilisateur-meteo et que je fait creer le rep par
# permet d'utiliser plusieurs utilisateurs #
if [ ! -d $TempShell ]; then
mkdir $TempShell
fi
dans le script qui lance le conky.
Le plus simple serait que meteo-lua crée lui-même le rep (Didier on en discute ?)
Pour ce qui t'occupe si tu utilises plusieurs utilisateurs dans chaque meteo.cfg à la variable TempShell=/tmp/ un nom différent par utilisateur
exemples :
/tmp/moi-meteo pour un
/tmp/monpapa-meteo pour l'autre
/tmp/invité-meteo etc ....
si tu es coincé arrête le conky qui lance fondinactif efface le rep /tmp/utilisateur-meteo et relance ça devrait refonctionner
Hors ligne
#1046 Le 25/06/2012, à 20:49
- enebre
Re : [Conky] Alternative à weather.com (2)
- jpdipsy -
Merci pour ta réponse, malgré tout j'obtiens encore le même résultat
sh: 1: cd: can't cd to /tmp/utilisateur-meteo/vielsalm/29360
Mode = fondinactif
creationmodule = creationmodules-fondinactif.sh
sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied
Conky: Unable to load image '/tmp/image-meteo-Belfort.png'
Pourrais-je faire un dossier dans le home à la place de /tmp/xxx-meteo
, pour contourner le problème de droit ?
J'ai essayé le pack Conky Fondecran, mais la aussi j'arrive à rien.
Bon tant pis c'est de ma faute, le dossier /tmp est fu.ké avec ma conn...rie.
C'en est fini pour moi à faire joujou avec les conkys qui utilise /tmp.
Hors ligne
#1047 Le 26/06/2012, à 09:50
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
- jpdipsy -
Merci pour ta réponse, malgré tout j'obtiens encore le même résultatsh: 1: cd: can't cd to /tmp/utilisateur-meteo/vielsalm/29360 Mode = fondinactif creationmodule = creationmodules-fondinactif.sh sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied Conky: Unable to load image '/tmp/image-meteo-Belfort.png'
Pourrais-je faire un dossier dans le home à la place de /tmp/xxx-meteo
, pour contourner le problème de droit ?
J'ai essayé le pack Conky Fondecran, mais la aussi j'arrive à rien.
Bon tant pis c'est de ma faute, le dossier /tmp est fu.ké avec ma conn...rie.
C'en est fini pour moi à faire joujou avec les conkys qui utilise /tmp.
Hello
On reprend depuis le début.
Le changement de vm.swappiness=10 n'a pu en rien faire que çà déc.... cela ne sert qu'à déterminer le seuil d'utilisation de la swap.
Pour "accélérer" un peu les choses on utilise tmpfs pour /tmp Ubuntu et Voyager ne l'utilise pas par défaut pour /tmp
Pour ce faire on ajoute dans /etc/fstab tmpfs /tmp tmpfs defaults 0 0
Au prochain redémarrage /tmp sera "monté" dans une partie de ta mémoire de façon dynamique .
- avantages : moins de fichiers sur le disque,moins d'accès disque , accès plus rapide , éffacement des données à chaque reboot.
- désavantages : pour les petites config c'est de la mémoire en moins, éffacement des données à chaque reboot (si tu y avait mis des fichiers sur lequel tu travaillais par exemple)
Voilà pour le /tmp/ moi j'utilise tmpfs.
Pour ton histoire dans un terminal
ls -l /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh devrait te dire à qui appartient le fichier
donc envoie le résultat de cette commande après avoir.
1- arrêté le conky
2- effacé le rep. /tmp/utilisateur-meteo
3-relancé le conky
Ps : désolé hier j'était pas dispo
Hors ligne
#1048 Le 26/06/2012, à 10:31
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Phyllinux
Voilà ton creationmodules-graphique.
# creationmodules-graphique
########################################################################
# Modifiez si besoin est les références à vos répertoires
cheminref=~/conky_Fond/Meteo-Lua # Modifiez si besoin les références à votre rep conky
fichierdeconfig=images_meteo.cfg # votre fichier de config
#-----------------------------------------------------
source $cheminref/configs/$fichierdeconfig 2>/dev/null
source $cheminref/configs/meteo.cfg 2>/dev/null
repville=`echo $web | cut -d / -f6-7`
repertimages=$TempShell/$repville
fondbase=$repsauv/fond-base.png
fondtravail=$repsauv/fond-travaille.png
imagetemp=$repertimages/$temp.png
imagetemp1=$repertimages/temp1.png
nomdufichier="Données"
#-------------------------------------------------------
#Cartouche ---------------------------------------------------------
convert -resize 36% $IconesRep/Themes/JPDipsy/Metal/Cartouches/cartouche.png $repertimages/$nomdufichier.png
#ville
#convert -resize 36% $IconesRep/Themes/JPDipsy/Divers/ville.png $imagetemp
#composite -compose Over -gravity North -geometry +0+20 $imagetemp $repertimages/$nomdufichier.png $repertimages/$nomdufichier.png
fonte=Ubuntu-Bold
convert $repertimages/$nomdufichier.png -background transparent \
-gravity Northwest -font $fonte -pointsize 10 -fill yellow -annotate +20+4 "{{Meteo_latitude}}°N" \
-annotate +240+4 "{{Meteo_longitude}}°E" \
-gravity North -font Lobster-1.4-Regular -pointsize 36 -fill grey24 -annotate +0+5 "{{Meteo_Ville}}" \
-gravity North -font Lobster-1.4-Regular -pointsize 36 -fill yellow -annotate +1+4 "{{Meteo_Ville}}" \
-gravity North -font $fonte -pointsize 13 -fill grey24 -annotate -1+46 "{{Meteo_CondMeteo}}" \
-gravity North -font $fonte -pointsize 13 -fill goldenrod1 -annotate +0+45 "{{Meteo_CondMeteo}}" \
-gravity Northwest -font $fonte -pointsize 10 -fill black -annotate +78+63 "Couverture Nuageuse : " \
-font $fonte -pointsize 10 -fill blue -annotate +200+63 "{{Meteo_CouvNuage}} %" \
-font $fonte -pointsize 10 -fill black -annotate +58+75 "Proba. Pluie : " \
-annotate +170+75 "Qté (1H) : " \
-font $fonte -pointsize 10 -fill blue -annotate +125+75 "{{Meteo_Jour_ProbPrec 1}} %" \
-annotate +220+75 "{{Meteo_QPrec}} mm" \
-font $fonte -pointsize 10 -fill black -annotate +58+87 "Visibilité : " \
-annotate +170+87 "Indice UV : " \
-font $fonte -pointsize 10 -fill blue -annotate +115+87 "{{Meteo_Visibilite}} km" \
-annotate +225+87 "{{Meteo_Uv}} /11" \
-font $fonte -pointsize 10 -fill black -annotate +78+99 "Rafales de vent : " \
-font $fonte -pointsize 10 -fill blue -annotate +165+99 "{{Meteo_Jour_VentRafales 1}} km/h - "{{Meteo_Jour_VentDirP 1}} \
-gravity North -font $fonte -pointsize 14 -fill yellow -annotate +0+114 "Soirée" \
-gravity Northwest -font $fonte -pointsize 10 -fill white -annotate +58+130 "Proba. Pluie : " \
-annotate +170+130 "Qté (1H) : " \
-font $fonte -pointsize 10 -fill grey20 -annotate +125+130 "{{Meteo_Soiree_ProbPrec 1}} %" \
-annotate +220+130 "{{Meteo_Nuit_NivPrec 1}} mm" \
-font $fonte -pointsize 10 -fill white -annotate +80+142 "Vent" \
-annotate +190+142 "Rafales" \
-font $fonte -pointsize 10 -fill grey20 -annotate +60+154 "{{Meteo_Soiree_VentForce 1}} Km/h - "{{Meteo_Soiree_VentP 1}} \
-annotate +190+154 "{{Meteo_Nuit_VentRafales 1}} Km/h" \
-gravity Center -font $fonte -pointsize 14 -fill lightgreen -annotate +0+57 "Maxi/Mini du jour (2011)" \
-gravity Northwest -font $fonte -pointsize 13 -fill black -annotate +80+182 "{{Meteo_Jour_Temp 1}}°" \
-gravity Northwest -font $fonte -pointsize 12 -fill white -annotate +102+182 "/" \
-annotate +192+182 "/" \
-gravity Northwest -font $fonte -pointsize 13 -fill black -annotate +110+182 "{{Meteo_Nuit_Temp 1}}°" \
-gravity Northwest -font $fonte -pointsize 13 -fill lightblue -annotate +165+182 "({{Meteo_Histo_Max 1}}°" \
-gravity Northwest -font $fonte -pointsize 13 -fill lightblue -annotate +200+182 "{{Meteo_Histo_Min 1}}°)" \
-gravity Northwest -font $fonte -pointsize 10 -fill white -annotate +40+200 "Lever Soleil : {{Meteo_HLeverSoleil 1}}h{{Meteo_MLeverSoleil 1}}" \
-annotate +166+200 "Coucher Soleil : {{Meteo_HCoucherSoleil 1}}h{{Meteo_MCoucherSoleil 1}}" \
-gravity North -fill blue -annotate -18+217 "Mise à jour à : Version météo.lua : " \
-gravity Northwest -fill White -annotate +103+217 "{{Meteo_Heure}}h{{Meteo_Minute}}" \
-annotate +250+217 "{{Version}}" $repertimages/$nomdufichier.png
#----------------------------------------------------------------------------------------
# cartouche des prévisions --------------------------------------------------------------
#affichage jour
j1=`date --date '1 day' +%a`
j2=`date --date '2 day' +%a`
j3=`date --date '3 day' +%a`
j4=`date --date '4 day' +%a`
j5=`date --date '5 day' +%a`
cp $IconesRep/Themes/JPDipsy/Metal/Cartouches/vide.png $repertimages/CartPrev.png
convert $repertimages/CartPrev.png -background transparent -gravity North -font $fonte -pointsize 18 -fill yellow \
-annotate -186+50 $j1 -annotate -93+40 $j2 -annotate +0+30 $j3 -annotate +93+40 $j4 -annotate +186+50 $j5 \
-gravity North -font $fonte -pointsize 10 -fill red -annotate -186+152 "{{Meteo_Jour_ProbPrec 2}}%" \
-annotate -186+162 "{{Meteo_Nuit_ProbPrec 2}}%" \
-annotate -93+142 "{{Meteo_Jour_ProbPrec 3}}%" \
-annotate -93+152 "{{Meteo_Nuit_ProbPrec 3}}%" \
-annotate +0+132 "{{Meteo_Jour_ProbPrec 4}}%" \
-annotate +0+142 "{{Meteo_Nuit_ProbPrec 4}}%" \
-annotate +93+142 "{{Meteo_Jour_ProbPrec 5}}%" \
-annotate +93+152 "{{Meteo_Nuit_ProbPrec 5}}%" \
-annotate +186+152 "{{Meteo_Jour_ProbPrec 6}}%" \
-annotate +186+162 "{{Meteo_Nuit_ProbPrec 6}}%" \
-font $fonte -pointsize 16 -fill blue -annotate -186+130 "{{Meteo_Jour_Temp 2}}°/{{Meteo_Nuit_Temp 2}}°" -annotate -93+120 "{{Meteo_Jour_Temp 3}}°/{{Meteo_Nuit_Temp 3}}°" -annotate +0+110 "{{Meteo_Jour_Temp 4}}°/{{Meteo_Nuit_Temp 4}}°" -annotate +93+120 "{{Meteo_Jour_Temp 5}}°/{{Meteo_Nuit_Temp 5}}°" -annotate +186+130 "{{Meteo_Jour_Temp 6}}°/{{Meteo_Nuit_Temp 6}}°" \
$repertimages/CartPrev.png
#Affichage Visibilité Lune
convert /tmp/lune.png -background transparent -gravity North -font $fonte -pointsize 13 -fill blue -annotate +0+70 "Visible : {{Lune_Visibilite}} %" \
$repertimages /tmp/lune.png
#affich condition
#jour 1
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 2}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry -186+80 -composite $repertimages/CartPrev.png
#jour 2
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 3}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry -93+70 -composite $repertimages/CartPrev.png
#jour 3
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 4}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +0+60 -composite $repertimages/CartPrev.png
#jour 4
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 5}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +93+70 -composite $repertimages/CartPrev.png
#jour 5
convert -background transparent -gravity North {{Meteo_Jour_IconeM $IconesRep 0,0 0x0 60 6}} -resize 36% $imagetemp
convert $imagetemp -alpha on \( +clone -flip -channel A -evaluate multiply .35 +channel \) -append $repertimages/CartPrev.png +swap -gravity North -geometry +186+80 -composite $repertimages/CartPrev.png
# pour jouer sur la transparence de l'icone réfléchie modifier la valeur de "multiply .35"
#----------------------------------------------------------------------------------------
# Creation des modules prédéfinis -------------------------------------------------------
# creation barometre
# "{{Images_Barometre 0,0 234x234 60 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# integr icone cond courante
convert -background transparent {{Meteo_IconeM $IconesRep 0,0 0x0 60}} -resize 50% $imagetemp
composite -compose Over -gravity Center -geometry +0+60 $imagetemp $repertimages/Barometre.png $repertimages/Barometre.png
# creation lune
# "{{Images_Lunaison 0,0 169x169 60 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# creation rose
# "{{Images_Rose 0,0 169x169 60 100}}"
#"{{Meteo_Jour %a_%d 2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents-bak}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents2 ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents}}"
# creation rose avec autre theme
# "{{Images_Jour_RoseR 0,0 112x112 60 1 100}}"
#"{{Meteo_Jour %a_%d 2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents2}${exec mv ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents-bak ~/conky_Fond/Meteo-Lua/icones/Themes/JPDipsy/Metal/Rose-des-vents}}"
# creation thermorond
# "{{Images_ThermoRond 0,0 234x234 60 1 100 -a=TempAct -v=TempRes -b=Nuit_Temp-1 -r=Jour_Temp-1}}" laissez le commentaire du début sinon bash essaierea d'interpreter
# integr humid -> thermo
convert $repertimages/Thermorond1.png -background transparent \
-gravity Center -font $fonte -pointsize 16 -fill grey24 -annotate -44+1 "Min." \
-gravity Center -font $fonte -pointsize 16 -fill blue -annotate -45+0 "Min." \
-gravity Center -font $fonte -pointsize 16 -fill grey40 -annotate +46+1 "Max." \
-gravity Center -font $fonte -pointsize 16 -fill red -annotate +45+0 "Max." \
-gravity Center -font $fonte -pointsize 16 -fill green -annotate +0+27 "Res." \
-gravity Center -font $fonte -pointsize 14 -fill Blue -annotate +0+45 "Humidité : {{Meteo_Humidite}}%" $repertimages/Thermorond1.png
# creation rose rafales
# "{{Images_Jour_RoseR 0,0 112x112 60 1 100}}" laissez le commentaire du début sinon bash essaierea d'interpreter
convert -background transparent -font $fonte -pointsize 12 -fill Black label:'Rafales' -rotate 180 -distort Arc '100 180' $repertimages/rafales.png
composite -compose Over -gravity Center -geometry +0+30 $repertimages/rafales.png $repertimages/RoseJourR1.png $repertimages/RoseJourR1.png
# mise en forme image format écran
convert -resize $ecran! $repsauv/fond-base.png $repsauv/fond-base.png
##################################
# choix des modules à afficher
image1=Thermorond1
image2=Rose
image3=lune
image4=Barometre
image5=RoseJourR1
#################################
############ mise en forme ######
#Les modules tout prets affichables-----------------------------------------------------------------------
# important ---------- cette premiere image à transformer doit toujours etre : $fondbase $fondtravail
### ------------------------------------------------------------------------------------------------------
#Barometre
composite -compose Over -gravity NorthEast -geometry +360+25 $repertimages/$image4.png $fondbase $fondtravail
#lune
composite -compose Over -gravity NorthEast -geometry +235+195 $repertimages/$image3.png $fondtravail $fondtravail
#Thermorond1
composite -compose Over -gravity Northwest -geometry +360+25 $repertimages/$image1.png $fondtravail $fondtravail
#Rose
composite -compose Over -gravity Northwest -geometry +235+195 $repertimages/$image2.png $fondtravail $fondtravail
#RoseR
composite -compose Over -gravity Northwest -geometry +390+300 $repertimages/$image5.png $fondtravail $fondtravail
#------------------------------------------Mise en forme Cartouches ---------------------------------------------------
########## integration cartouche données
composite -compose Over -gravity North -geometry +0+28 $repertimages/Données.png $fondtravail $fondtravail
#---------------------------------------------------------------------------------------------------------------------------
########## integration cartouche prév
composite -compose Over -gravity Center -geometry +0-85 $repertimages/CartPrev.png $fondtravail $fondtravail
#---------------------------------------------------------------------------------------------------------------------------
########## integration lune
convert -resize 75% /tmp/lune.png fichiertemp.png
composite -compose Over -gravity NorthEast -geometry +390+300 fichiertemp.png $fondtravail $fondtravail
explications:
########################################################################
# Modifiez si besoin est les références à vos répertoires
cheminref=~/conky_Fond/Meteo-Lua #le chemin que tu utilises semble t'il
fichierdeconfig=images_meteo.cfg # pour reprendre tes configs
tu sauvegarde dans /Meteo-Lua/scripts/Modules-creation/creationmodules-graphique (renomme celui de demo avant)
adapte tes fichiers de cfg. (regarde ceux de demo)
Pour xplanetfx le conky à lancer est le même avec adaptation des chemins et fichiers
pour la verif du fond xplanetfx à "script à lancer après" ne gère pas le passage de variable à un script semble t'il donc on créer un script rendu exec. fond_meteo.sh par ex. on y met (pour toi)
#!/bin/bash
~/conky_Fond/Meteo-Lua/scripts/verif_fond.sh creationmodules-graphique
tu le met ou tu veux et dans "script à lancer après" tu mets /ousetrouvelescript/fond_meteo.sh
Voilà
Hors ligne
#1049 Le 26/06/2012, à 10:39
- enebre
Re : [Conky] Alternative à weather.com (2)
- jpdipsy - bonjour,
Pas de soucis pour hier.
J'ai retéléchargé l'archive pour être certain et l'ai relancé dans un terminal : ça donne ceci :
┌─( enebre ) - ( 3.4.3-030403-generic ) - ( ~ )
└─> killall conky
┌─( enebre ) - ( 3.4.3-030403-generic ) - ( ~ )
└─> sh -c /home/enebre/conky/meteo-mode-fondinactif.sh
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-i0tGMA/pkcs11: No such file or directory
Conky: /home/enebre/conky/Meteo-Lua/scripts/conky_fondinactif: 7: config file error
Conky: forked to background, pid is 20756
┌─( enebre ) - ( 3.4.3-030403-generic ) - ( ~ )
└─>
Conky: desktop window (1000003) is subwindow of root window (282)
Conky: window type - normal
Conky: drawing to created window (0x1600001)
Conky: drawing to double buffer
version = v4.1
web = http://www.accuweather.com/fr/be/vielsalm/29360/weather-forecast/29360
Pévision Nb jours = 6
Pévision Matin = non
Pévision Après Midi = non
Pévision Soirée = oui
Pévision Nuit = oui
Délais = 900
Chemin de travail = /tmp/utilisateur-meteo
Palier = 10
Chemin de sauvegarde = /home/enebre/conky/Meteo-Lua/sauvegardes/belfort/
Mode = fondinactif
creationmodule = creationmodules-fondinactif.sh
sh: 1: /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh: Permission denied
Conky: Unable to load image '/tmp/image-meteo-Belfort.png'
la commande demandée me renvoie ceci :
ls -l /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh
-rwxrwxr-x 1 enebre enebre 14845 juin 26 11:35 /tmp/utilisateur-meteo/vielsalm/29360/creationmodules-fondinactif.sh
la partie de mon fstab pour tmpfs afin de vérifier si l'erreur est là
# Move /tmp to RAM
tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
Dernière modification par enebre (Le 26/06/2012, à 11:17)
Hors ligne
#1050 Le 26/06/2012, à 12:34
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Le problème est un peu évoqué ici (post#2) : gnome keyring...
Au lieu de le désactiver au démarrage je l'ai activé dans le menu des préférence de programmes aux démarrage dans xfce, onglet avancé(je crois que c'est la derniere ligne)et comme j'ai une session openbox dans l'autostart j'ai mis :/usr/bin/gnome-keyring-daemon --start --components=pkcs11 &
J'ai maintenant plus d'erreur dans le terminal.
Peut-être cela pourra t'aiguiller.;)
Merci,
J'ai donc essayé d'activer, dans Session et Démarrage, en Démarrage Automatique :'Stockage des certificats et des clés (Trousseau de clé GNOME:composant PKCS#11)'
Et cela roule : Plus d'erreur en terminal au lancement de conky, et plus de demande de saisir mon mot de passe au lancement de Chromium
The ship is sinking normally...
Hors ligne