Dernière mise à jour : 30/01/2015 à 16h55
Table des matières
conkymeteo+lune+baromètre
Attention il faut le pack meteo6jours de Didier-T trouvé ici ainsi que le graphe (même page post n'4 l'accuweather-3.deb) comme se sont des .deb il faut extraire les fichiers ) .
Le conkyrc :
Code TEXT :
background yes use_xft yes xftfont URW Chancery L:style=Bold:size=10 xftalpha 1 update_interval 1.0 total_run_times 0 own_window yes own_window_transparent yes own_window_argb_visual yes own_window_type normal own_window_hints undecorated,below,skip_taskbar,skip_pager double_buffer yes minimum_size 410 820 maximum_width 410 text_buffer_size 2048 draw_shades no draw_outline no draw_borders no draw_graph_borders no default_color ffffff default_outline_color black alignment tl gap_x 20 gap_y 60 no_buffers yes uppercase no cpu_avg_samples 2 override_utf8_locale yes # Fonctionne uniquement avec les polices Fixes #use_spacer yes imlib_cache_size 0 uppercase no # -- Déclaration template -- # template0 ${lua fDrawImage ~/.conky/conky-meteo/meteo/images/\1 \2 \3 \4 \5} # -- images fond -- # template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --# template2 ${lua Meteo_\1 \2 \3 \4 \5 \6 \7} # -- icônes météo -- \2=répertoire icônes \3=position \4=taille \5=jour (pour les prévisions) # template3 ${lua Lune_\1} template4 ${lua_parse Images_\1 \2 \3 60 \4} # -- Appelle image -- \2=position \3=taille \4=jour (pour les prévisions) # lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/meteo2.lua lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/baro.lua lua_draw_hook_pre main lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/textwriting.lua lua_draw_hook_post draw_text lua_startup_hook init ~/.conky/conky-meteo/meteo6jours/meteo.cfg TEXT #### Heure #### ${template1 Maj} ${voffset -25}${font LED_mono :style=Medium:size=30}${goto 30}${time %H}${goto 80}: ${goto 95}${time %M}${font LED_mono :size=20:style=Medium}${color 808080}${goto 150}${time %S}${font} ##### Date et Saints du jour ##### ${voffset -40}${goto 220}${color yellow}${font URW Chancery L :size=16:style=Bold}${exec date "+%A %d %B %Y"|sed 's/^.\| [a-z]/\U&/g'}${font}${color} ${voffset -1}${goto 250}Aujourd'hui St :${texeci 1000 wget -O - -q http://fetedujour.fr/ --user-agent="Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0" | grep h2 | head -1 | cut -d">" -f2 | cut -d"<" -f1 | cut -d":" -f2 } ##### Heure mise à jour ##### ${voffset 1}${goto 130}Dernière mise à jour : ${template1 Heure} h ${template1 Minute} ##### Ville plus température et condition actuelles ##### ${voffset 10}${goto 15}${font URW Chancery L :size=12 style:bold}${template1 Ville} : ${font} ${voffset 10}${goto 10}${template1 CondMeteo1} ${voffset 15}${goto 10}${template1 CondMeteo2} ${voffset -55}${goto 240}${font URW Chancery L :size=30:style=Bold}${if_match ${template1 TempAct}<5}${color cornflowerblue}${blink ${template1 TempAct}°}${else}${color ffe595}${template1 TempAct}°${endif} ${font} ##### Affichage infos vent ###### ${voffset 50}${color ffffff}Vent : ${template1 VentDirP} Vitesse : ${template1 VentForce} km/h max: ${template1 Jour_VentRafales 1} Km/h Pluie : ${template1 Jour_NivPrec 1} mm Visibilité: ${template1 Visibilite 1} km #### Prévisions six prochaines heures ##### ${voffset -2}${goto 10}${template1 huitHeures_Heure 1} h ${goto 85}${template1 huitHeures_Heure 2} h ${goto 160}${template1 huitHeures_Heure 3} h ${goto 235}${template1 huitHeures_Heure 4} h ${goto 305}${template1 huitHeures_Heure 5} h ${goto 380}${template1 huitHeures_Heure 6} h ${voffset -5}${goto 15}${template1 huitHeures_Temp 1}° ${goto 90}${template1 huitHeures_Temp 2}° ${goto 165}${template1 huitHeures_Temp 3}° ${goto 240}${template1 huitHeures_Temp 4}° ${goto 310}${template1 huitHeures_Temp 5}° ${goto 385}${template1 huitHeures_Temp 6}° ##### Prévisions six prochains jours ##### ${voffset 35}${alignc 95}${template1 Jour %a_%d 2}${alignc 40}${template1 Jour %a_%d 3}${alignc -15}${template1 Jour %a_%d 4}${alignc -72}${template1 Jour %a_%d 5}${alignc -127}${template1 Jour %a_%d 6}${alignc -175}${template1 Jour %a_%d 7} ${voffset -5}${alignc 85}${color cornflowerblue}${template1 Nuit_Temp 2}°${color white} | ${color red}${template1 Jour_Temp 2}° ${alignc 38}${color cornflowerblue}${template1 Nuit_Temp 3}°${color white} | ${color red}${template1 Jour_Temp 3}° ${alignc -20}${color cornflowerblue}${template1 Nuit_Temp 4}°${color white} | ${color red}${template1 Jour_Temp 4}° ${alignc -72}${color cornflowerblue}${template1 Nuit_Temp 5}°${color white} | ${color red}${template1 Jour_Temp 5}°${alignc -128}${color cornflowerblue}${template1 Nuit_Temp 6}°${color white} | ${color red}${template1 Jour_Temp 6}° ${alignc -173}${color cornflowerblue}${template1 Nuit_Temp 7}°${color white} | ${color red}${template1 Jour_Temp 7}°${font}${color} #### Lunaison #### ${voffset 50}${goto 190}${font URW Chancery L:style=Bold:size=20}Lune ${font} ${template1 horsligne} ${voffset -20}Ephéméride : ${goto 110}${template3 ephemerides} Phase : ${goto 110}${template3 Phases} Taux de visibilitée : ${goto 110}${template3 Visibilite } % ${goto 180}Age : ${template3 Age} La Lune se lève à : ${goto 110}${template3 HLeverLune} : ${template3 MLeverLune} ${goto 180}Et se couche à : ${template3 HCoucherLune} : ${template3 MCoucherLune} #### Pression #### ${voffset 10}${goto 160}${font URW Chancery L:style=Bold:size=20}Baromètre${font} ${voffset 150}${goto 185}${template1 Pression 1} mb #### Affichage base #### ${template0 base.png 0 0 420 330} ${template0 base.png 0 335 420 110} ${template0 base.png 0 450 420 200} #### Réduction de la hauteur du conky #### ${voffset -2000} #### Affichage icones condition actuelle et rose des vents #### ${template2 IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 290 80 90 80} ${template2 IconeV ~/.conky/conky-meteo/meteo_lua_2/icones 240 125 40 40} #### Affichage icones prévisions six prochaines heures #### ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 1 215 50 40 1} ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 70 215 50 40 2} ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 145 215 50 40 3} ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 220 215 50 40 4} ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 295 215 50 40 5} ${template2 huitHeures_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 365 215 50 40 6} #### Affichage six prochains jours #### ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 1 285 50 40 2} ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 70 285 50 40 3} ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 145 285 50 40 4} ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 220 285 50 40 5} ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 295 285 50 40 6} ${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 365 285 50 40 7} #### Affichage image lune #### ${lua fDrawImage /tmp/lune.png 330 360 60 60} ####Affichage baromètre #### ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/00.png 70 600 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/12.png 70 540 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/09.png 105 500 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/39.png 158 470 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/28.png 220 470 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/30.png 265 500 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/34.png 290 540 50 45} ${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_forecast/36.png 290 600 50 45}
le baro.lua
Code TEXT :
--============================================================================== -- baro.lua -- -- author : SLK-adapted by shamen456 -- version : v2011-06-13 -- license : Distributed under the terms of GNU GPL version 2 or later -- --============================================================================== require 'cairo' -------------------------------------------------------------------------------- -- gauge DATA gauge = { { name='cpu', arg='', max_value=1060, sub_value=960, x=205, y=600, graph_radius=60, graph_thickness=10, graph_start_angle=235, graph_unit_angle=2.5, graph_unit_thickness=2., graph_bg_colour=0xFFFFFF, graph_bg_alpha=0.4, graph_fg_colour=0xB1ADA7, graph_fg_alpha=0, hand_fg_colour=0x000000, hand_fg_alpha=.0, txt_radius=0, txt_weight=0, txt_size=10.0, txt_fg_colour=0xFFFFFF, txt_fg_alpha=0, graduation_radius=50, graduation_thickness=8, graduation_mark_thickness=2, graduation_unit_angle=18, graduation_fg_colour=0x4F4B41, graduation_fg_alpha=0, caption='', caption_weight=1, caption_size=8.0, caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.8, }, { name='lua', arg='Meteo_Pression', max_value=1050, sub_value=950, x=205, y=600, graph_radius=30, graph_thickness=70, graph_start_angle=255, graph_unit_angle=2.1, graph_unit_thickness=2., graph_bg_colour=0xFFFFFF, graph_bg_alpha=0.0, graph_fg_colour=0xB1ADA7, graph_fg_alpha=0, hand_fg_colour=0xFF0000, hand_fg_alpha=0.8, txt_radius=20, txt_weight=0, txt_size=10.0, txt_fg_colour=0xFFFFFF, txt_fg_alpha=0, graduation_radius=70, graduation_thickness=8, graduation_mark_thickness=2, graduation_unit_angle=18, graduation_fg_colour=0x4F4B41, graduation_fg_alpha=1, caption='', caption_weight=1, caption_size=8.0, caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.1, }, { name='lua', arg='Meteo_TempRes', max_value=60, sub_value=-30,--valeur de depart du graphe x=175, y=100, graph_radius=20, graph_thickness=40, graph_start_angle=75, graph_unit_angle=2.33, graph_unit_thickness=1.5, graph_bg_colour=0xFFFFFF, graph_bg_alpha=0, graph_fg_colour=0xB1ADA7, graph_fg_alpha=0, hand_fg_colour=0xFF0000, hand_fg_alpha=0, txt_radius=18, txt_weight=1, txt_size=10.0, txt_fg_colour=0xC0C0FF, txt_fg_alpha=0, graduation_radius=20, graduation_thickness=8, graduation_mark_thickness=2, graduation_unit_angle=11.6, graduation_fg_colour=0xffffff, graduation_fg_alpha=0.9, caption='', caption_weight=1, caption_size=8.0, caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.3, }, { name='lua', arg='Meteo_TempAct', max_value=60, sub_value=-30, x=175, y=100, graph_radius=20, graph_thickness=40, graph_start_angle=75, graph_unit_angle=2.33, graph_unit_thickness=1.5, graph_bg_colour=0xFFFFFF, graph_bg_alpha=0., graph_fg_colour=0xB1ADA7, graph_fg_alpha=0, hand_fg_colour=0xff0000, hand_fg_alpha=1, txt_radius=30, txt_weight=1, txt_size=10.0, txt_fg_colour=0xED7F77, txt_fg_alpha=0, graduation_radius=22, graduation_thickness=14, graduation_mark_thickness=2, graduation_unit_angle=23.3, graduation_fg_colour=0xffffff, graduation_fg_alpha=1, caption='', caption_weight=1, caption_size=8.0, caption_fg_colour=0xFFFFFF, caption_fg_alpha=0.9, }, } ------------------------------------------------------------------------------- -- rgb_to_r_g_b -- converts color in hexa to decimal -- function rgb_to_r_g_b(colour, alpha) return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha end ------------------------------------------------------------------------------- -- angle_to_position -- convert degree to rad and rotate (0 degree is top/north) -- function angle_to_position(start_angle, current_angle) local pos = current_angle + start_angle return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) ) end ------------------------------------------------------------------------------- -- draw_gauge_ring -- displays gauges -- function draw_gauge_ring(display, data, value) local max_value = data['max_value']-data['sub_value'] local sub_value = data['sub_value'] local x, y = data['x'], data['y'] local graph_radius = data['graph_radius'] local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness'] local graph_start_angle = data['graph_start_angle'] local graph_unit_angle = data['graph_unit_angle'] local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha'] local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha'] local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha'] local graph_end_angle = (max_value * graph_unit_angle) % 360 -- background ring cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha)) cairo_set_line_width(display, graph_thickness) cairo_stroke(display) -- arc of value local val = (value-sub_value) % (max_value + 1) local start_arc = 0 local stop_arc = 0 local i = 1 while i <= val do start_arc = (graph_unit_angle * i) - graph_unit_thickness stop_arc = (graph_unit_angle * i) cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha)) cairo_stroke(display) i = i + 1 end local angle = start_arc -- hand start_arc = (graph_unit_angle * val) - (graph_unit_thickness * 2) stop_arc = (graph_unit_angle * val) cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display, rgb_to_r_g_b(hand_fg_colour, hand_fg_alpha)) cairo_stroke(display) -- graduations marks local graduation_radius = data['graduation_radius'] local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness'] local graduation_unit_angle = data['graduation_unit_angle'] local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha'] if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then local nb_graduation = graph_end_angle / graduation_unit_angle local i = 0 while i < nb_graduation do cairo_set_line_width(display, graduation_thickness) start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2) stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2) cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha)) cairo_stroke(display) cairo_set_line_width(display, graph_thickness) i = i + 1 end end -- text local txt_radius = data['txt_radius'] local txt_weight, txt_size = data['txt_weight'], data['txt_size'] local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha'] local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle)) local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle)) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight) cairo_set_font_size (display, txt_size) cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha)) cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3) cairo_show_text (display, value) cairo_stroke (display) -- caption local caption = data['caption'] local caption_weight, caption_size = data['caption_weight'], data['caption_size'] local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha'] local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight); cairo_set_font_size (display, caption_size) cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha)) cairo_move_to (display, x + tox + 5, y + toy + 1) -- bad hack but not enough time ! if graph_start_angle < 105 then cairo_move_to (display, x + tox - 30, y + toy + 1) end cairo_show_text (display, caption) cairo_stroke (display) end ------------------------------------------------------------------------------- -- go_gauge_rings -- loads data and displays gauges -- function go_gauge_rings(display) local function load_gauge_rings(display, data) local str, value = '', 0 str = string.format('${%s %s}',data['name'], data['arg']) str = conky_parse(str) value = tonumber(str) draw_gauge_ring(display, data, value) end for i in pairs(gauge) do load_gauge_rings(display, gauge[i]) end end ------------------------------------------------------------------------------- -- MAIN function conky_main() 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) local display = cairo_create(cs) local updates = conky_parse('${updates}') update_num = tonumber(updates) if update_num > 5 then go_gauge_rings(display) end end
le textwrting.lua:
Code TEXT :
--[[circlewriting by mrpeachy (2010)]] require 'cairo' function addzero100(num) 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 circlewriting(cr, text, font, fsize, radi, horiz, verti, tred, tgreen, tblue, talpha, start, finish, var1) local inum=string.len(text) range=finish deg=(finish-start)/(inum-1) degrads=1*(math.pi/180) local textcut=string.gsub(text, ".", "%1@@@") texttable=string.split(textcut, "@@@") for i = 1,inum do ival=i interval=(degrads*(start+(deg*(i-1))))+var1 interval2=degrads*(start+(deg*(i-1))) txs=0+radi*(math.sin(interval)) tys=0-radi*(math.cos(interval)) cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, fsize); cairo_set_source_rgba (cr, tred, tgreen, tblue, talpha); cairo_move_to (cr, txs+horiz, tys+verti); cairo_rotate (cr, interval2) cairo_show_text (cr, (texttable[i])) cairo_stroke (cr) cairo_rotate (cr, -interval2) end end function circlewritingdown(cr, text, font, fsize, radi, horiz, verti, tred, tgreen, tblue, talpha, start, finish, var1) local inum=string.len(text) deg=(start-finish)/(inum-1) degrads=1*(math.pi/180) local textcut=string.gsub(text, ".", "%1@@@") texttable=string.split(textcut, "@@@") for i = 1,inum do ival=i interval=(degrads*(start-(deg*(i-1))))+var1 interval2=degrads*(start-(deg*(i-1))) txs=0+radi*(math.sin(interval)) tys=0-radi*(math.cos(interval)) cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, fsize); cairo_set_source_rgba (cr, tred, tgreen, tblue, talpha); cairo_move_to (cr, txs+horiz, tys+verti); cairo_rotate (cr, interval2+(180*math.pi/180)) cairo_show_text (cr, (texttable[i])) cairo_stroke (cr) cairo_rotate (cr, -interval2-(180*math.pi/180)) end end function conky_draw_text() local updates=conky_parse('${updates}') update_num=tonumber(updates) if update_num > 5 then if conky_window==nil then return end local w=conky_window.width local h=conky_window.height local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h) cr=cairo_create(cs) --circlewriting variable cpu=tonumber(conky_parse('${cpu}')) --text must be in quotes text=("Tempete - Pluie - Variable - Beau - Tres Sec") --text=("Stormy - Rain - Change - Fair - Very Dry") --font name must be in quotes font="URW Chancery L" fontsize=15 radius=80 positionx=205 positiony=600 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 --to set start and finish values for circlewriting, if the text will cross 0 degrees then you must calculate for 360+finish degrees --eg if you want to go from 270 to 90, then you will input 270 to 450. Finish has to be greater than start. start=-115 finish=115 letterposition=0 circlewriting(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) --circlewritingdown variables --mem=tonumber(conky_parse('${memperc}')) --text must be in quotes text=(" 0 ") --font name must be in quotes font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 --to set start and finish values for circlewritingdown, if the text will cross 0 degrees then you must calculate for 0-finish degrees --eg if you want to go from 90 to 270, then you will input 90 to -90. Start has to be greater than finish start=150 finish=144 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("50") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 start=268 finish=262 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("40") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 start=245 finish=239 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("30") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 start=222 finish=216 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("20") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 start=199 finish=193 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("10") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=1 colorblue=1 coloralpha=1 start=176 finish=170 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("-10") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=0 colorblue=0 coloralpha=1 start=134 finish=124 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) text=("-20") font="URW Chancery L" fontsize=12 radius=48 positionx=175 positiony=100 colorred=1 colorgreen=0 colorblue=0 coloralpha=1 start=112 finish=99 letterposition=0 circlewritingdown(cr, text, font, fontsize, radius, positionx, positiony, colorred, colorgreen, colorblue, coloralpha, start, finish, letterposition) end end

conky barograph
Il faut installer "gnuplot"
le conkyrc :
Code TEXT :
background yes use_xft yes xftfont URW Chancery L:style=Bold:size=10 xftalpha 1 update_interval 1.0 total_run_times 0 own_window yes own_window_transparent yes own_window_argb_visual yes own_window_type normal own_window_hints undecorated,below,skip_taskbar,skip_pager double_buffer yes minimum_size 410 145 maximum_width 410 text_buffer_size 2048 draw_shades no draw_outline no draw_borders no draw_graph_borders no default_color ffffff default_outline_color black alignment tl gap_x 0 gap_y 720 no_buffers yes uppercase no cpu_avg_samples 2 override_utf8_locale yes # Fonctionne uniquement avec les polices Fixes #use_spacer yes imlib_cache_size 0 uppercase no # -- Déclaration template -- # template0 ${lua fDrawImage ~/.conky/conky-meteo/meteo/images/\1 \2 \3 \4 \5} # -- images fond -- # template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --# template2 ${lua Meteo_\1 \2 \3 \4 \5 \6 \7} # -- icônes météo -- \2=répertoire icônes \3=position \4=taille \5=jour (pour les prévisions) # template3 ${lua Lune_\1} template4 ${lua_parse Images_\1 \2 \3 60 \4} # -- Appelle image -- \2=position \3=taille \4=jour (pour les prévisions) # lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/meteo2.lua lua_startup_hook init ~/.conky/conky-meteo/meteo6jours/meteo.cfg color1 lightgreen color2 ff2121 TEXT ${voffset -30}${goto 100}${font URW Chancery L:style=Bold:size=20}Pression Atmospherique ${if_gw}${execi 1200 bash ~/.conky/barograph/barognuplot.sh }${endif}# ${image ~/.conky/barograph/graph.png -s 285x150 -p 50,10 -n}# ${font URW Chancery L:style=Bold:size=8}}# ${voffset -15}${goto 50}${color1} 40 ° ${goto 320}${color2}1040mb ${voffset 06} ${goto 50}${color1} 20 ° ${goto 320}${color2}1020mb ${voffset 05} ${goto 50}${color1} 0 ° ${goto 320}${color2}1000mb ${voffset 09} ${goto 50}${color1}-10 ° ${goto 320}${color2} 980mb ${voffset 06} ${goto 50}${color1}-20 ° ${goto 320}${color2} 960mb ${template0 base.png 0 0 420 155} ${lua fDrawImage ~/.conky/barograph/white.png 70 140 245 12} ${voffset -800}
le barognuplot.sh :
Code TEXT :
#!/bin/bash ## files LOG="$HOME/.conky/barograph/ListePression.log" GRAPH="$HOME/.conky/barograph/graph.png" ## Verifier argument ##Infos generales DATE=$(date +"%s") DATE1WEEK=$(date --date="1 week ago" +"%s") # liste des dates de releve du fichier log EPOCH=() while read do EPOCH+=( "$REPLY" ) done< <(awk '{print $1}' "$LOG") # si le fichier existe et contient des valeurs de plus d'une semaine (premiere = plus vieille) #supprimer premiere valeur [[ -f $LOG ]] && { for i in $(seq 0 $(($(wc -l < $LOG)-1))) do [[ $DATE1WEEK -gt ${EPOCH[$i]} ]] && sed -i '1d' $LOG || break done } ## Conversion en hectopascal et soustraction de la pression moyenne pour ramener l'axe a zero PR_HP=`awk '/Pression: / {print int($2)}' ~/.conky/conky-meteo/meteo6jours/reptravail/CC` TEMP=`awk '/Temp: / {print int($2)}' ~/.conky/conky-meteo/meteo6jours/reptravail/CC` PR_CALC=$(bc << EOF scale=0 $PR_HP - 1000 EOF ) echo "$DATE $PR_CALC $TEMP" >> $LOG gnuplot <<EOF set border linewidth 2.5 set terminal png enhanced size 300,170 transparent #font "Ubuntu,10" 400,350 set term png font "URW Chancery L:style=Bold,14" set output "$GRAPH" unset key set grid set xzeroaxis lt 3 lw 1 set yzeroaxis set ytics ("" -40, "" -20, "" 20, "" 40) set mxtics 0 set xdata time set timefmt "%s" set xtics 86400 set format x "%d" set style line 1 lw 2 set style line 2 lw 2 plot ["$DATE1WEEK":"$DATE"] [-40:50] "$LOG" using 1:3 with lines ls 2, "$LOG" using 1:2 with lines ls 1 EOF exit 0

Écrit par: loutch, Le: 30-01-2015