Utiliser Mageia

Conky -conkyrc -scripts - partie 2

Cet article a été mis à jour, vous consultez ici une archive de cet article!
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


suite