Utiliser Mageia

Conky-conkyrc-scripts-partie 3

Dernière mise à jour : 30/09/2021 à 20h41
Table des matières

Position du soleil et de la lune



conkyrc

Code TEXT :
background no
use_xft yes
xftfont URW Chancery L:style=Bold:size=10
xftalpha 1
update_interval 1
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 380 310
maximum_width 380
text_buffer_size 2048
draw_shades no
draw_outline no
draw_borders no
border_width 1
draw_graph_borders no
default_outline_color cacaca
alignment top_right
gap_x 5
gap_y 100
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1                ffff00
lua_load ~/.conky/v11/conky/soleil.lua
lua_draw_hook_pre draw_fig
default_color 8b8b8b
 
lua_load ~/.conky/lua/image.lua
TEXT
${lua fDrawImage /home/loutch/.conky/v11/conky/terre.png 170 170 60 64 0}
 


soleil.lua

Code TEXT :
--sun position lua script by mrpeachy 2010 version 2 includes moon position
--############################################################
--############################################################
--input latitude
--for northern hemisphere enter positive
--for southern hemisphere enter negative
latitude=-49.1
longitude=7.06
--input hemisphere
--for northern enter 1
--for southern enter 2
hemisphere=2
--daylight saving? 1=yes, 0=no
dst=0
--position - this is the point where the N-S line crosses the horizon line
--the .5 helps make lines look sharper
across=200.5
down=200.5
--############################################################
--############################################################
require 'cairo'
function cos(x)
a=math.cos(math.rad(x))
return a
end
function sin(x)
a=math.sin(math.rad(x))
return a
end
function tan(x)
a=math.tan(math.rad(x))
return a
end
function addzero10(num)
if tonumber(num) < 10 then
return "0" .. num
else
return num
end
end
function round(val, decimal)
  if (decimal) then
    return math.floor( (val * 10^decimal) + 0.5) / (10^decimal)
  else
    return math.floor(val+0.5)
  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 datan2(y, x)
    if x == 0 and y == 0 then 
        return 0 
        else a = math.atan(math.rad(y / x))
    end
    if (x < 0) then
    a = a + 180
        else if y < 0 and x > 0 then
        a = a + 360
        end
    end
return math.rad(a)
end
function ipart(x)
if (x> 0) then
a = math.floor(x)
else a = math.ceil(x);
end
return a
end
function range(x)
    b = x / 360;
    a = 360 * (b - ipart(b));
    if a  < 0 then
        a = a + 360
end
    return a
end
function ranget(x)
    b = x / 24;
    a = 24 * (b - ipart(b));
    if a  < 0 then
        a = a + 24
end
    return a
end
function rangei(x)
    b = x / 1440;
    a = 1440 * (b - ipart(b));
    if a  < 0 then
        a = a + 1440
end
    return a
end
--################################################################################################################################################
--###########   MAIN FUNCTION   ########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
function conky_draw_fig()
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)
local updates=tonumber(conky_parse('${updates}'))
--###########   START FUNCTION   ########################################################################################################
if updates > 5 then
--###########   SET HEMISPHERE   ########################################################################################################
if hemisphere==1 then 
start=0
else
start=180
end
--################ sets daylignt saving #####################################3
if dst==1 then ds=-1 else ds=0 end
--################################################################################################################################################
--################################################################################################################################################
--###########  calculate julian time   ########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
M=os.date("%m") --month
K=os.date("%G") --4 digit year
I=(os.date("%d"))--day of month
H=ranget((os.date("%H"))+ds) --hours
Min=os.date("%M")
Mi=(os.date("%M"))/60 --minutes expressed as hours
--current Julian time-----------------------------------------------------------------
JD=round((367*K)-((7*(K+((M+9)/12)))/4)+((275*M)/9)+I+1721013.5,0)+0.5+((H+Mi)/24)
--------------------------------------------------------------------------------------
days=(JD)-2451545.0 --correct
T=days/36525 --correct
--Julian time at preceeding midnight
JD0=round((367*K)-((7*(K+((M+9)/12)))/4)+((275*M)/9)+I+1721013.5,0)+0.5
D0=JD0-2451545.0
--###########  calculate sidereal time   ########################################################################################################
--current sidereal time
CST=6.697374558+(0.06570982441908*D0)+(1.00273790935*(H+Mi))
-----------------------------------------------------------------
GMST = 6.697374558 + (0.06570982441908*D0) + (1.00273790935*(H+Mi)) + (0.000026*(T^2))
ADJ=longitude/15
GMST24=ranget(GMST)
GMST24S=string.split(GMST24, "%p")
GMST24H=GMST24S[1]
GMST24M=string.len(GMST24S[2])
GMST24M=GMST24S[2]/(10^(GMST24M))*60
GMST24M=string.split(GMST24M,"%p")
GMST24M=GMST24M[1]
sgtime=(GMST24H*60)+GMST24M
-------------------------------------------------------------
day=os.date("%j")
B=(360/365)*(day-81)
eot=(9.87*math.sin(2*B))-(7.53*math.cos(B))-(1.5*math.sin(B))
LSTM=15*10
TC=(4*(LSTM-longitude))+eot
LT=((H)*60)+Min
LST=LT+(TC/60)
---------------------------------------
LST24=ranget(LST/60)
LST24S=string.split(LST24, "%p")
LST24H=LST24S[1]
LST24M=string.len(LST24S[2])
LST24M=(LST24S[2]/(10^(LST24M)))*60
LST24M=string.split(LST24M,"%p")
LST24M=LST24M[1]
--below is current solar time
stime=(LST24H*60)+LST24M
--################################################################################################################################################
--#############  END TIME CALCS ###########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--#############  SUN CACULATIONS AND DISPLAY ###########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--    Sun formulas
--
--    L1    - Mean longitude
--    M1    - Mean anomaly
--    C1    - Equation of centre
--    V1    - True anomaly
--    Ec1    - Eccentricity 
--    R1    - Sun distance
--    Th1    - Theta (true longitude)
--    Om1    - Long Asc Node (Omega)
--    Lam1- Lambda (apparent longitude)
--    Obl    - Obliquity of ecliptic
--    Ra1    - Right Ascension
--    Dec1- Declination
t=T
L1 = range(280.466 + 36000.8 * t)
M1 = range(357.529+35999*t - 0.0001536* t*t + t*t*t/24490000)
sinm1=math.sin(math.rad(M1))
C1 = (1.915 - 0.004817* t - 0.000014* t * t)* sinm1;     
C1 = C1 + (0.01999 - 0.000101 * t)* sinm1;
C1 = C1 + 0.00029 * sinm1;
V1 = M1 + C1;
cosv1=math.cos(math.rad(V1))
Ec1 = 0.01671 - 0.00004204 * t - 0.0000001236 * t*t;
R1 = 0.99972 / (1 + Ec1 * cosv1);--correct
Th1 = L1 + C1
Om1 = range(125.04 - 1934.1 * t)
om1sin=math.sin(math.rad(Om1))
Lam1 = Th1 - 0.00569 - 0.00478 * math.deg(om1sin);
Obl = (84381.448 - 46.815 * t)/3600; --correct
th1sin=math.sin(math.rad(Th1))
th1cos=math.cos(math.rad(Th1))
th1tan=math.tan(math.rad(Th1))
oblsin=math.sin(math.rad(Obl))
oblcos=math.cos(math.rad(Obl))
obltan=math.tan(math.rad(Obl))
zsin=math.sin(math.rad(0))
zcos=math.cos(math.rad(0))
ztan=math.tan(math.rad(0))
Ra1 = datan2((th1sin * oblcos - ztan* zsin),th1cos)--close ish
Dec1 = math.asin(zsin* oblcos + zcos*oblsin*th1sin)--very close
--SUN CALCULATIONS---------------------------------------------------------------
-------------------------------------------------------
delta=math.deg(Dec1)
------------------------------------------------------
sdec=delta
--calculate hangle in relation to altitude in relation to time
althrtab={}
shartab={}
total=1440
for i=1,total do
sha=180+(i*(360/total))
cossha=math.cos(math.rad(sha))
cossundec=math.cos(math.rad(sdec))
coslat=math.cos(math.rad(latitude))
cosmath=cossha*cossundec*coslat
sinsundec=math.sin(math.rad(sdec))
sinlat=math.sin(math.rad(latitude))
sinmath=sinsundec*sinlat
sinelevation=cosmath+sinmath
elevation=math.deg(math.asin(sinelevation))
curaltlong=elevation
curalt=round(curaltlong,2)
althrtab[i]=curalt
shartab[i]=sha-360
end
--#############################################
--calculate sunrise and sunset
for i=1,(total-1) do
if althrtab[i]<0 and althrtab[i+1]>0 then
rise=i
end
if althrtab[i]>0 and althrtab[i+1]<0 then
set=i
end
end
rise=rise/60
rises=string.split(rise,"%p")
sriseh=rises[1]
riseml=string.len(rises[2])
risem=(rises[2]/(10^riseml))*60
risems=string.split(risem,"%p")
srisem=risems[1]
set=set/60
sets=string.split(set,"%p")
sseth=sets[1]
setml=string.len(sets[2])
setm=(sets[2]/(10^setml))*60
setms=string.split(setm,"%p")
ssetm=setms[1]
--#############################################
--calculate azimuth for all above points
if hemisphere==1 then
azitab={}
for i=1,total do
azmath1=(math.cos(math.rad(shartab[i]))*cossundec*sinlat)-(sinsundec*coslat)
azmath2=math.cos(math.rad(althrtab[i]))
cosaz=azmath1/azmath2
azi1=math.deg(math.acos(cosaz))
aziplot=azi1
if shartab[i]<0 then
azitab[i]=(aziplot-180)*-1
else
azitab[i]=aziplot+180
end
end
end--if hemishpere
if hemisphere==2 then
azitab={}
for i=1,total do
azmath1=(math.cos(math.rad(shartab[i]))*cossundec*sinlat)-(sinsundec*coslat)
azmath2=math.cos(math.rad(althrtab[i]))
cosaz=azmath1/azmath2
azi1=math.deg(math.acos(cosaz))
aziplot=azi1
if shartab[i]<0 then
azitab[i]=(aziplot-360)*-1
else
azitab[i]=aziplot--+180
end
end
end--if hemishpere
------------------------------------------------------------------------------
--diplay sun plot
for i = 1,total do
circrad=0.25
circx=across-180+azitab[i]
circy=down-althrtab[i]
cairo_arc(cr,circx,circy,circrad,0,2*math.pi)
cairo_close_path(cr)
cairo_set_source_rgba(cr,0.4,0.4,0.4,1)
cairo_fill (cr)
end
--plot current sun position
circrad=7
circx=across-180+azitab[stime]
circy=down-althrtab[stime]
cairo_arc(cr,circx,circy,circrad,0,2*math.pi)
cairo_close_path(cr)
cairo_set_source_rgba(cr,1,1,0,1)
cairo_fill (cr)
-------------------------------
--curerent sun alt and azi
sunalt=althrtab[stime]
sunazi=azitab[stime]
--------------------------------------------
--############################################################################
--draw vertical N-S line
cairo_set_line_width (cr, 1)
cairo_set_source_rgba(cr,0.5,0.5,0.5,1)
cairo_move_to (cr, across, down+100)
cairo_line_to (cr, across, down-100)
cairo_stroke (cr)
--draw horizon
cairo_move_to (cr, across-180, down)
cairo_line_to (cr, across+180, down)
cairo_stroke (cr)
if hemisphere==1 then
cairo_move_to (cr, across-4, down-102)
cairo_show_text (cr, "S")
cairo_move_to (cr, across-4, down+109)
cairo_show_text (cr, "N")
else
cairo_move_to (cr, across-4, down-102)
cairo_show_text (cr, "N")
cairo_move_to (cr, across-4, down+109)
cairo_show_text (cr, "S")
cairo_stroke (cr)
end
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--#############  MOON CACULATIONS AND DISPLAY ###########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--calculate moon data----------------------------------------------------------------
--moon stuff
F = range(93.2721 + 483202 * t - 0.003403 * t* t - t * t * t/3526000);
L2 = range(218.316 + 481268 * t);
Om2 = range(125.045 - 1934.14 * t + 0.002071 * t * t + t * t * t/450000);
M2 = range(134.963 + 477199 * t + 0.008997 * t * t + t * t * t/69700);
cosm2=math.cos(math.rad(M2))
D = range(297.85 + 445267 * t - 0.00163 * t * t + t * t * t/545900);
D2 = 2*D;
cosd2m2=math.cos(math.rad(D2-M2))
cosd2=math.cos(math.rad(D2))
R2 = 1 + (-20954 * cosm2 - 3699 * cosd2m2 - 2956 * cosd2 / 385000);
R3 = (R2 / R1) / 379.168831168831;
sinf=math.sin(math.rad(F))
sinm2f=math.sin(math.rad(M2-F))
sind2f=math.sin(math.rad(D2-F))
Bm = 5.128 * sinf + 0.2806 * sinm2f;
Bm = Bm + 0.2777 * sinm2f + 0.1732 * sind2f;
sinm2=math.sin(math.rad(M2))
sind2m2=math.sin(math.rad(D2-M2))
sind2=math.sin(math.rad(D2))
Lm = 6.289 * sinm2 + 1.274 * sind2m2 + 0.6583 * sind2; 
sin2m2=math.sin(math.rad(2*M2))
sin2f=math.sin(math.rad(2*F))
Lm = Lm + 0.2136 * sin2m2 - 0.1851 * sinm1 - 0.1143 * sin2f;
sind22m2=math.sin(math.rad(D2-(2*M2))) 
Lm = Lm +0.0588 * sind22m2
sind2m1m2=math.sin(math.rad(D2-M1-M2))
sind2m22=math.sin(math.rad(D2+M2))
Lm = Lm + 0.0572* sind2m1m2 + 0.0533* sind2m22;
Lm = Lm + L2;
tanbm=math.tan(math.rad(Bm))
sinbm=math.sin(math.rad(Bm))
cosbm=math.cos(math.rad(Bm))
sinlm=math.sin(math.rad(Lm))
coslm=math.cos(math.rad(Lm))
Ra2 = math.atan((sinlm * oblcos - tanbm* oblsin));
Dec2 = math.asin(sinbm* oblcos + cosbm*oblsin*sinlm);
sinlam1lm=math.sin(math.rad(Lam1-Lm))
HLm = range(Lam1 + 180 + (180/math.pi) * R3 * cosbm * sinlam1lm);
HBm = R3 * Bm;
--------------------------------------------------------------------
--obliquity of ecliptic:
eps = 23.0 + 26.0/60.0 + 21.448/3600.0 - (46.8150*T+ 0.00059*T*T- 0.001813*T*T*T)/3600;
X = cos(Bm)*cos(Lm)
Y = cos(eps)*cos(Bm)*sin(Lm) - sin(eps)*sin(Bm)
Z = sin(eps)*cos(Bm)*sin(Lm) - cos(eps)*sin(Bm)
R = math.sqrt(1.0-Z*Z);
delta = (180/math.pi)*math.atan(Z/R); -- in degrees-- declination
RA = (24/math.pi)*math.atan(Y/(X+R)); -- in hours
-------------------------------------------------------
delta=math.deg(Dec2)
------------------------------------------------------
sdec=delta
althrtab={}
shartab={}
total=1440
cossundec=math.cos(math.rad(sdec))
coslat=math.cos(math.rad(latitude))
sinlat=math.sin(math.rad(latitude))
sinsundec=math.sin(math.rad(sdec))
sinmath=sinsundec*sinlat
for i=0,total do
sha=180+(i*(360/total))
cossha=math.cos(math.rad(sha))
cosmath=cossha*cossundec*coslat
sinelevation=cosmath+sinmath
elevation=math.deg(math.asin(sinelevation))
curaltlong=elevation
curalt=round(curaltlong,2)
althrtab[i]=curalt
shartab[i]=sha-360
end
--#############################################
--calculate moonrise and moonset
for i=1,(total-1) do
if althrtab[i]<0 and althrtab[i+1]>0 then
rise=i
end
if althrtab[i]>0 and althrtab[i+1]<0 then
set=i
end
end
rise=rise/60
rises=string.split(rise,"%p")
mriseh=rises[1]
riseml=string.len(rises[2])
risem=(rises[2]/(10^riseml))*60
risems=string.split(risem,"%p")
mrisem=risems[1]
set=set/60
sets=string.split(set,"%p")
mseth=sets[1]
setml=string.len(sets[2])
setm=(sets[2]/(10^setml))*60
setms=string.split(setm,"%p")
msetm=setms[1]
--#############################################
--calculate azimuth for all above points
if hemisphere==1 then
azitab={}
for i=1,total do
azmath1=(math.cos(math.rad(shartab[i]))*cossundec*sinlat)-(sinsundec*coslat)
azmath2=math.cos(math.rad(althrtab[i]))
cosaz=azmath1/azmath2
azi1=math.deg(math.acos(cosaz))
aziplot=azi1
if shartab[i]<0 then
azitab[i]=(aziplot-180)*-1
else
azitab[i]=aziplot+180
end
end
end--if hemishpere
if hemisphere==2 then
azitab={}
for i=1,total do
azmath1=(math.cos(math.rad(shartab[i]))*cossundec*sinlat)-(sinsundec*coslat)
azmath2=math.cos(math.rad(althrtab[i]))
cosaz=azmath1/azmath2
azi1=math.deg(math.acos(cosaz))
aziplot=azi1
if shartab[i]<0 then
azitab[i]=(aziplot-360)*-1
else
azitab[i]=aziplot
end
end
end--if hemishpere
------------------------------------------------------------------------------
--diplay moon plot
for i = 1,total do
circrad=0.25
circx=across-180+azitab[i]
circy=down-althrtab[i]
cairo_arc(cr,circx,circy,circrad,0,2*math.pi)
cairo_close_path(cr)
cairo_set_source_rgba(cr,0.7,0.7,0.7,1)
cairo_fill (cr)
end
--plot current moon position
madj=tostring(rangei(sgtime+360))
mtime=madj
circrad=5
circx=across-180+(azitab[tonumber(mtime)])
circy=down-(althrtab[tonumber(mtime)])
cairo_arc(cr,circx,circy,circrad,0,2*math.pi)
cairo_close_path(cr)
cairo_set_source_rgba(cr,1,1,1,1)
cairo_fill (cr)
-------------------------------
--curerent moon alt and azi
moonalt=althrtab[tonumber(mtime)]
moonazi=azitab[tonumber(mtime)]
---------------------------------------------
--################################################################################################################################################
--################################################################################################################################################
--#############  TEXT DISPLAYS ###########################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--################################################################################################################################################
--draws text label
font="Mono"
fontsize=10
cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fontsize);
cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, 0.5);
--top left - sun moon alt and azi
tlx=20
tly=20
adj=10
cairo_move_to (cr, tlx, tly)
cairo_show_text (cr, "Positions")
gap=10
add=fontsize+((fontsize/100)*adj)+gap
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Soleil")
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Azimut " .. round(sunazi,2) .. "°")
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Altitude " .. sunalt .. "°")
gap=10
add=fontsize+((fontsize/100)*adj)+add+gap
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Lune")
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Azimut " .. round(moonazi,2) .. "°")
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Altitude " .. moonalt .. "°")
tlx=180
tly=20
adj=10
cairo_move_to (cr, tlx, tly)
cairo_show_text (cr, "Heure")
gap=10
add=fontsize+((fontsize/100)*adj)+gap
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Heure  Locale: " .. H .. ":" .. Min)
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Heure Sidérale: " .. GMST24H .. ":" .. GMST24M )
add=fontsize+((fontsize/100)*adj)+add
cairo_move_to (cr, tlx, tly+add)
cairo_show_text (cr, "Heure Solaire : " .. LST24H .. ":" .. LST24M)
cairo_stroke (cr)
--#######################################################################
--###########################################################################################
--###########################################################################################
--###########################################################################################
--###########################################################################################
end-- end if updates =
end--end main function
 


95

Audacious cliquable



Un autre conky cliquable pour audacious tirer d'un skin covergloobus sur deviantart

le conkyrc

Code :
# -- Conky settings -- #
background no                                 
update_interval 0.5                             
cpu_avg_samples 2                             
net_avg_samples 2                             
override_utf8_locale yes                         
double_buffer yes                            
no_buffers yes
text_buffer_size 1024                             
imlib_cache_size 15000
max_specials 10000
max_user_text 15000
diskio_avg_samples 2                             
format_human_readable yes                         
border_inner_margin 0                            
border_outer_margin 0                            
# -- Window specifications -- #
own_window yes                                 
own_window_type normal                             
own_window_transparent no                         
own_window_argb_visual yes                         
own_window_argb_value 0                         
own_window_hints undecorate,skip_taskbar,skip_pager,below      
own_window_title media
minimum_size 412 176                             
maximum_width 412                             
alignment top_right                            
gap_x 40                                 
gap_y 820                                 
# -- Graphics settings -- #
draw_shades no                                
draw_outline no                                
draw_borders yes                                                       
draw_graph_borders no                            
border_width 0                                 
default_bar_size 210 4                            
default_color 000000
# -- Text settings -- #
use_xft yes                                 
xftfont GE Inspira:size=8                        
color1 92deee                                
color2 668c95
color3 d0fefb
color4 2f3d40
color5 ff6c4a
lua_load ~/.conky/audacious/scripts/button_script.lua
lua_draw_hook_pre get_mouse {"media","/tmp/xdo"} 
lua_startup_hook start_xdo /tmp/xdo
#lua_shutdown_hook stop_xdo
lua_load ~/.conky/audacious/scripts/lua_functions.lua
lua_load ~/.conky/lua/image.lua
template1 ${lua rc_button {btype=3,bname="button1",blx_off=278,bly_off=75,bw_off=22,bh_off=12}}
template2 ${lua rc_button {btype=3,bname="button2",blx_off=216,bly_off=75,bw_off=22,bh_off=12}}
template3 ${lua rc_button {btype=3,bname="button3",blx_off=185,bly_off=75,bw_off=22,bh_off=12}}
template4 ${lua rc_button {btype=3,bname="button4",blx_off=247,bly_off=75,bw_off=22,bh_off=12}}
template5 ${lua rc_button {btype=3,bname="button5",blx_off=309,bly_off=75,bw_off=22,bh_off=12}}
TEXT
${execi 3 ~/.conky/audacious/scripts/cover.sh}
${lua fDrawImage ~/.conky/audacious/casee.png 0 0 410 138}${lua fDrawImage ~/.conky/audacious/audacious.png 40 32 70 70}${lua fDrawImage ~/.conky/audacious/album.png 28 20 93 92}${voffset -30}${font GE Inspira :size=14}
${alignc -50}${execi 3 audtool current-song-tuple-data artist}${font}
${alignc -50}${execi 3 audtool current-song-tuple-data title}
${alignc -50}${execi 3 audtool current-song-tuple-data album}
${goto 160}${execi 1 audtool current-song-output-length}  ${goto 348}${execi 1 audtool current-song-length}
${voffset 10}${goto 160}${color 000000}${execbar expr 100 \* $(audtool --current-song-output-length-seconds) \/ $(audtool --current-song-length-seconds)}$color\
${goto 160}${color ffffff}${execbar echo 0}
${if_match ${template1}==0}
${else}${lua fDrawImage ~/.conky/audacious/images/Orange.png 360 5 35 35}${exec audacious --pause}
${endif}
${if_match ${template2}==0}
${else}${lua fDrawImage ~/.conky/audacious/images/Orange.png 360 5 35 35}${exec audacious --stop}
${endif}
${if_match ${template3}==0}
${else}${lua fDrawImage ~/.conky/audacious/images/Orange.png 360 5 35 35}${exec audacious --rew}
${endif}
${if_match ${template4}==0}
${else}${lua fDrawImage ~/.conky/audacious/images/Orange.png 360 5 35 35}${exec audacious --play}
${endif}
${if_match ${template5}==0}
${else}${lua fDrawImage ~/.conky/audacious/images/Orange.png 360 5 35 35}${exec audacious --fwd}
${endif}
${lua fDrawImage ~/.conky/audacious/ppause.png 278 65 30 15}
${lua fDrawImage ~/.conky/audacious/pstop.png 216 65 30 15}
${lua fDrawImage ~/.conky/audacious/pprev.png 185 65 30 15}
${lua fDrawImage ~/.conky/audacious/pplay.png 247 65 30 15}
${lua fDrawImage ~/.conky/audacious/pnext.png 309 65 30 15}
${voffset -350}


201

Conky olgmen



le conkyrc

Code :

background no
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 100 640
maximum_width 100
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
border_width 1
draw_graph_borders no
default_color ffffff
default_outline_color cacaca
alignment top_left
gap_x 0
gap_y 100
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1                ffff00
#
color2                6495ee
#
color3                ffffff
#
color4                ffffff
#
color5                6495ee
#   
color6                red
 #cornflowerblue
# — Lua Load — #
lua_load ~/.conky/olgmen/scripts/data_comp.lua
lua_draw_hook_pre conky_widgets
TEXT


le lua principal

Code :

--[[data_comp.lua par olgmen le 25/12/2011
Francisation par loutch
fonction affiche des données sur le fonctionnement du processeur, de la mémoire, de l'Internet
pour exécuter cette fonction, il est nécessaire dans conkyrc, au-dessus du mot TEXT ajouter les lignes suivantes
# - Lua Load - #
lua_load ~ / scripts / data_comp.lua
lua_draw_hook_pre conky_widgets
Toutes les données sont calculées pour une utilisation dans la fenêtre conky avec la taille de 1260x675 (dans tout mon écran)
]]
require "cairo"
-- définir la section d'accueil, pour la capacité de travailler à partir de n'importe quel ordinateur
usrhome = os.getenv("HOME")
-- les scripts nécessaires sont dans le dossier des scripts
--dofile (usrhome .."/scripts/backgraund.lua")    -- arrière-plan de sortie de script, cadres
dofile (usrhome .."/.conky/olgmen/scripts/text1.lua")            -- script sorties textes
dofile (usrhome .."/.conky/olgmen/scripts/scale1.lua")            -- sorties de script échelles
text_color = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}}
-- fonction qui démarre tout affiché dans la fenêtre conky. Toutes les données sont calculées pour une utilisation dans la fenêtre conky avec la taille de 1260x675 (dans tout mon écran)
function conky_widgets()
    text_settings = {
      {
    text ="Processeurs" ,
    x = 20,
    y = 10,
    font_size = 12,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text ="CPU1" .. "                   " .. "°C",
    x = 15,
    y = 25,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="CPU2" .. "                   " .. "°C",
    x = 15,
    y = 100,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text ="Mémoire" ,
    x = 30,
    y = 175,
    font_size = 12,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text ="Ram" .."                   ".."Swap" ,
    x = 15,
    y = 190,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="Disques" ,
    x = 36,
    y = 275,
    font_size = 12,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="/" .."                     ".."/Home" ,
    x = 25,
    y = 290,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="Températures" ,
    x = 16,
    y = 375,
    font_size = 12,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="Sda" .."                     ".."Carte" ,
    x = 15,
    y = 390,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    
    {
    text ="Internet" ,
    x = 36,
    y = 475,
    font_size = 12,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = "Entrant" .. "             " .. "Sortant",
    x = 15,
    y = 490,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = conky_parse("${totaldown wlp2s0}"),
    x = 10,
    y = 565,
    font_size = 8,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text = conky_parse("${totalup wlp2s0}"),
    x = 70,
    y = 565,
    font_size = 8,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    
    {
    text ="Processus" .. "    " .. "Mém" .. "    " .. "Cpu",
    x = 10,
    y = 585,
    font_size = 9,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = conky_parse("${top name 1}"),
    x = 5,
    y = 600,
    font_size = 7,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = conky_parse("${top mem 1)}%"),
    x = 65,
    y = 600,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x550000, 1},{0.5, 0xff0000, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top cpu 1}%"),
    x = 95,
    y = 600,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x550000, 1},{0.5, 0xff0000, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top name 2}"),
    x = 5,
    y = 610,
    font_size = 7,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color , --{{0, 0x550000, 1},{0.5, 0xcf5500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top mem 2)}%"),
    x = 65,
    y = 610,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x550000, 1},{0.5, 0xcf5500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top cpu 2}%"),
    x = 95,
    y = 610,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color , --{{0, 0x550000, 1},{0.5, 0xcf5500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top name 3}"),
    x = 5,
    y = 620,
    font_size = 7,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color , --{{0, 0x550000, 1},{0.5, 0xcfa500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top mem 3)}%"),
    x = 65,
    y = 620,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x550000, 1},{0.5, 0xcfa500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top cpu 3}%"),
    x = 95,
    y = 620,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x550000, 1},{0.5, 0xcfa500, 1},{1, 0x550000, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top name 4}"),
    x = 5,
    y = 630,
    font_size = 7,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color ,--{{0, 0x555500, 1},{0.5, 0xcfcf00, 1},{1, 0x555500, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top mem 4)}%"),
    x = 65,
    y = 630,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x555500, 1},{0.5, 0xcfcf00, 1},{1, 0x555500, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top cpu 4}%"),
    x = 95,
    y = 630,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color ,--{{0, 0x555500, 1},{0.5, 0xcfcf00, 1},{1, 0x555500, 1}},
    orientation="nn",
    },
    {
    text = conky_parse("${top name 5}"),
    x = 5,
    y = 640,
    font_size = 7,
    bold = false,
    h_align = "l",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = conky_parse("${top mem 5)}%"),
    x = 65,
    y = 640,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    {
    text = conky_parse("${top cpu 5}%"),
    x = 95,
    y = 640,
    font_size = 7,
    bold = false,
    h_align = "c",
    v_align = "m",
    colour = text_color,
    orientation="nn",
    },
    }
-- dériver des échelles
    scale_settings = {
    {
    name = "cpu",
    arg = "cpu0",
    x = 10,
    y = 30,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
{
    name = "exec",
    arg = "expr `cat /sys/class/hwmon/hwmon2/temp1_input` / 1000",
    x = 70,
    y = 30,
    width = 35,
    height =60,
    scale = 16,
    colour_scale = {{0, 0xff0000, 1},{0.5, 0xffffff, 1},{1, 0x0000ff, 1}},
    font_size = 9,
    },
    
    {
    name = "cpu",
    arg = "cpu1",
    x = 10,
    y = 105,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    {
    name = "exec",
    arg = "expr `cat /sys/class/hwmon/hwmon2/temp2_input` / 1000",
    x = 70,
    y = 105,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xff0000, 1},{0.5, 0xffffff, 1},{1, 0x0000ff, 1}},
    font_size = 9,
    },
    {
    name = "memperc",
    arg = "",
    x = 10,
    y = 200,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    {
    name = "swapperc",
    arg = "",
    x = 70,
    y = 200,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    {
    name = "fs_used_perc",
    arg = "/",
    x = 10,
    y = 300,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    {
    name = "fs_used_perc",
    arg = "/home",
    x = 70,
    y = 300,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    {
    name = "execi",
    arg = "120 hddtemp -n /dev/sda",
    x = 10,
    y = 400,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xff0000, 1},{0.5, 0xffffff, 1},{1, 0x0000ff, 1}},
    font_size = 9,
    },
    
    {
    name = "hwmon",
    arg = "1 temp 1",
    x = 70,
    y = 400,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xff0000, 1},{0.5, 0xffffff, 1},{1, 0x0000ff, 1}},
    font_size = 9,
    },
    {
    name = "",
    arg = math.ceil(conky_parse("${downspeedf wlp2s0}")),
    x = 10,
    y = 500,
    width = 35,
    height = 60,
    scale = 16,
        colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},    
    font_size = 9,
    },
    {
    name = "",
    arg = math.ceil(conky_parse("${upspeedf wlp2s0}")),
    x = 70,
    y = 500,
    width = 35,
    height = 60,
    scale = 16,
    colour_scale = {{0, 0xffffff, 1},{0.5, 0xffffff, 1},{1, 0xffffff, 1}},
    font_size = 9,
    },
    
    }
-- --------------------------------------------------------------------
--[[ Ici, l'entrée de toutes les données se termine ]]
    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)
--[[ ÉCHELLES ]]
    for i,v in pairs(scale_settings) do
        cr = cairo_create (cs)
        dialgraph(v)
        cairo_destroy(cr)
    end
-- sortie de texte
    for i,v in pairs(text_settings) do
        cr = cairo_create (cs)
        display_text(v)
        cairo_destroy(cr)
    end
end    -- fonction de fermeture


text.lua

Code :

--[[TEXT WIDGET v1.42 par Wlourf le 07 février 2011
Ce widget peut dessiner des textes dans la table "text_settings" avec quelques paramètres
http://u-scripts.blogspot.com/2010/06/text-widget.html
Pour appeler le script dans un conky, utilisez, avant TEXT
lua_load /path/to/the/script/graph.lua
lua_draw_hook_pre main_graph
et ajoutez une ligne (vide ou non) après TEXT
Les paramètres (tous les optionnels) sont:
texte - texte à afficher, défaut = "Conky est bon pour vous"
              il peut être utilisé avec des variables conky, c'est-à-dire text = "mon cpu1 est $ {cpu cpu1}%")
            - les coordonnées ci-dessous sont relatives au coin supérieur gauche de la fenêtre conique
x - x coordonnée de la première lettre (en bas à gauche), par défaut = centre de la fenêtre conky
y - y coordonnée de la première lettre (en bas à gauche), par défaut = centre de la fenêtre conky
h_align - alignement horizontal du texte par rapport au point (x, y), défaut = "l"
les valeurs disponibles sont "l": gauche, "c": centre, "r": droite
v_align - alignement vertical du texte par rapport au point (x, y), défaut = "b"
valeurs disponibles "t": haut, "m": milieu, "b": bas
font_name - nom de la police à utiliser, default = Free Sans
font_size - taille de la police à utiliser, par défaut = 14
italique - affiche le texte en italique (vrai / faux), défaut = faux
oblique - affiche le texte en oblique (vrai / faux), défaut = faux (je ne vois pas la différence avec italique!)
bold - affiche le texte en gras (vrai / faux), défaut = faux
angle - rotation du texte en degrés, par défaut = 0 (horizontal)
couleur - table de couleurs pour le texte, par défaut = blanc uni {{1,0xFFFFFF, 1}}
cette table contient une ou plusieurs tables au format {P, C, A}
              P = position du dégradé (0 = début du texte, 1 = fin du texte)
              C = couleur hexadécimale
              A = alpha (opacité) de la couleur (0 = invisible, 1 = opacité 100%)
              Exemples :
              pour une couleur unie {{1,0x00FF00,0.5}}
              pour un dégradé avec deux couleurs {{0,0x00FF00,0.5}, {1,0x000033,1}}
              ou {{0.5,0x00FF00,1}, {1,0x000033,1}} - avec celui-ci, le dégradé commencera au milieu du texte
              pour un dégradé avec trois couleurs {{0,0x00FF00,0.5}, {0.5,0x000033,1}, {1,0x440033,1}}
etc ...
orientation - en cas de gradient, "orientation" définit le point de départ du dégradé, défaut = "ww"
il y a 8 points de départ disponibles: "nw", "nn", "ne", "ee", "se", "ss", "sw", "ww"
(n pour le nord, w pour l'ouest ...)
thèses 8 points sont les 4 coins + les 4 milieux du contour du texte
donc un gradient "nn" passera de "nn" à "ss" (de haut en bas, parallélisé au texte)
un gradient "nw" passera de "nw" à "se" (coin supérieur gauche à coin inférieur droit)
radial - définit un gradient radial (si présent en même temps que "orientation", "orientation" n'aura aucun effet)
ce paramètre est une table avec 6 nombres: {xa, ya, ra, xb, yb, rb}
ils définissent deux cercles pour le dégradé:
xa, ya, xb et yb sont relatifs aux valeurs x et y ci-dessus
reflection_alpha - ajoute un effet de réflexion (valeurs de 0 à 1) défaut = 0 = pas de réflexion
                      autres valeurs = début de l'opacité
reflection_scale - échelle de la réflexion (par défaut = 1 = hauteur du texte)
reflection_length - longueur de la réflexion, définir où l'opacité sera mise à zéro
calues ​​de 0 à 1, défaut = 1
skew_x, skew_y - incline le texte autour de l'axe x ou y
draw_me - si défini sur false, le texte n'est pas dessiné (par défaut = true ou 1)
              il peut être utilisé avec une chaîne conky, si la chaîne renvoie 1, le texte est dessiné:
              exemple: "$ {if_empty $ {sans fil wlan0}} $ {else} 1 $ endif",
              
v1.0 07/06/2010, Version originale
v1.1 10/06/2010 Ajouter un paramètre "orientation"
v1.2 15/06/2010 Ajout des paramètres "h_align", "v_align" et "radial"
v1.3 25/06/2010 Ajouter "reflection_alpha", "reflection_length", "reflection_scale",
                    "skew_x" et "skew_y"
v1.4 07/01/2011 Ajout du paramètre draw_me et correction des fuites de mémoire grâce à "Creamy Goodness"
                    le texte est analysé à l'intérieur de la fonction, pas dans le tableau de paramètres
v1.41 26/01/2011 Correction d'un bug pour h_align = "c"
v1.42 09/02/2011 Corriger bug pour l'orientation = "ee"
- Ce programme est un logiciel libre; vous pouvez le redistribuer et / ou modifier
- sous les termes de la Licence Publique Générale GNU telle que publiée par
- la Free Software Foundation version 3 (GPLv3)
-
- Ce programme est distribué dans l'espoir qu'il sera utile,
- mais SANS AUCUNE GARANTIE; sans même la garantie implicite de
- QUALITÉ MARCHANDE ou ADAPTATION À UN USAGE PARTICULIER. Voir le
- Licence publique générale GNU pour plus de détails.
-
- Vous devriez avoir reçu une copie de la Licence Publique Générale GNU
- avec ce programme; sinon, écrivez au logiciel libre
- Foundation, Inc., 51 rue Franklin, cinquième étage, Boston,
- MA 02110-1301, États-Unis.
Suggérer une modification
]]
require 'cairo'
function conky_draw_text()
    local text_settings={
        --BEGIN OF PARAMETERS
        {--display a text at coordinates 20,20
        text="unformatted text",
        x=20,
        y=20,
        },
--[[
        {--display a text at coordinates 20,40, with selected font and size, true and bold
        text="bold and italic text",
        x=20,
        y=40,
        font_name="Verdana",
        font_size=18,
        italic=true,
        bold=true,
        draw_me="${if_empty ${wireless_essid wlan0}}${else}1$endif",
        },
        
        {--display a text at coordinates 20,70, in green with opacity 0.8 and "oblique"
        text="green text",
        x=20,
        y=70,
        font_name="Verdana",
        font_size=18,
        oblique=true,
        --colour table contains one or more tables with 3 elements, here:
        --1 = starting point for gradient (0= beginning of the text, 1= end of the text)
        --0x00FF00    = colour in hexadecimal 
        --0.8         = opacity (0=invisible, 1=opacity 100%)
        colour={{1,0x00FF00,0.8}}
        },
        {--display a text at coordinates 20,100, with a red green blue gradient
        text="text with gradient (ww)", --(default orientation=ww)
        x=20,
        y=100,
        font_name="Clarendon",
        font_size=25,
        colour={{0,0xFF0000,0.9},{0.5,0x00FF00,1},{1,0xFFFF00,0.9}},
        },
        {--display a text at coordinates 20,130, with a red green yellow gradient
        text="text with gradient (nn)",
        x=20,
        y=130,
        font_name="Clarendon",
        font_size=25,
        orientation="nn",
        colour={{0,0xFF0000,1},{0.5,0x00FF00,1},{1,0xFFFF00,1}},
        },
        
        {--display a text at coordinates 40,290, with a yellow blue yellow gradient
        --with a 30° angle
        text="text at 30 degrees",
        x=400,
        y=190,
        colour={{0,0xFFFF00,1},{0.5,0x0000FF,1},{1,0xFFFF00,1}},
        angle=-30,
        font_name="Clarendon",
        font_size=32
        },
        
        {--text with 5 colours gradient
        text="vertical text",
        x=50,
        y=450,
        colour={{0         ,0xFF0000,1},
                {0.25    ,0xFFFF00,1},
                {0.50    ,0x00FF00,1},
                {0.75    ,0x00FFFF,1},
                {1         ,0x0000FF,1}
                },
        angle=-90,
        font_name="Clarendon",
        font_size=40,
        orientation="nw"
        },
        {--vertical text with 3 colours gradient
        text="\"bumped\" effect",
        x=250,
        y=270,
        colour={{0         ,0xDDDDDD,0.15},
                {0.50    ,0xFFFFFF,1},
                {1         ,0xDDDDDD,0.15}
                },
        font_name="Clarendon",
        font_size=35,
        orientation="nn"
        },
 
--radial gradient
         {
        text="radial gradient",
        x=400,
        y=350,
        font_name="Clarendon",
        font_size="48",
        colour={
                {0.8,0xF0FFF0,1},
                {1.00,0xF0F0FF,0.1},
                },
           h_align="c",
           radial={0,300,0,0,300,370}
        }, 
         {
        text="another radial gradient",
        x=400,
        y=400,
        font_name="Clarendon",
        font_size="48",
        colour={
                {0.98,    0xFFFF00,1},
                {0.99,    0xFF0000,1},
                {1.00,    0xFF00FF,1},
                },
           h_align="c",
           v_align="m",
        radial={0,-1000,0,0,-1000,1020}
           
        }, 
         {--display a text with some conly variables
        --use two dots to concatenate texts
        text="text with some conky, cpu= ${cpu} %",
        x=20,
        y=660,
        colour={{0,0xFFFF00,1},{0.5,0xFF0000,1},{1,0xFFFF00,1}},
        font_name="Purisa",
        bold=true,
        font_size=38
        },       
        
--text with shadow:
]]
        {
        text=conky_parse("${uptime}"),
        x=50,
        y=100,
        font_name="Clarendon",
        font_size=24,
        colour={{0,0xFFFF00,1},{0.5,0xFF0000,1},{1,0xFFFF00,1}},
           orientation="ww",
        },
          {
        text='text with shadow #1',
        x=298,
        y=498,
        font_name="Clarendon",
        font_size=50,
        colour={{0,0xFFFF00,1}},
            orientation="ww",
        },        
        
 --blur effect
        {
        text='blur effect',
        x=300,
        y=550,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FF00,0.35},
                },
        },   
         {
        text='blur effect',
        x=299,
        y=549,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FF00,0.35},
                },
        },         
         {
        text='blur effect',
        x=301,
        y=551,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FF00,0.35},
                },
        },    
                                            
--focus effect 
         {
        text='focus effect #1',
        x=300,
        y=600,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,0},
                {0.50,0x00FFFF,1},
                {1.00,0x00FFFF,0},
                },
           orientation="ww",
        }, 
         {
        text='focus effect #1',
        x=300,
        y=599,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,0.5},
                {0.50,0x00FFFF,0},
                {1.00,0x00FFFF,0.5},
                },
           orientation="ww",
        }, 
         {
        text='focus effect #1',
        x=300,
        y=601,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,0.5},
                {0.50,0x00FFFF,0},
                {1.00,0x00FFFF,0.5},
                },
           orientation="ww",
        }, 
        
--focus effect 2        
         {
        text='focus effect #2',
        x=300,
        y=720,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,1},
                {1,0x00FFFF,0},
                },
        }, 
         {
        text='focus effect #2',
        x=299,
        y=719,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,0},
                {1,0x00FFFF,0.25}, 
                },
        }, 
         {
        text='focus effect #2',
        x=301,
        y=721,
        font_name="Clarendon",
        font_size=50,
        colour={{0.00,0x00FFFF,0},
                {1,0x00FFFF,0.25},                
                },
        },
 
--text with reflection        
        {
        text="${time %H:%M:%S}",
        y=730,
        x=50,
        font_name="Ubuntu-title",
        font_size=50,
        colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
        orientation="nn",
        reflection_alpha=0.8,
        reflection_length=0.9
        },      
 
--skew x        
        {
        text="skew x",
        font_size=24,
        colour={{0,0x00FF00,1},{1,0x00FFFF,1}},
        x=30,
        y=500,
        skew_x=-10
        },
--skew y
        {
        text="skew y",
        font_size=24,
        colour={{0,0x00FF00,1},{1,0x00FFFF,1}},
        x=150,
        y=500,
        skew_y=10
        },
--skew x + skew y
        {
        text="skew x-y",
        font_size=24,
        colour={{0,0x00FF00,1},{1,0x00FFFF,1}},
        x=30,
        y=550,
        skew_y=10,
        skew_x=10
        },
--skew x + skew y
        {
        text="skew x-y",
        font_size=24,
        colour={{0,0x00FF00,1},{1,0x00FFFF,1}},
        x=150,
        y=550,
        skew_y=10,
        skew_x=10,
        reflection_alpha=0.8,
        reflection_scale=2,
        reflection_length=1.5
        },
        
        
    }
    
    
--------------END OF PARAMETERS----------------
    if conky_window == nil then return end
    if tonumber(conky_parse("$updates"))<3 then return end
       
    local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
    for i,v in pairs(text_settings) do    
        cr = cairo_create (cs)
        display_text(v)
        cairo_destroy(cr)
        cr = nil
    end
    
    cairo_surface_destroy(cs)
end
function rgb_to_r_g_b2(tcolour)
    local colour,alpha=tcolour[2],tcolour[3]
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function display_text(t)
    if t.draw_me==true then t.draw_me = nil end
    if t.draw_me~=nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end
    local function set_pattern(te)
        --this function set the pattern
        if #t.colour==1 then 
            cairo_set_source_rgba(cr,rgb_to_r_g_b2(t.colour[1]))
        else
            local pat
            
            if t.radial==nil then
                local pts=linear_orientation(t,te)
                pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
            else
                pat = cairo_pattern_create_radial (t.radial[1],t.radial[2],t.radial[3],t.radial[4],t.radial[5],t.radial[6])
            end
        
            for i=1, #t.colour do
                cairo_pattern_add_color_stop_rgba (pat, t.colour[i][1], rgb_to_r_g_b2(t.colour[i]))
            end
            cairo_set_source (cr, pat)
            cairo_pattern_destroy(pat)
        end
    end
    
    --set default values if needed
    if t.text==nil then t.text="Conky is good for you !" 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.colour==nil then t.colour={{1,0xFFFFFF,1}} 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.angle==nil then t.angle=0 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.radial ~= nil then
        if #t.radial~=6 then 
            print ("error in radial table")
            t.radial=nil 
        end
    end
    if t.orientation==nil then t.orientation="ww" end
    if t.h_align==nil then t.h_align="l" end
    if t.v_align==nil then t.v_align="b" end    
    if t.reflection_alpha == nil then t.reflection_alpha=0 end
    if t.reflection_length == nil then t.reflection_length=1 end
    if t.reflection_scale == nil then t.reflection_scale=1 end
    if t.skew_x==nil then t.skew_x=0 end
    if t.skew_y==nil then t.skew_y=0 end    
    cairo_translate(cr,t.x,t.y)
    cairo_rotate(cr,t.angle*math.pi/180)
    cairo_save(cr)       
     
    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)
 
    for i=1, #t.colour do    
        if #t.colour[i]~=3 then 
            print ("error in color table")
            t.colour[i]={1,0xFFFFFF,1} 
        end
    end
    local matrix0 = cairo_matrix_t:create()
    tolua.takeownership(matrix0) 
    local skew_x,skew_y=t.skew_x/t.font_size,t.skew_y/t.font_size
    cairo_matrix_init (matrix0, 1,skew_y,skew_x,1,0,0)
    cairo_transform(cr,matrix0)
    cairo_set_font_size(cr,t.font_size)
    local te=cairo_text_extents_t:create()
    tolua.takeownership(te) 
    t.text=conky_parse(t.text)
    cairo_text_extents (cr,t.text,te)
    set_pattern(te)
            
    local mx,my=0,0
    
    if t.h_align=="c" then
        mx=-te.width/2-te.x_bearing
    elseif t.h_align=="r" then
        mx=-te.width
    end
    if t.v_align=="m" then
        my=-te.height/2-te.y_bearing
    elseif t.v_align=="t" then
        my=-te.y_bearing
    end
    cairo_move_to(cr,mx,my)
    
    cairo_show_text(cr,t.text)
     
        
        
   if t.reflection_alpha ~= 0 then 
        local matrix1 = cairo_matrix_t:create()
        tolua.takeownership(matrix1)         
        cairo_set_font_size(cr,t.font_size)
        cairo_matrix_init (matrix1,1,0,0,-1*t.reflection_scale,0,(te.height+te.y_bearing+my)*(1+t.reflection_scale))
        cairo_set_font_size(cr,t.font_size)
        te=nil
        local te=cairo_text_extents_t:create()
        tolua.takeownership(te) 
        cairo_text_extents (cr,t.text,te)
        
                
        cairo_transform(cr,matrix1)
        set_pattern(te)
        cairo_move_to(cr,mx,my)
        cairo_show_text(cr,t.text)
        local pat2 = cairo_pattern_create_linear (0,
                                        (te.y_bearing+te.height+my),
                                        0,
                                        te.y_bearing+my)
        cairo_pattern_add_color_stop_rgba (pat2, 0,1,0,0,1-t.reflection_alpha)
        cairo_pattern_add_color_stop_rgba (pat2, t.reflection_length,0,0,0,1)    
        
        --line is not drawn but with a size of zero, the mask won't be nice
        cairo_set_line_width(cr,1)
        local dy=te.x_bearing
        if dy<0 then dy=dy*(-1) end
        cairo_rectangle(cr,mx+te.x_bearing,te.y_bearing+te.height+my,te.width+dy,-te.height*1.05)
        cairo_clip_preserve(cr)
        cairo_set_operator(cr,CAIRO_OPERATOR_CLEAR)
        --cairo_stroke(cr)
        cairo_mask(cr,pat2)
        cairo_pattern_destroy(pat2)
        cairo_set_operator(cr,CAIRO_OPERATOR_OVER)
        te=nil
    end
    
end
function linear_orientation(t,te)
    local w,h=te.width,te.height
    local xb,yb=te.x_bearing,te.y_bearing
    
    if t.h_align=="c" then
        xb=xb-w/2
    elseif t.h_align=="r" then
        xb=xb-w
       end    
    if t.v_align=="m" then
        yb=-h/2
    elseif t.v_align=="t" then
        yb=0
       end    
    local p=0
    if t.orientation=="nn" then
        p={xb+w/2,yb,xb+w/2,yb+h}
    elseif t.orientation=="ne" then
        p={xb+w,yb,xb,yb+h}
    elseif t.orientation=="ww" then
        p={xb,h/2,xb+w,h/2}
    elseif vorientation=="se" then
        p={xb+w,yb+h,xb,yb}
    elseif t.orientation=="ss" then
        p={xb+w/2,yb+h,xb+w/2,yb}
    elseif t.orientation=="ee" then
        p={xb+w,h/2,xb,h/2}        
    elseif t.orientation=="sw" then
        p={xb,yb+h,xb+w,yb}
    elseif t.orientation=="nw" then
        p={xb,yb,xb+w,yb+h}
    end
    return p
end



scale.lua

Code :

--[[cadrans mrpeachy mai 2011
créé par olgmen 11/12/2011
pour le travail il faut ajouter conkyrc au-dessus du mot TEXT
lua_load / chemin d'accès au fichier / scale.lua - modifier pour n'importe quoi et où vous avez enregistré le fichier
lua_draw_hook_pre draw_fig - doit être inchangé
x - coordonnées du coin supérieur gauche de l'échelle horizontalement
y - les coordonnées du coin supérieur droit de l'échelle verticalement
largeur - largeur de l'échelle
hauteur - hauteur de l'échelle
échelle - le nombre total de divisions affichées
couleur - la couleur des divisions et des chiffres affichés
color_middle - couleur des lignes centrales
alpha - saturation des couleurs
nom_fonte - nom de la police
font_size - Taille de la police
dernière mise à jour 02.01.2012
]]
require 'cairo'
function conky_draw_fig()
scale_settings = {
{
name = "",
arg = math.ceil(conky_parse("${time %S}")),
x = 100,
y = 50.5,
width = 60,
height = 200,
scale = 40,                --combien de divisions peuvent être vus dans le cadran
font = "Ubuntu",
font_size = 12,        --number font and font size
colour_scale = {{0, 0xff0000, 1},{0.5, 0xffffff, 1},{1, 0x0000ff, 1}},
},
}
    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)
    for i,v in pairs(scale_settings) do    
            cr = cairo_create (cs)
            dialgraph(v)
            cairo_destroy(cr)
    end
end
-- ---------------------------------------------------------------------
-- функция перекодировки цвета
--[[
function rgb_to_r_g_b(colour,alpha)
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
]]
-- ---------------------------------------------------------------------
function dialgraph (t)
--    local 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
    
    local function rgb_to_r_g_b(colour,alpha)
        return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
    end
-- vérifier les données et ajouter les données par défaut
    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.width             == nil then t.width = 50 end
    if t.height            == nil then t.height = 100 end
    if t.scale            == nil then t.scale = 20 end
    if t.alpha            == nil then t.alpha = 1 end
    if t.colour_middle    == nil then t.colour_middle = 0xff5500 end
    if t.font_name        == nil then t.font_name = "Ubuntu" end
    if t.font_size        == nil then t.font_size = 14 end
    if t.orientation    == nil then t.orientation = "nn" end
    if t.colour_scale     == nil then
        t.colour_scale = {{0, 0x333333, 0.75},{0.5, 0xffffff, 1},{1, 0x333333, 0.75}}
    end
    
    if t.draw_me == true then t.draw_me = nil end
    if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end
    
    local value = 0
    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
--valuegraph
    local adj = (value % 5)
    local lines = tonumber(t.scale)
    local gap = t.height/lines
    cairo_set_line_width (cr, 1)
    
--    cairo_set_source_rgba(cr, rgb_to_r_g_b(t.colour, t.alpha))
    
    cairo_select_font_face (cr, t.font_name, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
    cairo_set_font_size (cr, t.font_size)
    if #t.colour_scale == 1 then 
        cairo_set_source_rgba(cr,rgb_to_r_g_b2(t.colour_scale[1]))
    else
        local pat
        local pts=linear_orientation_bg(t)
        pat = cairo_pattern_create_linear (pts[1], pts[2], pts[3], pts[4])
        for i=1, #t.colour_scale do
            cairo_pattern_add_color_stop_rgba (pat, t.colour_scale[i][1], rgb_to_r_g_b2(t.colour_scale[i]))
        end
        cairo_set_source (cr, pat)
    end
--calculate line and number positions
    for i = 2,lines do
        n = i
        for i = 1, lines, 5 do
--print (i)
            if n == (lines/2)+(5-adj)+i or n == (lines/2)+(5-adj)+(-i-3) then
                len = -2*(t.width/5)
            else
                len = -1*(t.width/5)
            end
            if n == (lines/2)+(5-adj)+i then
                num = value - adj + (i + 4)
                elseif n == (lines/2)+(5-adj)+(-i-3) then
                    num = value - adj-(i-1)
                else
                    num = ""
            end
--print lines
            cairo_move_to (cr, t.x+(t.width/2), t.y+t.height-(gap*(n-1)))
            cairo_rel_line_to (cr, len, 0)
--            cairo_stroke (cr)
--print numbers
            cairo_move_to (cr, t.x+(t.width/2)+2, t.y+t.height-(gap*(n-1))+(t.font_size/3))
            cairo_show_text (cr, num)
            cairo_stroke (cr)
        end--for
    end--for
--middle lines
    cairo_set_source_rgba(cr, rgb_to_r_g_b(t.colour_middle, t.alpha))
    cairo_move_to (cr, t.x + t.width, t.y + (t.height/2)+2)
    cairo_rel_line_to (cr, -t.width, 0)
    cairo_stroke (cr)
    cairo_move_to (cr, t.x + t.width, t.y + (t.height/2)-2)
    cairo_rel_line_to (cr, -t.width, 0)
    cairo_stroke (cr)
    cairo_pattern_destroy (pat)
    
--[[    local function linear_orientation_bg(t)
        if t.orientation    == "nn" then
            p = {t.x + t.width/2, t.y, t.x + t.width/2, t.y + t.height}
        elseif t.orientation    == "ne" then
            p = {t.x + t.width, t.y, t.x, t.y + t.height}
        elseif t.orientation    == "ee" then
            p = {t.x + t.width, t.y + t.height/2, t.x, t.y + t.height/2}
        elseif t.orientation    == "se" then
            p = {t.x +t.width, t.y + t.height, t.x, t.y}
        elseif t.orientation    == "ss" then
            p = {t.x + t.width/2, t.y + t.height, t.x + t.width/2, t.y}
        elseif t.orientation    == "sw" then
            p = {t.x, t.y + t.height, t.x + t.width, t.y}
        elseif t.orientation    == "ww" then
            p = {t.x, t.y + t.height/2, t.x + t.width, t.y + t.height/2}
        else
            p = {t.x, t.y, t.x + t.width, t.y + t.height}
        end
        return p
    end
]]
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 linear_orientation_bg(t)
    if t.orientation    == "nn" then
        p = {t.x + t.width/2, t.y, t.x + t.width/2, t.y + t.height}
    elseif t.orientation    == "ne" then
        p = {t.x + t.width, t.y, t.x, t.y + t.height}
    elseif t.orientation    == "ee" then
        p = {t.x + t.width, t.y + t.height/2, t.x, t.y + t.height/2}
    elseif t.orientation    == "se" then
        p = {t.x +t.width, t.y + t.height, t.x, t.y}
    elseif t.orientation    == "ss" then
        p = {t.x + t.width/2, t.y + t.height, t.x + t.width/2, t.y}
    elseif t.orientation    == "sw" then
        p = {t.x, t.y + t.height, t.x + t.width, t.y}
    elseif t.orientation    == "ww" then
        p = {t.x, t.y + t.height/2, t.x + t.width, t.y + t.height/2}
    else
        p = {t.x, t.y, t.x + t.width, t.y + t.height}
    end
    return p
end


204


Meteo+lune



A le demande de certain voici mon conky-meteo-lune-baromètre et le graph de la pression et de la température.

Attention il faut le pack meteo6jours de Didier-T trouvé ici et le graph (même page post n'4 l'accuweather-3.deb) comme se sont des .deb il faut éxtraire les fichiers ) .



Il faut aussi avoir "gnuplot " d'installé.

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_meteo/15.png  60 600 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/18.png  70 550 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/13.png 105 500 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/14.png 158 470 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/6.png  220 470 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/4.png  260 500 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/3.png  280 550 60 40}
${lua fDrawImage ~/.conky/conky-meteo/meteo_lua_2/icones/icone_meteo/1.png  280 600 60 40}



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 textwriting.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



Le Graphique de la pression et de la température

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
 


Ca donne ceci :


1422005667


Cette page a été vue 8950 fois