Vos Conky
Postez ici vos conkys ou des petits bouts et demandes d'aide.
Discussions Libres

Guygoye Membre non connecté
-
- Voir le profil du membre Guygoye
- Inscrit le : 25/10/2018
- Groupes :
-
Modérateur
-
Forgeron
Reprise du message précédent
Après plusieurs essais, cette commande :{battery_percent}
Ne fonctionne pas sur mon PC:
Code BASH :
conky: can't open /proc/acpi/battery/BAT0/state: Aucun fichier ou dossier de ce type
En effet dans le répertoire proc/acpi, je n'ai pas de repertoire "battery" je ne sais pas comment est monitoré ma batterie.
J'ai essayé les différentes commandes proposée dans conky pour vérifier le niveau (sans en avoir oublié je pense) mais rien ne fonctionne.

loutch Membre non connecté
-
- Voir le profil du membre loutch
- Inscrit le : 07/07/2010
- Groupes :

c'est ça (si fonctionne pas remplace 0 par 1)
Code TEXT :
{battery_percent BAT0}
peut-être dans
Code TEXT :
sys/class/power_supply/

Édité par loutch Le 04/08/2019 à 09h31
Linuxmint 24.02 Xia - Mageia 9 xfce et plasma sur ssd sur HP Pavilion g7
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
En gros :
cat /sys/class/power_supply/BAT0/capacity
affiche directement le pourcentage.
Tu as aussi :
energy_full
energy_full_design
energy_now
qui sont :
la capacité actuelle de la baterie en mAh
la capacité d'origine en mAh
la quantité actuelle d'énergie en mAh.
En gros, si tu fait energy_now/energy_full*100 tu as le résultat identique au fichier capacity. Tu coup, tu peux connaitre l'état de ta baterie (usée ou bonne) pareil :
energy_full/energy_full_design*100
Enfin, en tenant compte des conversions vers des entiers, il faut plutot :
energy_full*100/energy_full_design
Par exemple :
Code BASH :
echo $(( $(cat ./energy_full)*100/$(cat ./energy_full_design) ))
Et si on n'aime pas faire les calcules à Bash, si par exemple on préfère bc :
Code BASH :
echo "$(cat ./energy_full)*100/$(cat ./energy_full_design)" | bc
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Guygoye Membre non connecté
-
- Voir le profil du membre Guygoye
- Inscrit le : 25/10/2018
- Groupes :
-
Modérateur
-
Forgeron
C'est le bon répertoire.
Jybz :
/sys/class/power_supply/BAT0/capacity <= ce fichier est autogénéré et a la capacité en chaine de caractère en pourcentage.
En gros :
cat /sys/class/power_supply/BAT0/capacity
En gros :
cat /sys/class/power_supply/BAT0/capacity
Je ne savais pas que tu pouvais incorporer du bash dans ton affichage Conky,si je comprends bien si tu ne trouve pas ce que tu veux tu peux aussi te faire un script pour que Conky affiche la donnée.
Plus ça vient plus je me dis qu'il faut que je me mette à Bash, ne serait ce que pour faire des scripts tout simple!

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Guygoye :
Je ne savais pas que tu pouvais incorporer du bash dans ton affichage Conky,si je comprends bien si tu ne trouve pas ce que tu veux tu peux aussi te faire un script pour que Conky affiche la donnée.
Ouh là non ! Désolé ! Je ne connais pas les syntaxes des Conkies ! Cela dit, je me dis que "si on peut le faire en Bash, alors on peut le faire partout." Donc je suppose qu'il est possible de le faire sur vos conkies, mais je ne sais pas comment. J'ai montré la méthode en bash, à vous de la transposer en version Conky

Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
http://www.ifxgroup.net/conky.htm#head
Code TEXT :
head logfile lines [next_check] Displays first N lines of supplied text file. The file is checked every "next_check" update. If next_check is not supplied, Conky defaults to 2. Max of 30 lines can be displayed, or until the text_buffer_size is filled. See ${tail} for end of file. ${head ~/sample.log 5 3}
Donc j'imagine que ${head /sys/class/power_supply/BAT0/capacity 1} doit afficher directement le % de la batterie. Donc potentiellement son état.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
https://www.linuxquestions.org/questions/linux-software-2/conky-configuration-question-841136/#post4144233
Citation :
Ok I solved the problem. For those who have the same issue they can use these lines for inspiration, anyway I can help if it's needed.
Code:
${color grey}NTFS HDD ${color 115199} ${exec df -H|awk '/mnt/ {avail += $4; size += $2; used += $3} END {print int(avail*100/size)"%"" "used"GiB"" " "of" " "size"GiB"}'}
${color}${execbar exec df -H|awk '/mnt/ {avail += $4; size += $2} END {print int(avail*100/size)}'}
Now I can see all my NTFS partitions as a whole in conky, and if there are any sugestions about that audio spectrum analyzer pls don't be shy 8-)). Using the lines I've provided assuming you keep your NTFS partitions in /mnt folder you should end up with something like this
Code:
${color grey}NTFS HDD ${color 115199} ${exec df -H|awk '/mnt/ {avail += $4; size += $2; used += $3} END {print int(avail*100/size)"%"" "used"GiB"" " "of" " "size"GiB"}'}
${color}${execbar exec df -H|awk '/mnt/ {avail += $4; size += $2} END {print int(avail*100/size)}'}
Now I can see all my NTFS partitions as a whole in conky, and if there are any sugestions about that audio spectrum analyzer pls don't be shy 8-)). Using the lines I've provided assuming you keep your NTFS partitions in /mnt folder you should end up with something like this
Je ne sais pas si "exec" est nécessaire, j'ai l'impression que le système est capable d'exécuter n'importe quelle commande shell.
Si quelqu'un peut essayer ces quelques variantes :
Code TEXT :
${color grey}BatLife : ${color 115199} ${echo ${cat /sys/class/power_supply/BAT0/energy_full}*100/${cat /sys/class/power_supply/BAT0/energy_full_design} | bc }
Code TEXT :
${color grey}BatLife : ${color 115199} ${${echo ${cat /sys/class/power_supply/BAT0/energy_full}*100/${cat /sys/class/power_supply/BAT0/energy_full_design}} | ${bc} }
Code TEXT :
${color grey}BatLife : ${color 115199} ${sh 'echo "$(cat /sys/class/power_supply/BAT0/energy_full)*100/$(cat /sys/class/power_supply/BAT0/energy_full_design)" | bc' }
Code TEXT :
${color grey}BatLife : ${color 115199} ${exec sh 'echo "$(cat /sys/class/power_supply/BAT0/energy_full)*100/$(cat /sys/class/power_supply/BAT0/energy_full_design)" | bc' | head }
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Guygoye Membre non connecté
-
- Voir le profil du membre Guygoye
- Inscrit le : 25/10/2018
- Groupes :
-
Modérateur
-
Forgeron
Maintenant je vais essayer d'attaquer la météo !
Je voudrais faire un truc comme Fabulous, j'aime bien ce qu'il a fait !

loutch Membre non connecté
-
- Voir le profil du membre loutch
- Inscrit le : 07/07/2010
- Groupes :
un de mes vieux ensemble de conky mis en version 1.10
pas de lecteurs jouant

avec audacious

avec radiotray-ng

conkyrcs
time & weather
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Liberation Sans:size=9',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
--own_window_color 000000
own_window_argb_visual = true,
--own_window_argb_value = 250,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 470, minimum_height = 170,
maximum_width = 470,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_right',
gap_x = 30,
gap_y = 10,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',--ffd579
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/.conky/lua/image.lua',
};
conky.text = [[
${execi 180 bash $HOME/1_accuweather/1_accuweather -f}
${font Liberation Sans:size=26}${alignc 20}${time %a %d %b %H:%M}${font}
${goto 70}----------------------------------------------------------------------------
${goto 30}Aujourdh'ui ${goto 110}demain\
${goto 190}${execi 3600 echo `date --date="2 day" | awk '{print $1}' | cut -c1-3`}.${execi 3600 echo `date --date="2 day" | awk '{print $2}'`}\
${goto 270}${execi 3600 echo `date --date="3 day" | awk '{print $1}' | cut -c1-3`}.${execi 3600 echo `date --date="3 day" | awk '{print $2}'`}${voffset -14}
${goto 360}${execi 3600 echo `date --date="4 day" | awk '{print $1}' | cut -c1-3`}.${execi 3600 echo `date --date="4 day" | awk '{print $2}'`}
${font conkyweather:size=30}${voffset -30}
${goto 40}${execi 600 sed -n '601p' $HOME/1_accuweather/daily_forecast}\
${goto 110}${execi 600 sed -n '602p' $HOME/1_accuweather/daily_forecast}\
${goto 190}${execi 600 sed -n '603p' $HOME/1_accuweather/daily_forecast}\
${goto 270}${execi 600 sed -n '604p' $HOME/1_accuweather/daily_forecast}\
${goto 360}${execi 600 sed -n '605p' $HOME/1_accuweather/daily_forecast}${font}
${goto 40}${texeci 600 sed -n '68p' $HOME/1_accuweather/daily_forecast}°/${texeci 600 sed -n '47p' $HOME/1_accuweather/daily_forecast}°\
${goto 110}${texeci 600 sed -n '108p' $HOME/1_accuweather/daily_forecast}°/${texeci 600 sed -n '87p' $HOME/1_accuweather/daily_forecast}°\
${goto 190}${texeci 600 sed -n '148p' $HOME/1_accuweather/daily_forecast}°/${texeci 600 sed -n '127p' $HOME/1_accuweather/daily_forecast}°\
${goto 270}${texeci 600 sed -n '188p' $HOME/1_accuweather/daily_forecast}°/${texeci 600 sed -n '167p' $HOME/1_accuweather/daily_forecast}°\
${goto 360}${texeci 600 sed -n '228p' $HOME/1_accuweather/daily_forecast}°/${texeci 600 sed -n '207p' $HOME/1_accuweather/daily_forecast}°\
${lua fDrawImage ~/.conky/diamond/pix/bg1.png 0 0 440 180 }
]];
cpu
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Liberation Sans:size=9',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
--own_window_color 000000
own_window_argb_visual = true,
--own_window_argb_value = 250,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 470, minimum_height = 280,
maximum_width = 470,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_right',
gap_x = 00,
gap_y = 210,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',--ffd579
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/.conky/lua/image.lua',
};
conky.text = [[
${voffset 30}${offset 50}Cpu1:${color DDF2FF} ${offset 3}${cpu cpu1}%${alignr 90}${voffset -5}${color #DBDBDB}${cpugraph cpu1 20,240 f1f1f1 DBDBDB}${color}
${voffset -3}${offset 50}CPU Step: ${alignr 80}${color DDF2FF}${freq_g} GHz${color}
${voffset 12}${offset 50}Cpu2:${color DDF2FF} ${offset 3}${cpu cpu2}%${alignr 90}${voffset -9}${color #DDF2FF}${cpugraph cpu2 20,240 f1f1f1 DBDBDB}${color}
${voffset -5}${alignc 10}---------------------------------------------------------------------------------
${voffset 15}${offset 50}RAM: ${alignr 80} $mem/${color #DDF2FF}$memmax${color}
${offset 50}${color #DDF2FF}${membar 5,340}${color}
${offset 50}Swap: ${alignr 80} $swap / ${color #DDF2FF}$swapmax${color}
${offset 50}${color #DDF2FF}${swapbar 5,340}${color}
${offset 50}ROOT:${color #DDF2FF} ${alignr 80} ${fs_free /} / ${fs_size /}
${offset 50}${fs_bar 5,340 /}${color}
${lua fDrawImage ~/.conky/diamond/pix/bg1.png 0 0 439 270}
]];
network
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Liberation Sans:size=9',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
--own_window_color 000000
own_window_argb_visual = true,
--own_window_argb_value = 250,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 470, minimum_height = 170,
maximum_width = 470,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_right',
gap_x = 30,
gap_y = 470,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',--ffd579
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/.conky/lua/image.lua',
};
conky.text = [[
${offset 25}${font Liberation Sans:size=11}SSID:${font} ${wireless_essid wlo1} ${goto 190}${font Liberation Sans:size=11}Sortant:${font} ${upspeed wlo1}
${offset 25}${font Liberation Sans:size=11}Bitrate:${font} ${wireless_bitrate wlo1} ${goto 190}${font Liberation Sans:size=11}Entrant:${font} ${downspeed wlo1}
${offset 25}${font Liberation Sans:size=11}Local:${font} ${addr wlo1} ${goto 190}${font Liberation Sans:size=11}Signal:${font} ${wireless_link_qual_perc wlo1}%
${lua fDrawImage ~/.conky/diamond/pix/bg1.png 0 0 440 102}
${if_match "${wireless_link_qual_perc wlo1}"<"1"} ${lua fDrawImage ~/.conky/diamond/pix/nonetwork.png 300 25 45 45}${else}
${if_match "${wireless_link_qual_perc wlo1}"<"20"}${lua fDrawImage ~/.conky/diamond/pix/networklow.png 300 25 45 45}${else}
${if_match "${wireless_link_qual_perc wlo1}"<"50"}${lua fDrawImage ~/.conky/diamond/pix/networkmid.png 300 25 45 45}${else}
${if_match "${wireless_link_qual_perc wlo1}"<"80"}${lua fDrawImage ~/.conky/diamond/pix/wlan80.png 300 25 45 45}${else}
${lua fDrawImage ~/.conky/diamond/pix/networkhigh.png 300 25 45 45}${endif}${endif}${endif}${endif}
]];
audacious
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Liberation Sans:size=9',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
--own_window_color 000000
own_window_argb_visual = true,
--own_window_argb_value = 250,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 470, minimum_height = 280,
maximum_width = 470,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_right',
gap_x = 30,
gap_y = 580,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',--ffd579
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/.conky/lua/image.lua',
};
conky.text = [[${if_running audacious}
${execi 3 ~/.conky/audacious/scripts/cover.sh}
${voffset -40}${font GE Inspira :size=12}
${goto 160}${execi 3 audtool current-song-tuple-data artist}${font}
${goto 160}${execi 3 audtool current-song-tuple-data title}
${goto 160}${execi 3 audtool current-song-tuple-data album}
${voffset 10}${goto 160}${execi 1 audtool current-song-output-length} ${goto 358}${execi 1 audtool current-song-length}\
${goto 184}${execbar 2, 168 expr 100 \* $(audtool --current-song-output-length-seconds) \/ $(audtool --current-song-length-seconds)}
${lua fDrawImage ~/.conky/diamond/pix/bg1.png 0 0 440 102}
${lua fDrawImage ~/.conky/audacious/audacious.png 44 14 68 70}
${else}
${if_running radiotray-ng}
${texeci 3 ~/.conky/radiotrayng/pochette.sh}${lua fDrawImage ~/.conky/diamond/pix/bg1.png 0 0 440 102}
${voffset -36}${alignc -80}${font GE Inspira:size=12}${execi 5 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}$font
${voffset 33}${alignc -20}${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.artist'}
${alignc -20}${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.title'}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "RTL"} ${lua fDrawImage ~/.conky/radiotrayng/logos/rtl.png 222 32 50 50} ${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "Hotmixradio 80"} ${lua fDrawImage ~/.conky/radiotrayng/logos/hotmix80.png 228 28 35 35} ${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "Maxi 80"} ${lua fDrawImage ~/.conky/radiotrayng/logos/maxi80.png 230 29 35 35} ${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "RTL2"} ${lua fDrawImage ~/.conky/radiotrayng/logos/rtl2.png 222 32 45 45} ${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "MAGNUM LA RADIO"}${lua fDrawImage ~/.conky/radiotrayng/logos/magnumradio.png 184 26 120 40}${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "radio swiss pop"}${lua fDrawImage ~/.conky/radiotrayng/logos/rspop.png 244 30 35 35} ${else}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.station'}" == "rfm"} ${lua fDrawImage ~/.conky/radiotrayng/logos/rfm.png 224 35 45 45} ${endif}
${endif}${endif}${endif}${endif}${endif}${endif}
${if_match "${execi 4 qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | jq -r '.title'}" == ""}${lua fDrawImage ~/.conky/radiotrayng/logos/radio.png 30 10 78 78}
${else}
${lua fDrawImage ~/.conky/diamond/pochette.png 40 14 68 70}${endif}
${else}
${endif}
]];
@+
Linuxmint 24.02 Xia - Mageia 9 xfce et plasma sur ssd sur HP Pavilion g7
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX

kalen Membre non connecté
-
- Voir le profil du membre kalen
- Inscrit le : 28/06/2022
Ho que oui les conky, c'est chouette.
Là où je bloque, c'est pour le lancement automatique.
J'ai essayé les trois méthodes proposées sur forum ( conky.service, conky-start.sh, systemd) , mais rien n'y fait.
Sachant que gnome wayland ne permet pas d'ajouter des éléments de démarrage.
Il permet uniquement d'activer ou désactiver des éléments pré-listés.
dès lors, moi, ce que j'aurais aimé savoir, c'est où sont les dossiers et les scripts de démarrage fonctionnelle..;

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Un rajout dans /etc/xdg/autostart ne permet pas de lancer une application ?

Guygoye Membre non connecté
-
- Voir le profil du membre Guygoye
- Inscrit le : 25/10/2018
- Groupes :
-
Modérateur
-
Forgeron
Petite correction, c'est dans:
/home/user/.config/autostart
Mes Conky sont dans ce répertoire et aucun problème avec Gnome


loutch Membre non connecté
-
- Voir le profil du membre loutch
- Inscrit le : 07/07/2010
- Groupes :
-- Lanceur multi-lua --
Avec la nouvelle syntaxe voici comment avoir un conky qui @ besoin de plusieurs scripts lua comme sur la version 1.09.
On va créer un fichier
" loader.lua" que l'on va appeler comme ceci dans le conky avant la partie conki.text=[[
Code :
lua_load = '~/chemin/du/dossier/loader.lua',
lua_draw_hook_pre = 'loader_lua',
loader.lua
Code :
require 'cairo'
function conky_loader_lua()
usrhome = os.getenv("HOME")
dofile (usrhome .."/.conky/olgmen/scripts/datah.lua")
dofile (usrhome .."/.conky/olgmen/scripts/draw_bg.lua")
dofile (usrhome .."/.conky/lua/image.lua")
conky_widgets() -- fonction du premier lua.
end
- dofile .......datah.lua premier lua
-dofile .........draw_bg deuxième lua
-dofile ..........image.lua troisième lua
conky_widgets est la fonction du premier lua
les deux autres lua n'ont pas de fonction donc on ne mets rien.
un autre lanceur
Code :
require 'cairo'
function conky_loader_lua()
usrhome = os.getenv("HOME")
dofile (usrhome .."/.conky/cronograph/scripts/clock_rings.lua")
dofile (usrhome .."/.conky/cronograph/scripts/multi_rings.lua")
dofile (usrhome .."/.conky/lua/image.lua")
dofile (usrhome .."/.conky/lua/draw_bg.lua")
conky_main()
conky_clock_rings()
end
Exemple
Un conky quatre lua .

Linuxmint 24.02 Xia - Mageia 9 xfce et plasma sur ssd sur HP Pavilion g7
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX

Ami age Membre non connecté
-
- Voir le profil du membre Ami age
- Inscrit le : 18/08/2012
- Site internet
- Groupes :
-
Modérateur
_______________________________________________________________________

___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.



___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.

loutch Membre non connecté
-
- Voir le profil du membre loutch
- Inscrit le : 07/07/2010
- Groupes :
Merci
Conkyopen-meteo prise sur le site " prevision-meteo.ch" le site est en Français .
Vous pouvez vous faire un dossier icônes avec celles du site . Chez moi ce sont celles de Vclouds .
le conkyrc :
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Liberation Sans:size=7',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = false,
own_window_argb_visual = true,
own_window_argb_value = 00,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 270, minimum_height = 550,
maximum_width = 270,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_left',
gap_x = 52,
gap_y = 240,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/conky-openmeteo/Suisse/configs/loader.lua',
lua_draw_hook_pre = 'loader_lua',
color1 = 'F5B800',
color2 = '00f5ff',
color3 = '828200',
color4 = '323200',
color5 = 'fdb72e',
color7 = '6495ee',
color9 = 'red',
};
conky.text = [[${execi 1800 bash $HOME/conky-openmeteo/Suisse/suisse.sh}
##### premier cadre #####
### ${voffset -10}${font LED_mono :style=Medium:size=52}${color 434343}${goto 36}${time %H}${goto 136}${time %M}${font LED_mono :size=20:style=Medium}${color 292929}${goto 230}${time %S}$font
#### Date ####
${voffset 72}${alignc -100}${color yellow}${font URW Chancery L :italic:size=20}${time %A %d %B %Y}${voffset -14}
${font URW Chancery L :italic:size=14}${color ffe595}Sarreguemines$color${voffset -10}
${font URW Chancery L :italic:size=30}${goto 20}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.tmp'} ° ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.tmp' > $HOME/conky-openmeteo/Suisse/barographe/temp}${voffset -60}
${font URW Chancery L :italic:size=10}${goto 220}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.wnd_dir'}
${goto 210}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.wnd_spd'} km/h
${goto 210}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.wnd_gust'} km/h ${voffset -36}
${goto 30}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.pressure' | cut -d'.' -f1} mb ${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.pressure' | cut -d'.' -f1 > $HOME/conky-openmeteo/Suisse/barographe/pression}
${goto 30}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.humidity'} % ${voffset -4}
${goto 30}${font Liberation Sans :size=10}↑${font URW Chancery L :italic:size=10} ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.city_info.sunrise'}\
${goto 210}${font Liberation Sans :size=10}↓${font URW Chancery L :italic:size=10} ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.city_info.sunset'}${voffset -20}
${alignc}${font URW Chancery L :italic:size=14}${color ffe595}${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.condition'}
#### aujourdh'hui + demain ########
${voffset 26}
${goto 60}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.tmin'}°${color}/${color9}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.tmax'}°\
${goto 200}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_1.tmin'}°${color}/${color9}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_1.tmax'}°$color
${font URW Chancery L :italic:size=10}${voffset -26}
${goto 40}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.condition'}\
${goto 180}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_1.condition'}
${font URW Chancery L :italic:size=14}${voffset -30}
${goto 40}Aujourd'hui\
${goto 190}Demain
#### 3 jours suivant ########
${font URW Chancery L :italic:size=12}${voffset 20}
${goto 030}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_2.tmin'}°${color}/${color9}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_2.tmax'}°\
${goto 125}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_3.tmin'}°${color}/${color9}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_3.tmax'}°\
${goto 220}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_4.tmin'}°${color}/${color9}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_4.tmax'}°$color
${voffset -25}
${goto 020}${scroll 12 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_2.condition'}}\
${goto 115}${scroll 12 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_3.condition'}}\
${goto 210}${scroll 10 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_4.condition'}}
${voffset -25}
${goto 030}${execi 360 echo `date --date="2 day" | awk '{print $1}' | cut -c1-3`}.${execi 360 echo `date --date="2 day" | awk '{print $2}'`}\
${goto 125}${execi 360 echo `date --date="3 day" | awk '{print $1}' | cut -c1-3`}.${execi 360 echo `date --date="3 day" | awk '{print $2}'`}\
${goto 220}${execi 360 echo `date --date="4 day" | awk '{print $1}' | cut -c1-3`}.${execi 360 echo `date --date="4 day" | awk '{print $2}'`}
#### matin +midi+soir ########
${font URW Chancery L :italic:size=10}${voffset 22}
${goto 030}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."6H00".TMP2m' | awk '{printf("%d\n",$1)}'}°\
${goto 125}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."12H00".TMP2m' | awk '{printf("%d\n",$1)}'}°\
${goto 220}${color7}${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."18H00".TMP2m' | awk '{printf("%d\n",$1)}'}°$color
${voffset -25}
${goto 020}${scroll 12 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."7H00".CONDITION'}}\
${goto 115}${scroll 12 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."12H00".CONDITION'}}\
${goto 210}${scroll 12 ${execi 360 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.fcst_day_0.hourly_data."18H00".CONDITION'}}
${voffset -25}
${goto 025}Ce matin\
${goto 120}Ce midi\
${goto 215}Ce soir
${voffset -6}${alignc}${font URW Chancery L :italic:size=14} ${color ffe595}Dernière mise @ jour ${execpi 600 sed -n '1p' $HOME/conky-openmeteo/Suisse/actualisation | cut -c1-5}
#### Affichage utilisés dans le conky ####
#### premier cadre ####
${lua conky_draw_bg 20 0 98 270 450 0x000000 0.2}
${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/suite-bgv.png 000 090 273 460}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/base5.png 000 040 270 200}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/flip_bg.png 030 003 100 100}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/flip_bg.png 130 003 100 100}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/base5.png 000 260 270 076}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/base5.png 000 360 270 076}
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/base5.png 000 460 270 076}
${lua fDrawImage $HOME/conky-openmeteo/Suisse/now.png 050 096 175 120}\
#${lua fDrawImage $HOME/conky-openmeteo/Suisse/Wind1.png 220 110 45 45}
${lua fDrawImage $HOME/conky-openmeteo/Suisse/d0.png 000 205 135 90}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/d1.png 134 205 135 90}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/d2.png 000 340 070 45}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/d3.png 095 340 070 45}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/d4.png 190 340 070 45}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/h7.png 000 440 070 45}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/h12.png 095 440 070 45}\
${lua fDrawImage $HOME/conky-openmeteo/Suisse/h18.png 190 440 070 45}\
${voffset -4000}
]];
le loader.lua "chemin @ modifier"
Code :
require 'cairo'
function conky_loader_lua()
usrhome = os.getenv("HOME")
dofile (usrhome .."/.conky/lua/draw_bg.lua")
dofile (usrhome .."/.conky/lua/image.lua")
end
le suisse.sh
Code :
#!/usr/bin/bash
###rm $HOME/conky-openmeteo/Suisse/*.png
rm $HOME/.conky/barometr/temp
sleep 2
wget -O $HOME/conky-openmeteo/json/suisse.json "https://prevision-meteo.ch/services/json/sarreguemines"
jq --raw-output . $HOME/conky-openmeteo/json/suisse.json > $HOME/conky-openmeteo/rawdata/rawsuisse
#### temp+40 pour conky barometr ####
num1=$(sed -n 1p $HOME/conky-openmeteo/Suisse/barographe/temp)
num2=40
ans=$(bc -l <<<"$num1+$num2")
echo $ans >> $HOME/.conky/barometr/temp
#### mise à jour unklar ####
date +%T > $HOME/conky-openmeteo/Suisse/actualisation
#### rose des vents ####
wind_direction=$(jq --raw-output '.current_condition.wnd_dir' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $wind_direction == "S" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"02.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "South" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"02.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "SSO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"03.png" $HOME/conky-openmeteo/Suisse/wind1.png
elif [[ $wind_direction == "SO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"04.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "OSO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"05.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "O" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"06.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "West" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"06.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "ONO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"07.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "NO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"08.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "NNO" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"09.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "N" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"10.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "North" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"10.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "NNE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"11.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "NE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"12.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "ENE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"13.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "E" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"14.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "East" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"14.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "ESE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"15.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "SE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"16.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "SSE" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"17.png" $HOME/conky-openmeteo/Suisse/Wind1.png
elif [[ $wind_direction == "Variable" ]]; then
cp $HOME/conky-openmeteo/Suisse/vent/"00.png" $HOME/conky-openmeteo/Suisse/Wind1.png
fi
##### maintenant condition icône ######
icon=$(jq --raw-output '.current_condition.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/now.png
elif [[ $icon == "Nuit avec averses" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-avec-averses.png" $HOME/conky-openmeteo/Suisse/now.png
fi
##### aujourd'hui icône fcst_day_0 ######
icon=$(jq --raw-output '.fcst_day_0.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/d0.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/d0.png
fi
##### demain icône fcst_day_1 ######
icon=$(jq --raw-output '.fcst_day_1.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/d1.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/d1.png
fi
##### jour+2 icône ######
icon=$(jq --raw-output '.fcst_day_2.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averse-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/d2.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/d2.png
fi
##### jour+3 icône ######
icon=$(jq --raw-output '.fcst_day_3.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/d3.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/d3.png
fi
##### jour+4 icône ######
icon=$(jq --raw-output '.fcst_day_4.condition' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/d4.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/d4.png
fi
La suite du suisse.sh (le faux ruhm me dit que je dois le couper)
Code :
##### 00h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."0H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h0.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h0.png
fi
##### 02h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."2H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h2.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h2.png
fi
##### 04h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."4H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h4.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h4.png
fi
##### 06h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."6H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h6.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h6.png
fi
##### 08h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."8H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h8.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h8.png
fi
##### 10h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."10H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h10.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h10.png
fi
##### 12h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."12H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h12.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h12.png
fi
##### 14h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."14H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h14.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h14.png
fi
##### 16h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."16H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h16.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h16.png
fi
##### 18h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."18H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h18.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h18.png
fi
##### 20h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."20H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h20.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h20.png
fi
##### 22h00 condition icône ######
icon=$(jq --raw-output '.fcst_day_0.hourly_data."22H00".CONDITION' $HOME/conky-openmeteo/rawdata/rawsuisse)
if [[ $icon == "Ensoleillé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ensoleille.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Ciel voilé" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"ciel-voile.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Eclaircies" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"eclaircies.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Faiblement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faiblement-nuageux.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Fortement nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"fortement-nuageux.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Nuit nuageuse" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-nuageuse.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-faible.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Nuit claire" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-claire.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Averses de neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-neige-faible.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Nuit légèrement voilée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"nuit-legerement-voilee.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Neige faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"neige-faible.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Pluie modérée" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"pluie-moderee.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Averses de pluie faible" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"averses-de-pluie-faible.png" $HOME/conky-openmeteo/Suisse/h22.png
elif [[ $icon == "Faibles passages nuageux" ]]; then
cp $HOME/conky-openmeteo/Suisse/icones/"faibles-passages-nuageux.png" $HOME/conky-openmeteo/Suisse/h22.png
fi

@+
Linuxmint 24.02 Xia - Mageia 9 xfce et plasma sur ssd sur HP Pavilion g7
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX

loutch Membre non connecté
-
- Voir le profil du membre loutch
- Inscrit le : 07/07/2010
- Groupes :
Un baromêtre qui utilise les prévisions du conky précédent.
conkyrc
Code :
conky.config = {
background = true,
use_xft = true,
font = 'Bebas Neue Bold:size=12',
xftalpha = 1,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
--own_window_color 000000
own_window_argb_visual = true,
--own_window_argb_value = 250,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
double_buffer = true,
minimum_width = 290, minimum_height = 290,
maximum_width = 290,
text_buffer_size = 2048,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = 'white',
default_outline_color = 'white',
alignment = 'top_left',
gap_x = 40,
gap_y = 790,
no_buffers = true,
uppercase = false,
cpu_avg_samples = 2,
override_utf8_locale = true,
imlib_cache_flush_interval = 60,
imlib_cache_size = 10000,
-- Taille des pointillés
stippled_borders = 5,
-- Couleurs
default_color = '#ffffff',--ffd579
default_shade_color = '#333333',
default_outline_color = 'black',
lua_load = '~/.conky/barometr/loader.lua',
lua_draw_hook_pre = 'loader_lua',
};
conky.text = [[
${lua conky_draw_bg 126 20 18 260 260 0x000000 0.2}
${lua fDrawImage $HOME/conky-openmeteo/Suisse/fond/suite-bgv.png 15 10 270 270}
${execi 1800 bash $HOME/conky-openmeteo/Suisse/suisse.sh}
${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.wnd_dir' > $HOME/.conky/barometr/dir}
${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.wnd_spd' > $HOME/.conky/barometr/vit}
${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.pressure' | awk '{printf("%d\n",$1)}' > $HOME/.conky/barometr/pre}
${execi 3600 cat $HOME/conky-openmeteo/rawdata/rawsuisse | jq --raw-output '.current_condition.humidity' > $HOME/.conky/barometr/hum}
${voffset -200}
]];
le loader.lua
Code :
require 'cairo'
function conky_loader_lua()
usrhome = os.getenv("HOME")
dofile (usrhome .."/.conky/barometr/barometr.lua")
dofile (usrhome .."/.conky/lua/image.lua")
dofile (usrhome .."/.conky/lua/draw_bg.lua")
conky_main_weather()
end
barometr.lua
Code :
--[[ barometr_v.0.1.lua by olgmen 07.12.2010
script displays the weather forecast with http://weather.noaa.gov
Use scripts:
BARGRAPH WIDGET v2.0 by wlourf (12.07.2010)
circlewriting by mrpeachy (2010)
Скрипт выводит прогноз погоды с http://weather.noaa.gov
Использованы скрипты:
BARGRAPH WIDGET v2.0 by wlourf (12.07.2010)
circlewriting by mrpeachy (2010)
]]
require 'cairo'
-- [[ здесь вводятся все параметры ]] --
function conky_main_weather()
weather_settings = { -- ВЫВОД ГРАФИКИ
{ -- фон
sectors = 1,
gap_sectors = -1,
radius = 150,
thickness = 150,
bg_colour1 = {{0, 0x000000, 0.0}}, -- fond du grand cercle
},
{ -- обод
sectors = 1,
gap_sectors = -1,
radius = 0,
thickness = 3,
bg_colour1 = {{0, 0xFFFFFF, 0.7}},
bg_colour2 = {{0, 0x1B1A25, 1},{0.5, 0x7D7D78, 0.9},{1, 0x5D5D78, 0}}, -- grand cercle
},
{ -- фон шкалы барометра
radius = 111,
thickness = 7,
sectors = 1,
fill_sectors = true,
start_angle = -120,
end_angle = 120,
bg_colour1 = {{0, 0xffffff, 0.75}}, -- белый
},
{ -- деления шкалы барометра
radius = 110,
thickness = 5,
sectors = 80,
gap_sectors = 1,
fill_sectors = true,
start_angle = -120,
end_angle = 120,
bg_colour1 = {{0, 0x000000, 1}}, -- черный
},
{ -- деления шкалы термометра
radius = 110,
sectors = 9,
gap_sectors = 21,
start_angle = 125,
end_angle = 235,
bg_colour1 = {{0, 0xffffff, 0.5}}, -- белый
},
{ -- термометр
name = "temperature",
arg = conky_parse('${exec sed -n 1p $HOME/.conky/barometr/temp}'),
max = 80,
radius = 110,
thickness = 9,
sectors = 1,
start_angle = 130,
end_angle = 230,
inverse_arc = true,
cap = "r",
bg_colour1 = {{0.0, 0x999999, 0.0},{0.5, 0x999999, 1.0},{1.0, 0x999999, 0.0}},
fg_colour1 = {{0.0, 0xff0000, 0.0},{0.5, 0xff0000, 1.0},{1.0, 0xff0000, 0.0}},
fg_colour2 = {{0.0, 0x6495ee, 0.0},{0.5, 0x6495ee, 1.0},{1.0, 0x6495ee, 0.0}},
bd_colour1 = {{0.0, 0x00FF00, 1.0},{0.5, 0x00FF0, 1.0},{1.0, 0x00FF00, 1.0}},
},
}
text_settings = { -- ВЫВОД ТЕКСТОВ
{ -- температура
text = "TEMPERATURE " .. conky_parse('${exec sed -n 1p $HOME/conky-openmeteo/Suisse/barographe/temp}') .. "'C",
font_name = "MonogramsToolbox", -- навание шрифта
font_size = 8, -- размер шрифта
bold = true,
inside = true, -- размещение текста против часовой стрелки
start_angle = 233,
end_angle = 135,
radius = 95,
},
{ -- шкала термометра
text = " -40-30-20-10 0 10 20 30 40",
font_name = "URW Chancery L",
font_size = 14,
bold = true,
inside = true,
start_angle = 240,
end_angle = 131,
radius = 125,
},
{ -- погода
text = "Tempete Pluie Variable Beau Tres sec",
font_name = "URW Chancery L",
font_size = 18,
bold = true,
start_angle = 245,
end_angle = 472,
radius = 118,
},
{ -- давление в мм ртутного столба
text = "PRESSION " .. conky_parse('${exec sed -n 1p $HOME/.conky/barometr/pre}') .. "mb",
font_name = "MonogramsToolbox",
font_size = 8,
bold = true,
start_angle = 300,
end_angle = 417,
radius = 90,
},
{ -- направление и скорость ветра
text = "VIT. " .. conky_parse('${exec sed -n 1p $HOME/.conky/barometr/vit}') .. "km/h",
font_name = "MonogramsToolbox",
font_size = 8,
bold = true,
start_angle = 75,
end_angle = 120,
radius = 90,
},
{ -- влажность
text = "HUMIDITE " .. conky_parse('${exec sed -n 1p $HOME/.conky/barometr/hum}') .. "%",
font_name = "MonogramsToolbox",
font_size = 8,
bold = true,
inside = true,
start_angle = 228,
end_angle = 140,
radius = 78,
},
{ -- облачность
text = "DIR. " .. conky_parse('${exec sed -n 1p $HOME/.conky/barometr/dir}'),
font_name = "MonogramsToolbox",
font_size = 8,
bold = true,
start_angle = 240,
end_angle = 275,
radius = 90,
},
}
image_settings = { -- вывод центрального изображения
{
name = os.getenv ('HOME')..'/.conky/barometr/images/wind_rose.png', -- путь к картинке
},
}
needle_settings = { -- вывод стрелок
{
name = "vent", -- направление ветра
arg = conky_parse('${exec sed -n 1p $HOME/.conky/barometr/dir}'),
max = 360,
length_of_arrows = 1.75, -- длина стрелки
width_of_arrows = 6, -- ширина стрелки
},
{ -- давление
name = "pression",
arg = conky_parse('${exec sed -n 1p $HOME/.conky/barometr/pre}'),
max = 80,
start_angle = 242,
end_angle = 480,
length_of_arrows = 2.75,
width_of_arrows = 3,
},
}
----------- END --------------
if conky_window == nil then return end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
cr = cairo_create(cs)
if tonumber(conky_parse('${updates}')) > 1 then
for i in pairs(weather_settings) do
draw_weather_graph(weather_settings[i])
end
for i in pairs(text_settings) do
draw_circle_text(text_settings[i])
end
for i in pairs(image_settings) do
draw_image(image_settings[i])
end
for i in pairs(needle_settings) do
draw_needle_graph(needle_settings[i])
end
end
cairo_destroy(cr)
cairo_surface_destroy(cs)
end
-- -------------------------------------------------
-- функция вывода графики
function draw_weather_graph(t)
-- --------------------------------
-- функция перекодировки цвета
local function rgba_to_r_g_b_a(tcolour)
colour,alpha=tcolour[2],tcolour[3]
return ((colour / 0x10000) % 0x100) / 255.,
((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
-- ----------------------------------
local function calc_delta(tcol1,tcol2)
--calculate deltas P R G B A to table_colour 1
for x = 1, #tcol1 do
tcol1[x].dA = 0
tcol1[x].dP = 0
tcol1[x].dR = 0
tcol1[x].dG = 0
tcol1[x].dB = 0
if tcol2~=nil and #tcol1 == #tcol2 then
local r1,g1,b1,a1 = rgba_to_r_g_b_a(tcol1[x])
local r2,g2,b2,a2 = rgba_to_r_g_b_a(tcol2[x])
tcol1[x].dP = (tcol2[x][1]-tcol1[x][1])/t.sectors
tcol1[x].dR = (r2-r1)/t.sectors
tcol1[x].dG = (g2-g1)/t.sectors
tcol1[x].dB = (b2-b1)/t.sectors
tcol1[x].dA = (a2-a1)/t.sectors
end
end
return tcol1
end
-- --------------------------------------------
local function draw_scale (x, y, radius, max)
local i = 0
local winkel = math.rad(3)
cairo_set_source_rgba(cr,1,1,1,1)
for i = 0, max/2 - 1, 1 do
cairo_set_line_width(cr,1)
cairo_move_to(cr, x -radius- math.sin(winkel*i)*radius, y-radius - math.cos(winkel*i)*radius)
cairo_line_to(cr, x-radius - math.sin(winkel*i)*(radius*0.9), y-radius-math.cos(winkel*i)*(radius*0.9))
cairo_stroke(cr)
end
end
-- -------------------------------------------
--check values
local function setup(t)
-- сохраняем данные и настройки
cairo_save(cr)
-- установки по умолчанию
if t.name == nil then t.name= "" end
if t.arg == nil then t.arg = "" end
if t.max == nil then t.max = 100 end
if t.x == nil then t.x = conky_window.width/2 end
if t.y == nil then t.y = conky_window.height/2 end
if t.height == nil then t.height = conky_window.width end
if t.width == nil then t.width = conky_window.width end
if t.radius == nil then t.radius = (conky_window.width/2)*0.9 end
if t.start_angle == nil then t.start_angle=0 end
if t.end_angle == nil then t.end_angle = 360 end
if t.thickness == nil then t.thickness = 10 end
if t.sectors == nil then t.sectors = 10 end
if t.gap_sectors == nil then t.gap_sectors = 1 end
if t.fill_sector == nil then t.fill_sector = false end
if t.sectors == 1 then t.fill_sector = false end
if t.border_size == nil then t.border_size = 0 end
if t.cap == nil then t.cap = "p" end
-- цвет фона
if t.bg_colour1 == nil then
t.bg_colour1 = {{0, 0x00ffff, 0.1},{0.5, 0x00FFFF, 0.5},{1, 0x00FFFF, 0.1}}
end
-- цвет параметра
if t.fg_colour1 == nil then
t.fg_colour1 = {{0, 0x00FF00, 0.1},{0.5, 0x00FF00, 1},{1, 0x00FF00, 0.1}}
end
-- цвет окантовки
if t.bd_colour1 == nil then
t.bd_colour1 = {{0, 0xFFFF00, 0.5},{0.5, 0xFFFF00, 1},{1, 0xFFFF00, 0.5}}
end
-- проверяем соотношение ширины кольца и радиуса
if t.thickness > t.radius then t.thickness = t.radius*0.1 end
t.int_radius = t.radius - t.thickness
-- проверяем данные углов
if t.start_angle >= t.end_angle then
local tmp_angle = t.end_angle
t.end_angle = t.start_angle
t.start_angle = tmp_angle
-- print ("inversed angles")
if t.end_angle-t.start_angle > 360 and t.start_angle > 0 then
t.end_angle = 360 + t.start_angle
print ("reduce angles")
end
if t.end_angle + t.start_angle > 360 and t.start_angle <= 0 then
t.end_angle = 360 + t.start_angle
print ("reduce angles")
end
if t.int_radius < 0 then t.int_radius = 0 end
if t.int_radius > t.radius then
local tmp_radius = t.radius
t.radius = t.int_radius
t.int_radius = tmp_radius
print ("inversed radius")
end
if t.int_radius == t.radius then
t.int_radius = 0
print ("int radius set to 0")
end
end
-- проверка таблиц цвета
for i = 1, #t.bg_colour1 do
if #t.bg_colour1[i] ~= 3 then t.bg_colour1[i] = {1, 0xFFFFFF, 0.5} end
end
for i = 1, #t.fg_colour1 do
if #t.fg_colour1[i] ~= 3 then t.fg_colour1[i] = {1, 0xFF0000, 1} end
end
for i = 1, #t.bd_colour1 do
if #t.bd_colour1[i] ~= 3 then t.bd_colour1[i] = {1, 0xFFFF00, 1} end
end
if t.bg_colour2 ~= nil then
for i = 1, #t.bg_colour2 do
if #t.bg_colour2[i] ~= 3 then t.bg_colour2[i] = {1, 0xFFFFFF, 0.5} end
end
end
if t.fg_colour2 ~= nil then
for i = 1, #t.fg_colour2 do
if #t.fg_colour2[i] ~= 3 then t.fg_colour2[i] = {1, 0xFF0000, 1} end
end
end
if t.bd_colour2 ~= nil then
for i = 1, #t.bd_colour2 do
if #t.bd_colour2[i] ~= 3 then t.bd_colour2[i] = {1, 0xFFFF00, 1} end
end
end
t.fg_colour1 = calc_delta(t.fg_colour1,t.fg_colour2)
t.bg_colour1 = calc_delta(t.bg_colour1,t.bg_colour2)
t.bd_colour1 = calc_delta(t.bd_colour1,t.bd_colour2)
end
setup(t)
--initialize cairo context
cairo_save(cr)
cairo_translate(cr, t.x, t.y)
cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND)
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)
--get value
local value = 0
-- --------------------------------------------- обработка вывода температуры
if t.name == "temperature" then t.name = "" end
-- -------------------------------------------------------------------------
if t.name ~= "" then
value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
else
value = tonumber(t.arg)
end
if value==nil then value =0 end
--initialize sectors
--angle of a sector :
angleA = ((t.end_angle-t.start_angle)/t.sectors)*math.pi/180
--value of a sector :
valueA = t.max/t.sectors
--first angle of a sector :
lastAngle = t.start_angle*math.pi/180
local function draw_sector(type_arc,angle0,angle,valpc, idx)
--this function draws a portion of arc
--type of arc, angle0 = strating angle, angle= angle of sector,
--valpc = percentage inside the sector, idx = sctor number #
if type_arc=="bg" then --background
if valpc==1 then return end
tcolor=t.bg_colour1
elseif type_arc=="fg" then --foreground
if valpc==0 then return end
tcolor=t.fg_colour1
elseif type_arc=="bd" then --border
tcolor=t.bd_colour1
end
--angles equivalents to gap_sector
local ext_delta=math.atan(t.gap_sectors/(2*t.radius))
local int_delta=math.atan(t.gap_sectors/(2*t.int_radius))
--angles of arcs
local ext_angle=(angle-ext_delta*2)*valpc
local int_angle=(angle-int_delta*2)*valpc
--define colours to use for this sector
if #tcolor==1 then
--plain color
local vR,vG,vB,vA = rgba_to_r_g_b_a(tcolor[1])
cairo_set_source_rgba(cr,vR+tcolor[1].dR*idx,
vG+tcolor[1].dG*idx,
vB+tcolor[1].dB*idx,
vA+tcolor[1].dA*idx )
else
--radient color
local pat=cairo_pattern_create_radial(0,0,t.int_radius,0,0,t.radius)
for i=1, #tcolor do
local vP,vR,vG,vB,vA = tcolor[i][1], rgba_to_r_g_b_a(tcolor[i])
cairo_pattern_add_color_stop_rgba (pat,
vP+tcolor[i].dP*idx,
vR+tcolor[i].dR*idx,
vG+tcolor[i].dG*idx,
vB+tcolor[i].dB*idx,
vA+tcolor[i].dA*idx )
end
cairo_set_source (cr, pat)
cairo_pattern_destroy(pat)
end
--start drawing
cairo_save(cr)
--x axis is parrallel to start of sector
cairo_rotate(cr,angle0-math.pi/2)
local ri,re = t.int_radius ,t.radius
--point A
local angle_a
if t.cap == "p" then
angle_a = int_delta
if t.inverse_arc and type_arc ~="bg" then
angle_a = angle-int_angle-int_delta
end
if not(t.inverse_arc) and type_arc =="bg" then
angle_a = int_delta+int_angle
end
else --t.cap=="r"
angle_a = ext_delta
if t.inverse_arc and type_arc~="bg" then
angle_a = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_a = ext_delta+ext_angle
end
end
local ax,ay = ri*math.cos(angle_a),ri*math.sin(angle_a)
--point B
local angle_b = ext_delta
if t.cap == "p" then
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
else
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
end
local bx,by = re*math.cos(angle_b),re*math.sin(angle_b)
-- EXTERNAL ARC B --> C
if t.inverse_arc then
if type_arc=="bg" then
b0,b1= ext_delta, angle-ext_delta-ext_angle
else
b0,b1= angle-ext_angle-ext_delta, angle-ext_delta
end
else
if type_arc=="bg" then
b0,b1= ext_delta+ext_angle, angle-ext_delta
else
b0,b1= ext_delta, ext_angle+ext_delta
end
end
---POINT D
local angle_c
if t.cap == "p" then
angle_d = angle-int_delta
if t.inverse_arc and type_arc=="bg" then
angle_d = angle-int_delta-int_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d=int_delta+int_angle
end
else
angle_d = angle-ext_delta
if t.inverse_arc and type_arc=="bg" then
angle_d =angle-ext_delta-ext_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d = ext_angle+ext_delta
end
end
local dx,dy = ri*math.cos(angle_d),ri*math.sin(angle_d)
-- INTERNAL ARC D --> A
if t.cap=="p" then
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-int_delta-int_angle,int_delta
else
d0,d1= angle-int_delta, angle- int_angle-int_delta
end
else
if type_arc=="bg" then
d0,d1= angle-int_delta, int_delta+int_angle
else
d0,d1= int_delta+int_angle, int_delta
end
end
else
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-ext_delta-ext_angle,ext_delta
else
d0,d1= angle-ext_delta, angle- ext_angle-ext_delta
end
else
if type_arc=="bg" then
d0,d1= angle-ext_delta,ext_delta+ext_angle
else
d0,d1= ext_angle+ext_delta, ext_delta
end
end
end
--draw sector
cairo_move_to(cr,ax,ay)
cairo_line_to(cr,bx,by)
cairo_arc(cr,0,0,re,b0,b1)
cairo_line_to(cr,dx,dy)
cairo_arc_negative(cr,0,0,ri,d0,d1)
cairo_close_path (cr);
--stroke or fill sector
if type_arc=="bd" then
cairo_set_line_width(cr,t.border_size)
cairo_stroke(cr)
else
cairo_fill(cr)
end
cairo_restore(cr)
end
--draw sectors
local n0,n1,n2 = 1,t.sectors,1
if t.inverse_arc then n0,n1,n2 = t.sectors,1,-1 end
local index = 0
for i = n0,n1,n2 do
index = index +1
local valueZ=1
local cstA, cstB = (i-1),i
if t.inverse_arc then cstA,cstB = (t.sectors-i), (t.sectors-i+1) end
if value>valueA *cstA and value<valueA*cstB then
if not t.fill_sector then
valueZ = (value-valueA*cstA)/valueA
end
else
if value<valueA*cstB then valueZ=0 end
end
local start_angle= lastAngle+(i-1)*angleA
if t.foreground ~= false then
draw_sector("fg",start_angle,angleA,valueZ, index)
end
if t.background ~= false then
draw_sector("bg",start_angle,angleA,valueZ, i)
end
if t.border_size>0 then draw_sector("bd",start_angle,angleA,1, i) end
end
cairo_restore(cr)
end
--[[END OF RING-SECTORS WIDGET]]
-- -----------------------------------------------------------------------
-- [[ TEXT ]] --
-- функция добавления незначащих нулей
function addzero100(num)
if tonumber(num) == nil then return end --tonumber(num) == 0 end
if tonumber(num) < 10 then
return "00" .. num
elseif tonumber(num) <100 then
return "0" .. num
else
return num
end
end
-- ------------------------------------------
function string:split(delimiter)
local result = { }
local from = 1
local delim_from, delim_to = string.find(self, delimiter, from)
while delim_from do
table.insert(result, string.sub(self, from, delim_from-1))
from = delim_to + 1
delim_from, delim_to = string.find(self, delimiter, from)
end
table.insert(result, string.sub(self, from))
return result
end
-- -----------------------------------------
-- функция перекодировки цвета
function rgb_to_r_g_b2(tcolour)
colour,alpha=tcolour[2],tcolour[3]
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
-- ----------------------------------
function calc_delta(tcol1,tcol2)
--calculate deltas P R G B A to table_colour 1
for x = 1, #tcol1 do
tcol1[x].dA = 0
tcol1[x].dP = 0
tcol1[x].dR = 0
tcol1[x].dG = 0
tcol1[x].dB = 0
if tcol2~=nil and #tcol1 == #tcol2 then
local r1,g1,b1,a1 = rgba_to_r_g_b_a(tcol1[x])
local r2,g2,b2,a2 = rgba_to_r_g_b_a(tcol2[x])
tcol1[x].dP = (tcol2[x][1]-tcol1[x][1])/t.sectors
tcol1[x].dR = (r2-r1)/t.sectors
tcol1[x].dG = (g2-g1)/t.sectors
tcol1[x].dB = (b2-b1)/t.sectors
tcol1[x].dA = (a2-a1)/t.sectors
end
end
return tcol1
end
-- --------------------------------------------
function draw_circle_text(t)
-- проверка вводимых параметров и установка параметров по умолчанию
if t.text == nil then t.text = "Conky c'est pour pour le moral !" end
if t.x == nil then t.x = conky_window.width/2 end
if t.y == nil then t.y = conky_window.height/2 end
if t.radius == nil then t.radius = (conky_window.width/2)*0.9 end
if t.font_name == nil then t.font_name = "Free Sans" end
if t.font_size == nil then t.font_size = 14 end
if t.start_angle == nil then t.start_angle = 120 end
if t.end_angle == nil then t.end_angle = 240 end
if t.italic == nil then t.italic = false end
if t.oblique == nil then t.oblique = false end
if t.bold == nil then t.bold = false end
if t.inside == nil then inside = nil end
if t.align == nil then t.align = 0 end
local slant = CAIRO_FONT_SLANT_NORMAL
local weight =CAIRO_FONT_WEIGHT_NORMAL
if t.italic then slant = CAIRO_FONT_SLANT_ITALIC end
if t.oblique then slant = CAIRO_FONT_SLANT_OBLIQUE end
if t.bold then weight = CAIRO_FONT_WEIGHT_BOLD end
cairo_select_font_face(cr, t.font_name, slant,weight)
local inum = string.len(t.text)
if t.inside ~= nil then
deg = (t.start_angle - t.end_angle)/(inum - 1)
else
range = t.end_angle
deg = (t.end_angle - t.start_angle)/(inum-1)
end
degrads = 1*(math.pi/180)
local textcut = string.gsub(t.text, ".", "%1@@@")
texttable = string.split(textcut, "@@@")
for i = 1, inum do
ival = i
if t.inside ~= nil then
interval = (degrads*(t.start_angle - (deg*(i - 1)))) + t.align
interval2 = degrads*(t.start_angle - (deg*(i - 1)))
else
interval = (degrads*(t.start_angle + (deg*(i - 1)))) + t.align
interval2 = degrads*(t.start_angle + (deg*(i - 1)))
end
txs = 0 + t.radius*(math.sin(interval))
tys = 0 - t.radius*(math.cos(interval))
cairo_set_font_size (cr, t.font_size)
cairo_set_source_rgba(cr, 1, 1, 1, 1)
cairo_move_to (cr, txs + t.x, tys + t.y)
if t.inside ~= nil then
cairo_rotate (cr, interval2 + (180*math.pi/180))
else
cairo_rotate (cr, interval2)
end
cairo_show_text (cr, (texttable[i]))
if t.inside ~= nil then
cairo_rotate (cr, -interval2 - (180*math.pi/180))
else
cairo_rotate (cr, -interval2)
end
end
end
-- ---------------------------------
function draw_image(t)
-- --------------------------------
-- установки по умолчанию
if t.name == nil then t.name= "" end
if t.x == nil then t.x = conky_window.width/2 end
if t.y == nil then t.y = conky_window.height/2 end
if t.height == nil then t.height = conky_window.width end
if t.width == nil then t.width = conky_window.width end
-- создаём имидж изображения
image_bg = cairo_image_surface_create_from_png (t.name)
-- забираем данные о ширине и высоте изображения из образа
w1 = cairo_image_surface_get_width (image_bg)
h1 = cairo_image_surface_get_height (image_bg)
-- выводим изображение
cairo_set_source_surface (cr, image_bg, t.x - w1/2, t.y - h1/2)
cairo_paint (cr)
cairo_surface_destroy (image_bg)
end
-- --------------------------------------------------
function draw_needle_graph (t)
-- установки по умолчанию
if t.name == nil then t.name= "time" end
if t.arg == nil then t.arg = "%S" end
if t.max == nil then t.max = 60 end
if t.x == nil then t.x = conky_window.width/2 end
if t.y == nil then t.y = conky_window.height/2 end
if t.radius == nil then t.radius = 100 end
if t.start_angle == nil then t.start_angle = 0 end
if t.end_angle == nil then t.end_angle = 360 end
if t.width_of_arrows == nil then t.width_of_arrows = 2 end
if t.length_of_arrows == nil then t.length_of_arrows = 2.2 end
if t.name == "vent" then
if t.arg == "S" then t.arg = 180.0 end
if t.arg == "NNE" then t.arg = 202.5 end
if t.arg == "SO" then t.arg = 225.0 end
if t.arg == "ENE" then t.arg = 247.5 end
if t.arg == "O" then t.arg = 270.0 end
if t.arg == "ESE" then t.arg = 292.5 end
if t.arg == "NO" then t.arg = 315.0 end
if t.arg == "SSE" then t.arg = 337.5 end
if t.arg == "N" then t.arg = 360.0 end
if t.arg == "SSO" then t.arg = 22.5 end
if t.arg == "NE" then t.arg = 45.0 end
if t.arg == "OSO" then t.arg = 67.5 end
if t.arg == "E" then t.arg = 90.0 end
if t.arg == "ONO" then t.arg = 112.5 end
if t.arg == "SE" then t.arg = 135.0 end
if t.arg == "NNO" then t.arg = 157.5 end
end
value = tonumber(conky_parse(t.arg))
if value == nil then value = 0 end
-- начальный угол
local sa = t.start_angle * (math.pi / 180)
-- конечный угол
local ea = t.end_angle * (math.pi / 180)
-- расчет угла движения стрелки
gamma = math.pi/2-math.atan(t.width_of_arrows/(t.radius*t.length_of_arrows))
arc = ((ea - sa)/t.max)* value + sa
arc0=arc-gamma
arc1=arc+gamma
xx = t.x + t.radius*math.sin(arc)*t.length_of_arrows
yy = t.y - t.radius*math.cos(arc)*t.length_of_arrows
x0 = t.x + t.width_of_arrows*math.sin(arc0)
y0 = t.y - t.width_of_arrows*math.cos(arc0)
x1 = t.x + t.width_of_arrows*math.sin(arc1)
y1 = t.y - t.width_of_arrows*math.cos(arc1)
cairo_set_line_width(cr,1)
cairo_set_source_rgba(cr, 0, 0, 0, 0.5)
-- рисуем стрелку
-- dessiner une flèche
cairo_move_to (cr, x0, y0)
cairo_curve_to (cr, x0, y0, xx, yy, x1, y1)
cairo_arc(cr, t.x, t.y, t.width_of_arrows, arc1, arc0)
pat = cairo_pattern_create_radial (t.x, t.y, t.radius/10, t.x, t.y, t.radius*t.length_of_arrows)
if t.name == "vent" then
-- для ветра устанавливаем цвет синий переходящий в красный (не очень заметно)
--régler la couleur du vent de bleu à rouge (pas très visible)
cairo_pattern_add_color_stop_rgba (pat, 0.6, 0.4, 0.6, 0.9, 0.8) --bleu
cairo_pattern_add_color_stop_rgba (pat, 0.6, 1, 1, 0.8, 1) --rouge
else
-- для давления красный
-- pour la pression rouge
cairo_pattern_add_color_stop_rgba (pat, 0, 0.8, 0, 0, 0.8)
cairo_pattern_add_color_stop_rgba (pat, 1, 1, 0, 0, 1) -- rouge
end
cairo_set_source (cr, pat)
cairo_fill (cr)
cairo_pattern_destroy (pat)
end
--[[ Немного поясню, из чего состоит строка
cairo_pattern_add_color_stop_rgba (pat, 1, 1, 0, 0, 0.5)
цифры означают: 1- слой, 1-красный, 0-зеленый, 0-синий, 0.5-насыщенность
слой имеет значения от 0 до 1]]--
--[[[ Je vais expliquer un peu en quoi consiste la chaîne de caractères
cairo_pattern_add_color_stop_rgba (pat, 1, 1, 0, 0, 0.5)
les nombres signifient : 1-couche, 1-rouge, 0-vert, 0-bleu, 0,5-saturation
la couche a des valeurs de 0 à 1]]--.

@+
Linuxmint 24.02 Xia - Mageia 9 xfce et plasma sur ssd sur HP Pavilion g7
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Xubuntu 18.04 LTS et 24.04 en xfce sur ASUS Rog STRIX
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie