Utiliser Mageia

Conky -conkyrc -scripts - partie 1

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 01/06/2014 à 10h14
Table des matières EN COURS D'ELABORATION







Annexe du tuto <a href="" target="_blank">http://www.mageialinux-online.org/wiki/conky</a>









J'ai crée cette annexe pour partager mes conkyrc scripts fichiers lua et un peu pour avoir une sauvegarde en cas de plantage de mon ordi.

Les chemins des scripts et des fichiers lua seront à modifier en fonction de votre configuration.

Voila si vous avez des problèmes venez ici <a href="" target="_blank"><a href="" target="_blank">http://www.mageialinux-online.org/forum/topic-14363+vos-conky.php</a></a>vous y trouverez de l'aide.




Pour fonctionner certain conky ont besoin de :



- imagemagick

-python3

-python3-beautifulsoup4

-python-notify

-libnotify4

-curl

( à finir)









Conky principal





Caché :


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 150

maximum_width 140

text_buffer_size 1024

draw_shades no

draw_outline no

draw_borders no

draw_graph_borders no

default_color 000000

default_outline_color white

alignment top_right

gap_x 0

gap_y 30

no_buffers yes

uppercase no

cpu_avg_samples 2

override_utf8_locale yes



color 000000



lua_load ~/.conky/blanc/barasmall.lua

lua_draw_hook_pre main_bars #bars pour bargraph rings pour tousv

#lua_load ~/.conky/draw_bg/draw_bg.lua



TEXT

#${lua conky_draw_bg 10 0 0 0 0 0x000000 0.50}



CPU 1

${cpu cpu0}% ${freq_g 1} GHz

Température: ${exec expr `cat /sys/class/hwmon/hwmon2/device/temp1_input` / 1000}°C



CPU 2

${cpu cpu1}% ${freq_g 2}GHz

Température: ${exec expr `cat /sys/class/hwmon/hwmon2/device/temp2_input` / 1000}°C



CPU3

${cpu cpu2}% ${freq_g 3}GHz

Température: ${exec expr `cat /sys/class/hwmon/hwmon2/device/temp3_input` / 1000}°C



CPU4

${cpu cpu3}% ${freq_g 4}GHz

Température: ${exec expr `cat /sys/class/hwmon/hwmon2/device/temp3_input` / 1000}°C



RAM

$memperc%



PARTITION

/racine

${fs_used_perc /}% ${fs_size /}



/home

${fs_used_perc /home}% ${fs_size /home}



RESEAU

Down

${downspeedf wlp2s0}k/s ${totaldown wlp2s0}



Up

${upspeedf wlp2s0}k/s ${totalup wlp2s0}



TEMPERATURES

Carte: ${hwmon 0 temp 1} °C

Disque: ${execi 120 hddtemp -n /dev/sda} °C



Allumé depuis :

$uptime




son lua



Caché :




--[[

BARGRAPH WIDGET

v2.1 by wlourf (07 Jan. 2011)

this widget draws a bargraph with different effects

http://u-scripts.blogspot.com/2010/07/bargraph-widget.html



To call the script in a conky, use, before TEXT

lua_load /path/to/the/script/bargraph.lua

lua_draw_hook_pre main_rings

and add one line (blank or not) after TEXT



Parameters are :

3 parameters are mandatory

name - the name of the conky variable to display, for example for {$cpu cpu0}, just write name="cpu"

arg - the argument of the above variable, for example for {$cpu cpu0}, just write arg="cpu0"

arg can be a numerical value if name=""

max - the maximum value the above variable can reach, for example, for {$cpu cpu0}, just write max=100



Optional parameters:

x,y - coordinates of the starting point of the bar, default = middle of the conky window

cap - end of cap line, ossibles values are r,b,s (for round, butt, square), default="b"

http://www.cairographics.org/samples/set_line_cap/

angle - angle of rotation of the bar in degress, default = 0 (i.e. a vertical bar)

set to 90 for an horizontal bar

skew_x - skew bar around x axis, default = 0

skew_y - skew bar around y axis, default = 0

blocks - number of blocks to display for a bar (values >0) , default= 10

height - height of a block, default=10 pixels

width - width of a block, default=20 pixels

space - space between 2 blocks, default=2 pixels

angle_bar - this angle is used to draw a bar on a circular way (ok, this is no more a bar !) default=0

radius - for cicular bars, internal radius, default=0

with radius, parameter width has no more effect.



Colours below are defined into braces {colour in hexadecimal, alpha}

fg_colour - colour of a block ON, default= {0x00FF00,1}

bg_colour - colour of a block OFF, default = {0x00FF00,0.5}

alarm - threshold, values after this threshold will use alarm_colour colour , default=max

alarm_colour - colour of a block greater than alarm, default=fg_colour

smooth - (true or false), create a gradient from fg_colour to bg_colour, default=false

mid_colour - colours to add to gradient, with this syntax {position into the gradient (0 to1), colour hexa, alpha}

for example, this table {{0.25,0xff0000,1},{0.5,0x00ff00,1},{0.75,0x0000ff,1}} will add

3 colours to gradient created by fg_colour and alarm_colour, default=no mid_colour

led_effect - add LED effects to each block, default=no led_effect

if smooth=true, led_effect is not used

possibles values : "r","a","e" for radial, parallel, perdendicular to the bar (just try!)

led_effect has to be used with theses colours :

fg_led - middle colour of a block ON, default = fg_colour

bg_led - middle colour of a block OFF, default = bg_colour

alarm_led - middle colour of a block > ALARM, default = alarm_colour



reflection parameters, not available for circular bars

reflection_alpha - add a reflection effect (values from 0 to 1) default = 0 = no reflection

other values = starting opacity

reflection_scale - scale of the reflection (default = 1 = height of text)

reflection_length - length of reflection, define where the opacity will be set to zero

values from 0 to 1, default =1

reflection - position of reflection, relative to a vertical bar, default="b"

possibles values are : "b","t","l","r" for bottom, top, left, right

draw_me - if set to false, text is not drawn (default = true or 1)

it can be used with a conky string, if the string returns 1, the text is drawn :

example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",



v1.0 (10 Feb. 2010) original release

v1.1 (13 Feb. 2010) numeric values can be passed instead conky stats with parameters name="", arg = numeric_value

v1.2 (28 Feb. 2010) just renamed the widget to bargraph

v1.3 (03 Mar. 2010) added parameters radius & angle_bar to draw the bar in a circular way

v2.0 (12 Jul. 2010) rewrite script + add reflection effects and parameters are now set into tables

v2.1 (07 Jan. 2011) Add draw_me parameter and correct memory leaks, thanks to "Creamy Goodness"



-- This program is free software; you can redistribute it and/or modify

-- it under the terms of the GNU General Public License as published by

-- the Free Software Foundation version 3 (GPLv3)

--

-- This program is distributed in the hope that it will be useful,

-- but WITHOUT ANY WARRANTY; without even the implied warranty of

-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

-- GNU General Public License for more details.

--

-- You should have received a copy of the GNU General Public License

-- along with this program; if not, write to the Free Software

-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,

-- MA 02110-1301, USA.



]]



require 'cairo'



----------------START OF PARAMETERS ----------

function conky_main_bars()

local bars_settings={

{ --[ Graph for CPU1 ]--

name="cpu",

arg="cpu0",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=40,

blocks=50,

space=1,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Température for CPU1 ]--

name="exec",

arg="exec expr `cat /sys/class/hwmon/hwmon2/device/temp1_input` / 1000",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=60,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Graph for CPU2 ]--

name="cpu",

arg="cpu1",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=112,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Température for CPU2 ]--

name="exec",

arg="exec expr `cat /sys/class/hwmon/hwmon2/device/temp2_input` / 1000",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=132,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Graph for CPU3 ]--

name="cpu",

arg="cpu2",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=184,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Température for CPU3 ]--

name="exec",

arg="exec expr `cat /sys/class/hwmon/hwmon2/device/temp3_input` / 1000",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=204,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Graph for CPU4 ]--

name="cpu",

arg="cpu3",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=256,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Température for CPU4 ]--

name="exec",

arg="exec expr `cat /sys/class/hwmon/hwmon2/device/temp3_input` / 1000",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=274,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Graph for Memory ]--

name="memperc",

arg="",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=330,

blocks=49,

space=1,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Graph for Root ]--

name="fs_used_perc",

arg="/",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=401,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Graph for Home ]--

name="fs_used_perc",

arg="/home",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=455,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Graph for Down ]--

name="downspeedf",

arg="wlp2s0",

max=500,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=528,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Graph for Up ]--

name="upspeedf",

arg="wlp2s0",

max=500,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xffff00,0.70}},

x=0,y=583,

blocks=50,

space=1,

height=2,width=5,

angle=90,

smooth=true

},

{ --[ Température for Carte ]--

name="hwmon",

arg="0 temp 1",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xFFFF00,0.70}},

x=0,y=634,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

{ --[ Température for disque ]--

name="execi",

arg="120 hddtemp -n /dev/sda",

max=100,

alarm=50,

alarm_colour={0xFF0000,0.72},

bg_colour={0xFFFFFF,0.15},

fg_colour={0x48a3fd,0.55},

mid_colour={{1,0xFFFF00,0.70}},

x=0,y=654,

blocks=74,

space=0,

height=2,width=6,

angle=90,

smooth=true

},

}

-----------END OF PARAMETERS--------------







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)

--prevent segmentation error when reading cpu state

if tonumber(conky_parse('${updates}'))>3 then

for i in pairs(bars_settings) do



draw_multi_bar_graph(bars_settings[i])



end

end

cairo_destroy(cr)

cairo_surface_destroy(cs)

cr=nil



end







function draw_multi_bar_graph(t)

cairo_save(cr)

--check values

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

if t.name==nil and t.arg==nil then

print ("No input values ... use parameters 'name' with 'arg' or only parameter 'arg' ")

return

end

if t.max==nil then

print ("No maximum value defined, use 'max'")

return

end

if t.name==nil then t.name="" end

if t.arg==nil then t.arg="" end



--set default values

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.blocks == nil then t.blocks=10 end

if t.height == nil then t.height=10 end

if t.angle == nil then t.angle=0 end

t.angle = t.angle*math.pi/180

--line cap style

if t.cap==nil then t.cap = "b" end

local cap="b"

for i,v in ipairs({"s","r","b"}) do

if v==t.cap then cap=v end

end

local delta=0

if t.cap=="r" or t.cap=="s" then delta = t.height end

if cap=="s" then cap = CAIRO_LINE_CAP_SQUARE

elseif cap=="r" then

cap = CAIRO_LINE_CAP_ROUND

elseif cap=="b" then

cap = CAIRO_LINE_CAP_BUTT

end

--end line cap style

--if t.led_effect == nil then t.led_effect="r" end

if t.width == nil then t.width=20 end

if t.space == nil then t.space=2 end

if t.radius == nil then t.radius=0 end

if t.angle_bar == nil then t.angle_bar=0 end

t.angle_bar = t.angle_bar*math.pi/360 --halt angle



--colours

if t.bg_colour == nil then t.bg_colour = {0x00FF00,0.5} end

if #t.bg_colour~=2 then t.bg_colour = {0x00FF00,0.5} end

if t.fg_colour == nil then t.fg_colour = {0x00FF00,1} end

if #t.fg_colour~=2 then t.fg_colour = {0x00FF00,1} end

if t.alarm_colour == nil then t.alarm_colour = t.fg_colour end

if #t.alarm_colour~=2 then t.alarm_colour = t.fg_colour end



if t.mid_colour ~= nil then

for i=1, #t.mid_colour do

if #t.mid_colour[i]~=3 then

print ("error in mid_color table")

t.mid_colour[i]={1,0xFFFFFF,1}

end

end

end



if t.bg_led ~= nil and #t.bg_led~=2 then t.bg_led = t.bg_colour end

if t.fg_led ~= nil and #t.fg_led~=2 then t.fg_led = t.fg_colour end

if t.alarm_led~= nil and #t.alarm_led~=2 then t.alarm_led = t.fg_led end



if t.led_effect~=nil then

if t.bg_led == nil then t.bg_led = t.bg_colour end

if t.fg_led == nil then t.fg_led = t.fg_colour end

if t.alarm_led == nil then t.alarm_led = t.fg_led end

end





if t.alarm==nil then t.alarm = t.max end --0.8*t.max end

if t.smooth == nil then t.smooth = false end



if t.skew_x == nil then

t.skew_x=0

else

t.skew_x = math.pi*t.skew_x/180

end

if t.skew_y == nil then

t.skew_y=0

else

t.skew_y = math.pi*t.skew_y/180

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



--end of default values





local function rgb_to_r_g_b(col_a)

return ((col_a[1] / 0x10000) % 0x100) / 255., ((col_a[1] / 0x100) % 0x100) / 255., (col_a[1] % 0x100) / 255., col_a[2]

end





--functions used to create patterns



local function create_smooth_linear_gradient(x0,y0,x1,y1)

local pat = cairo_pattern_create_linear (x0,y0,x1,y1)

cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))

cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))

if t.mid_colour ~=nil then

for i=1, #t.mid_colour do

cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))

end

end

return pat

end



local function create_smooth_radial_gradient(x0,y0,r0,x1,y1,r1)

local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)

cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))

cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))

if t.mid_colour ~=nil then

for i=1, #t.mid_colour do

cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))

end

end

return pat

end



local function create_led_linear_gradient(x0,y0,x1,y1,col_alp,col_led)

local pat = cairo_pattern_create_linear (x0,y0,x1,y1) ---delta, 0,delta+ t.width,0)

cairo_pattern_add_color_stop_rgba (pat, 0.0, rgb_to_r_g_b(col_alp))

cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))

cairo_pattern_add_color_stop_rgba (pat, 1.0, rgb_to_r_g_b(col_alp))

return pat

end



local function create_led_radial_gradient(x0,y0,r0,x1,y1,r1,col_alp,col_led,mode)

local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)

if mode==3 then

cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_alp))

cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))

cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))

else

cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_led))

cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))

end

return pat

end













local function draw_single_bar()

--this fucntion is used for bars with a single block (blocks=1) but

--the drawing is cut in 3 blocks : value/alarm/background

--not zvzimzblr for circular bar

local function create_pattern(col_alp,col_led,bg)

local pat



if not t.smooth then

if t.led_effect=="e" then

pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)

elseif t.led_effect=="a" then

pat = create_led_linear_gradient (t.width/2, 0,t.width/2,-t.height,col_alp,col_led)

elseif t.led_effect=="r" then

pat = create_led_radial_gradient (t.width/2, -t.height/2, 0, t.width/2,-t.height/2,t.height/1.5,col_alp,col_led,2)

else

pat = cairo_pattern_create_rgba (rgb_to_r_g_b(col_alp))

end

else

if bg then

pat = cairo_pattern_create_rgba (rgb_to_r_g_b(t.bg_colour))

else

pat = create_smooth_linear_gradient(t.width/2, 0, t.width/2,-t.height)

end

end

return pat

end



local y1=-t.height*pct/100

local y2,y3

if pct>(100*t.alarm/t.max) then

y1 = -t.height*t.alarm/100

y2 = -t.height*pct/100

if t.smooth then y1=y2 end

end



if t.angle_bar==0 then



--block for fg value

local pat = create_pattern(t.fg_colour,t.fg_led,false)

cairo_set_source(cr,pat)

cairo_rectangle(cr,0,0,t.width,y1)

cairo_fill(cr)

cairo_pattern_destroy(pat)



-- block for alarm value

if not t.smooth and y2 ~=nil then

pat = create_pattern(t.alarm_colour,t.alarm_led,false)

cairo_set_source(cr,pat)

cairo_rectangle(cr,0,y1,t.width,y2-y1)

cairo_fill(cr)

y3=y2

cairo_pattern_destroy(pat)

else

y2,y3=y1,y1

end

-- block for bg value

cairo_rectangle(cr,0,y2,t.width,-t.height-y3)

pat = create_pattern(t.bg_colour,t.bg_led,true)

cairo_set_source(cr,pat)

cairo_pattern_destroy(pat)

cairo_fill(cr)

end

end --end single bar













local function draw_multi_bar()

--function used for bars with 2 or more blocks

for pt = 1,t.blocks do

--set block y

local y1 = -(pt-1)*(t.height+t.space)

local light_on=false



--set colors

local col_alp = t.bg_colour

local col_led = t.bg_led

if pct>=(100/t.blocks) or pct>0 then --ligth on or not the block

if pct>=(pcb*(pt-1)) then

light_on = true

col_alp = t.fg_colour

col_led = t.fg_led

if pct>=(100*t.alarm/t.max) and (pcb*pt)>(100*t.alarm/t.max) then

col_alp = t.alarm_colour

col_led = t.alarm_led

end

end

end



--set colors

--have to try to create gradients outside the loop ?

local pat



if not t.smooth then

if t.angle_bar==0 then

if t.led_effect=="e" then

pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)

elseif t.led_effect=="a" then

pat = create_led_linear_gradient (t.width/2, -t.height/2+y1,t.width/2,0+t.height/2+y1,col_alp,col_led)

elseif t.led_effect=="r" then

pat = create_led_radial_gradient (t.width/2, y1, 0, t.width/2,y1,t.width/1.5,col_alp,col_led,2)

else

pat = cairo_pattern_create_rgba (rgb_to_r_g_b(col_alp))

end

else

if t.led_effect=="a" then

pat = create_led_radial_gradient (0, 0, t.radius+(t.height+t.space)*(pt-1),

0, 0, t.radius+(t.height+t.space)*(pt),

col_alp,col_led,3)

else

pat = cairo_pattern_create_rgba (rgb_to_r_g_b(col_alp))

end



end

else



if light_on then

if t.angle_bar==0 then

pat = create_smooth_linear_gradient(t.width/2, t.height/2, t.width/2,-(t.blocks-0.5)*(t.height+t.space))

else

pat = create_smooth_radial_gradient(0, 0, (t.height+t.space), 0,0,(t.blocks+1)*(t.height+t.space),2)

end

else

pat = cairo_pattern_create_rgba (rgb_to_r_g_b(t.bg_colour))

end

end

cairo_set_source (cr, pat)

cairo_pattern_destroy(pat)



--draw a block

if t.angle_bar==0 then

cairo_move_to(cr,0,y1)

cairo_line_to(cr,t.width,y1)

else

cairo_arc( cr,0,0,

t.radius+(t.height+t.space)*(pt)-t.height/2,

-t.angle_bar -math.pi/2 ,

t.angle_bar -math.pi/2)

end

cairo_stroke(cr)

end

end









local function setup_bar_graph()

--function used to retrieve the value to display and to set the cairo structure

if t.blocks ~=1 then t.y=t.y-t.height/2 end



local value = 0

if t.name ~="" then

value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))

--$to_bytes doesn't work when value has a decimal point,

--https://garage.maemo.org/plugins/ggit/browse.php/?p=monky;a=commitdiff;h=174c256c81a027a2ea406f5f37dc036fac0a524b;hp=d75e2db5ed3fc788fb8514121f67316ac3e5f29f

--http://sourceforge.net/tracker/index.php?func=detail&aid=3000865&group_id=143975&atid=757310

--conky bug?

--value = (conky_parse(string.format('${%s %s}', t.name, t.arg)))

--if string.match(value,"%w") then

-- value = conky_parse(string.format('${to_bytes %s}',value))

--end

else

value = tonumber(t.arg)

end



if value==nil then value =0 end



pct = 100*value/t.max

pcb = 100/t.blocks



cairo_set_line_width (cr, t.height)

cairo_set_line_cap (cr, cap)

cairo_translate(cr,t.x,t.y)

cairo_rotate(cr,t.angle)



local matrix0 = cairo_matrix_t:create()

tolua.takeownership(matrix0)

cairo_matrix_init (matrix0, 1,t.skew_y,t.skew_x,1,0,0)

cairo_transform(cr,matrix0)







--call the drawing function for blocks

if t.blocks==1 and t.angle_bar==0 then

draw_single_bar()

if t.reflection=="t" or t.reflection=="b" then cairo_translate(cr,0,-t.height) end

else

draw_multi_bar()

end



--dot for reminder

--[[

if t.blocks ~=1 then

cairo_set_source_rgba(cr,1,0,0,1)

cairo_arc(cr,0,t.height/2,3,0,2*math.pi)

cairo_fill(cr)

else

cairo_set_source_rgba(cr,1,0,0,1)

cairo_arc(cr,0,0,3,0,2*math.pi)

cairo_fill(cr)

end]]



--call the drawing function for reflection and prepare the mask used

if t.reflection_alpha>0 and t.angle_bar==0 then

local pat2

local matrix1 = cairo_matrix_t:create()

tolua.takeownership(matrix1)

if t.angle_bar==0 then

pts={-delta/2,(t.height+t.space)/2,t.width+delta,-(t.height+t.space)*(t.blocks)}

if t.reflection=="t" then

cairo_matrix_init (matrix1,1,0,0,-t.reflection_scale,0,-(t.height+t.space)*(t.blocks-0.5)*2*(t.reflection_scale+1)/2)

pat2 = cairo_pattern_create_linear (t.width/2,-(t.height+t.space)*(t.blocks),t.width/2,(t.height+t.space)/2)

elseif t.reflection=="r" then

cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,delta+2*t.width,0)

pat2 = cairo_pattern_create_linear (delta/2+t.width,0,-delta/2,0)

elseif t.reflection=="l" then

cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,-delta,0)

pat2 = cairo_pattern_create_linear (-delta/2,0,delta/2+t.width,-0)

else --bottom

cairo_matrix_init (matrix1,1,0,0,-1*t.reflection_scale,0,(t.height+t.space)*(t.reflection_scale+1)/2)

pat2 = cairo_pattern_create_linear (t.width/2,(t.height+t.space)/2,t.width/2,-(t.height+t.space)*(t.blocks))

end

end

cairo_transform(cr,matrix1)



if t.blocks==1 and t.angle_bar==0 then

draw_single_bar()

cairo_translate(cr,0,-t.height/2)

else

draw_multi_bar()

end





cairo_set_line_width(cr,0.01)

cairo_pattern_add_color_stop_rgba (pat2, 0,0,0,0,1-t.reflection_alpha)

cairo_pattern_add_color_stop_rgba (pat2, t.reflection_length,0,0,0,1)

if t.angle_bar==0 then

cairo_rectangle(cr,pts[1],pts[2],pts[3],pts[4])

end

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)



end --reflection

pct,pcb=nil

end --setup_bar_graph()



--start here !

setup_bar_graph()

cairo_restore(cr)

end






2_33620



Cronographe







Caché :




background yes

use_xft yes

xftfont URW Chancery L:style=Bold:size=11

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 310 310

maximum_width 310

text_buffer_size 2048

draw_shades no

draw_outline no

draw_borders no

draw_graph_borders no

default_color 000000

default_outline_color white

alignment top_left

gap_x 40

gap_y 40

no_buffers yes

uppercase no

cpu_avg_samples 2

override_utf8_locale yes



lua_load ~/.conky/chrono/chrononoir.lua

lua_draw_hook_post main

#lua_load ~/.conky/draw_bg/draw_bg.lua



TEXT

#${lua conky_draw_bg 160 0 0 0 0 0x000000 0.50}



${goto 140}${voffset 205}Miami




son lua :



Caché :
--[[ multiple analogue clocks by Didier-T (forum Ubuntu.fr) - 25 Nov 2012

Basé sur le travail de mrpeachy et Sector11

26 Nov 2012 - ajout hand_gap et hand_larg Didier-T

01 Dec 2012 - correction bug nb_jour Décembre Didier-T

02 Dec 2012 - ajout mode 24 heures Didier-T

09 Mar 2014 - ajout alumage progréssif des points de l'horloge

30 Avr 2014 - ajout fonction décalage horaire, pour ajout cadrant ville





use in conkyrc



lua_load /path/Chronograph.lua

lua_draw_hook_pre main

TEXT



]]



require 'cairo'

--Position et taille horloge

local init={

{text={"Dim","Lun","Mar","Mer","Jeu","Ven","Sam"},

nb=7*24,

formule='jour',

police="URW Chancery L",

taille=11,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x000000,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x000000,

point_alpha_current=1,

hand_color=0xffff00,

hand_alpha=1,

center_x=158,

center_y=95,

text_radius=30,

point_radius=20,

hand_gap=0,

hand_larg=1.5,

hand_length=18,

point_ray=0.5

},

{text={""},

nb="",

formule='jour_num',

police="URW Chancery L",

taille=10,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x000000,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x000000,

point_alpha_current=1,

hand_color=0xffff00,

hand_alpha=1,

center_x=100,

center_y=159,

text_radius=35,

point_radius=28,

hand_gap=0,

hand_larg=1.5,

hand_length=27,

point_ray=0.5

},

{text={"Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aôu","Sep","Oct","Nov","Déc"},

nb="",

formule='mois',

police="URW Chancery L",

taille=10,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x000000,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x000000,

point_alpha_current=1,

hand_color=0xffff00,

hand_alpha=1,

center_x=215,

center_y=159,

text_radius=35,

point_radius=26,

point_ray=1,

hand_gap=0,

hand_larg=1.5,

hand_length=25

},

{text={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"},

hour_24=true,

nb=12*3600, --12 or 24 *3600

formule='heure',

police="URW Chancery L",

taille=22,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x1540fc,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x1540fc,

point_alpha_current=1,

hand_color=0x1540fc,

hand_alpha=1,

center_x=158,

center_y=159,

text_radius=145,

point_radius=148,

hand_gap=0,

hand_length=75,

hand_larg=3.5,

point_ray=0

},

{text={"","1","2","3","4","","6","7","8","9","","11","12","13","14","","16","17","18","19","","21","22","23","24","","26","27","28","29","","31","32","33","34","","36","37","38","39","","41","42","43","44","","46","47","48","49","","51","52","53","54","","56","57","58","59"},

nb=3600,

formule='minute',

police="URW Chancery L",

taille=12,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0xff0000,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0xff0000,

point_alpha_current=1,

hand_color=0xff0000,

hand_alpha=1,

center_x=158,

center_y=159,

text_radius=140,

point_radius=130,

point_ray=0.5,

hand_gap=0,

hand_larg=3.5,

hand_length=100

},

{text={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"},

nb=60,

formule='secondes',

police="URW Chancery L",

taille=9,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x000000,

text_alpha_current=1,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x000000,

point_alpha_current=1,

hand_color=0xffff00,

hand_alpha=1,

center_x=158,

center_y=159,

text_radius=121,

point_radius=112,

point_ray=0.4,

hand_gap=0,

hand_larg=1.5,

hand_length=110,

progressif=true

},

-- petite montre du bas

{text={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"},

hour_24=false,

nb=12*3600, --12 or 24 *3600

formule='heure',

decalage=-6, --@ modifier en fonction de votre choix

police="URW Chancery L",

taille=10,

text_color=0x000000,

text_alpha=0.4,

text_color_current=0x000000,

text_alpha_current=0.4,

point_color=0x000000,

point_alpha=0.4,

point_color_current=0x000000,

point_alpha_current=0.4,

hand_color=0xffff00,

hand_alpha=1,

center_x=158,

center_y=230,

text_radius=35,

point_radius=28,

hand_gap=0,

hand_length=20,

hand_larg=1.5,

point_ray=0

},

{text={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"},

nb=3600,

formule='minute',

police="URW Chancery L",

taille=9,

text_color=0xa8a8a8,

text_alpha=0,

text_color_current=0x000000,

text_alpha_current=0,

point_color=0x000000,

point_alpha=0,

point_color_current=0x000000,

point_alpha_current=0,

hand_color=0xffff00,

hand_alpha=1,

center_x=158,

center_y=230,

text_radius=25,

point_radius=20,

point_ray=0,

hand_gap=0,

hand_larg=1.5,

hand_length=28

},

{text={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"},

nb=60,

formule='secondes',

police="URW Chancery L",

taille=9,

text_color=0x000000,

text_alpha=0,

text_color_current=0x000000,

text_alpha_current=0,

point_color=0x000000,

point_alpha=0,

point_color_current=0x000000,

point_alpha_current=0,

hand_color=0x000000,

hand_alpha=1,

center_x=158,

center_y=230,

text_radius=30,

point_radius=20,

point_ray=0.5,

hand_gap=0,

hand_larg=0,

hand_length=30,

progressif=true

},



}



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 cr = cairo_create(cs)

local extents=cairo_text_extents_t:create()

tolua.takeownership(extents)

local h, min, sec=time()

local jour, jour_num, mois, nb_jour=date()



if tonumber(conky_parse('${updates}'))>3 then

for i in pairs(init) do

draw(cr, extents, init[i], h, min, sec, jour, jour_num, mois, nb_jour)

end

end



cairo_destroy(cr)

cairo_surface_destroy(cs)

cr=nil

collectgarbage()

end



function draw(cr, extents, value, h, min, sec, jour, jour_num, mois, nb_jour)

local function affichage(cr, extents, j, valeur, value, text, nb)

if value.progressif == nil then

value.progressif=false

end

if value.progressif==true and j<=valeur then

texte(value.police, value.taille, text, nb, value.text_radius, value.center_x, value.center_y, value.text_color_current, value.text_alpha_current, j, extents, cr)

point(nb, value.point_radius, value.center_x, value.center_y, value.point_color_current, value.point_alpha_current, j, cr, value.point_ray)

elseif value.progressif==false and j==valeur then

texte(value.police, value.taille, text, nb, value.text_radius, value.center_x, value.center_y, value.text_color_current, value.text_alpha_current, j, extents, cr)

point(nb, value.point_radius, value.center_x, value.center_y, value.point_color_current, value.point_alpha_current, j, cr, value.point_ray)

else

texte(value.police, value.taille, text, nb, value.text_radius, value.center_x, value.center_y, value.text_color, value.text_alpha, j, extents, cr)

point(nb, value.point_radius, value.center_x, value.center_y, value.point_color, value.point_alpha, j, cr, value.point_ray)

end

end

local pos

local nb=tonumber(table.getn(value.text))

cairo_select_font_face (cr, value.police, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);

cairo_set_font_size (cr, value.taille)

-- Section Horloge

if value.formule=="heure" then

if value.decalage~=nil then

h=h+tonumber(value.decalage)

end

local text

nb=value.nb/3600

if nb==24 then h=tonumber(os.date("%H")) end

pos=heure(h, min, sec)

for i=1, nb do

local j=i-1

if value.hour_24==true then

if tonumber(os.date("%H"))<nb then

text=value.text[i]

else

text=value.text[i+12]

end

else

text=value.text[i]

end

affichage(cr, extents, j, h, value, text, nb)

end

elseif value.formule=="minute" then

pos=minute(min, sec)

for i=1, nb do

local j=i-1

local text=value.text[i]

affichage(cr, extents, j, min, value, text, nb)

end

elseif value.formule=="secondes" then

pos=sec

for i=1, nb do

local j=i-1

local text=value.text[i]

affichage(cr, extents, j, sec, value, text, nb)

end

-- Section date

elseif value.formule=="mois" then

value.nb, pos=month()

for i=1, nb do

local j=i-1

local text=value.text[i]

affichage(cr, extents, j, mois-1, value, text, nb)

end

elseif value.formule=="jour_num" then

value.nb=nb_jour*24

nb=nb_jour

pos=day(jour-1)

for i=1, nb_jour do

if math.mod(i, 2) == 0 then

text=string.format("%02d",i)

else

text=""

end

local j=i-1

affichage(cr, extents, j, jour-1, value, text, nb)

end

elseif value.formule=="jour" then

pos=(jour_num*24)+tonumber(os.date("%H"))

for i=1, nb do

local j=i-1

local text=value.text[i]

affichage(cr, extents, j, jour_num, value, text, nb)

end



-- Horloge avec personnalisée (non utilisé pour le moment)

else

pos=tonumber(conky_parse(value.formule))

for i=1, nb do

local j=i-1

local text=value.text[i]

if tonumber(text)==pos then

texte(value.police, value.taille, text, nb, value.text_radius, value.center_x, value.center_y, value.text_color_current, value.text_alpha_current, i, extents, cr)

point(nb, value.point_radius, value.center_x, value.center_y, value.point_color_current, value.point_alpha_current, i, cr, value.point_ray)

else

texte(value.police, value.taille, text, nb, value.text_radius, value.center_x, value.center_y, value.text_color, value.text_alpha, i, extents, cr)

point(nb, value.point_radius, value.center_x, value.center_y, value.point_color, value.point_alpha, i, cr, value.point_ray)

end

end

end



hand(pos, value.nb, value.text_radius, value.hand_length, value.hand_gap, value.hand_larg, value.center_x, value.center_y, value.hand_color, value.hand_alpha, cr)

end



function date()

local nb_jour

local jour=tonumber(os.date("%d"))

local jour_num=tonumber(os.date("%w"))

local mois=tonumber(os.date("%m"))

if mois==12 then

nb_jour=31

else

nb_jour=tonumber(conky_parse("${exec date --date '1 month' +%j}"))-tonumber(conky_parse("${exec date +%j}"))

end

return jour, jour_num, mois, nb_jour

end



function day(jour)

local hjour=(jour*24)+tonumber(os.date("%H"))

return hjour

end



function month()

local nb_jours_annee=tonumber(conky_parse("${exec echo $(date --date '31 Dec' +%j)}"))

local jour_annee=tonumber(conky_parse("${exec echo $(date +%j)}"))

return nb_jours_annee, jour_annee

end



function time()

local h=tonumber(os.date("%I"))

local min=tonumber(os.date("%M"))

local sec=tonumber(os.date("%S"))

return h, min, sec

end



function heure(h, min, sec)

local hs=(h*3600)+(min*60)+sec

return hs

end



function minute(min, sec)

local m=(min*60)+sec

return m

end



function rgb_to_r_g_b(col,alp)

return ((col / 0x10000) % 0x100) / 255, ((col / 0x100) % 0x100) / 255, (col % 0x100) / 255, alp

end



function texte(police, taille, text, nb, radius, center_x, center_y, color, alpha, i, extents, cr)

cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))

local point=(math.pi/180)*((360/nb)*(i))

local x=0+radius*(math.sin(point))

local y=0-radius*(math.cos(point))

cairo_text_extents(cr,text,extents)

local width=extents.width

local height=extents.height

cairo_move_to(cr,center_x+x-(width/2),center_y+y+(height/2))

cairo_show_text (cr, text)

cairo_stroke (cr)

end



function point(nb, radius, center_x, center_y, color, alpha, i, cr, ray)

cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))

local point=(math.pi/180)*((360/nb)*(i))

local x=0+radius*(math.sin(point))

local y=0-radius*(math.cos(point))

cairo_arc (cr,center_x+x,center_y+y,ray,0,2*math.pi)

cairo_stroke (cr)

end



function hand(pos, nb, radius, hand_length, hand_gap, largeur, center_x, center_y, color, alpha, cr)

cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))

local point=(math.pi/180)*((360/nb)*(pos))

local x_gap=0+hand_gap*(math.sin(point))

local y_gap=0-hand_gap*(math.cos(point))

local x=0+hand_length*(math.sin(point))

local y=0-hand_length*(math.cos(point))

cairo_move_to (cr,center_x+x_gap,center_y+y_gap)

cairo_line_to (cr,center_x+x,center_y+y)

cairo_set_line_width (cr,largeur)

cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)

cairo_stroke (cr)

end




3_41597



Ephéméride





Caché :
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 380

maximum_width 380

text_buffer_size 2048

draw_shades no

draw_outline no

draw_borders no

draw_graph_borders no

default_color 000000

default_outline_color white

alignment top_left

gap_x 400

gap_y 40

no_buffers yes

uppercase no

cpu_avg_samples 2

override_utf8_locale yes





TEXT



Semaine : ${time %V} Jour : ${time %j} ${time %A %d %B}

Signe astrologique ${execp ~/.conky/blanc/astro_neo.sh}

Saint du jour : ${texeci 28800 wget -q http://nominis.cef.fr/ -O saint.html -O - | iconv -f latin1 -t utf8 | sed '1,/Bonne Fête !/d; /Autres Fêtes du Jour/Q;' | sed '$d' | sed '1i<html>' | sed '4a</html>' | xmlstarlet sel -t -v '//dt/a' | awk 'ORS=NR%6?" ":"\n"'}




4_245fa



Nasa image du jour





Caché :


#Display nasa picture of the day#

#=========ragamatrix's==========#



background no

use_xft yes

xftfont URW Chancery L:style=Bold:size=11

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 300 180

maximum_width 300

text_buffer_size 2048

draw_shades no

draw_outline no

draw_borders no

draw_graph_borders no

default_color ffffff

default_outline_color white

alignment top_left

gap_x 50

gap_y 750

no_buffers yes

uppercase no

cpu_avg_samples 2

override_utf8_locale yes

###############################

# 1h=60m=3600s #

# 1j=24h=1440m=86400s #

#365j=8760h=525600m=31536000s #

###############################





default_color ececec

color2 585858

color1 606060



lua_load ~/.conky/nasa/image.lua



TEXT

${texeci 28800 ~/.conky/nasa/nasa-day.sh}

${lua conky_fDrawImage /tmp/image_nasa.png 10 5 300 190}




nasa-day.sh (à rendre éxécutable)



Caché :
#!/bin/bash

#ragamatrix'script modified#

IMG="/tmp/image_nasa.jpg"

IMGPNG="/tmp/image_nasa.png"



test=`curl -s http://www.nasa.gov/rss/dyn/image_of_the_day.rss | grep -m1 "<enclosure" | sed 's/^.*url="//' | sed 's/" len.*$//'` && wget -O $IMG $test

convert $IMG -resize 640x360 $IMGPNG



convert $IMGPNG \

\( +clone -alpha extract \

-draw 'fill black polygon 0,0 0,0 0,0 fill white circle 0,0 0,0' \

\( +clone -flip \) -compose Multiply -composite \

\( +clone -flop \) -compose Multiply -composite \

\) -alpha off -compose CopyOpacity -composite $IMGPNG



convert $IMGPNG -background black \( +clone -shadow 60x4+2+2 \) +swap -background none -flatten $IMGPNG




son lua



Caché :


require 'cairo'

home = os.getenv ('HOME')



--Fonction d'affichage

function conky_fDrawImage(path,x,y,w,h,arc)



path = string.gsub(path, "~", home)

path = string.gsub(path, "$HOME", home)



local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)



local function fDrawImage(path,x,y,w,h,arc)

x=x+(w/2)

y=y+(h/2)

local img = cairo_image_surface_create_from_png(path)

local w_img, h_img = cairo_image_surface_get_width (img), cairo_image_surface_get_height (img)



local cr = cairo_create (cs)

cairo_translate (cr, x, y)



if arc then

cairo_rotate (cr, arc)

end



cairo_scale (cr, w/w_img, h/h_img)

cairo_set_source_surface (cr, img, -w_img/2, -h_img/2)

cairo_paint (cr)

cairo_destroy(cr)

cairo_surface_destroy (img)

end

fDrawImage(path,x,y,w,h,arc)

cairo_surface_destroy(cs)

return ""

end




5_9f621



Météo 6 jours





Pour l'installation voir <a href="" target="_blank">http://www.linuxmint-fr.org/forum/personnalisations-de-bureau/144838-tutoriel-conky-meteo-type-htc.html#144838</a>



Caché :
background yes

use_xft yes

xftfont URW Chancery L:style=Bold:size=12

xftalpha 1

update_interval 1.0

total_run_times 0

own_window yes

own_window_transparent yes

#own_window_color 000000

own_window_argb_visual yes

#own_window_argb_value 0

own_window_type normal

own_window_hints undecorated,below,skip_taskbar,skip_pager

double_buffer yes

minimum_size 470

maximum_width 470

text_buffer_size 2048

draw_shades no

draw_outline no

draw_borders no

draw_graph_borders no

default_color white

default_outline_color white

alignment top_left

gap_x 565

gap_y 150

no_buffers yes

uppercase no

cpu_avg_samples 2

override_utf8_locale yes

# Fonctionne uniquement avec les polices Fixes

#use_spacer yes



uppercase no



default_color 000000

color0 6495ee





# -- Déclaration template -- #

template0 ${lua fDrawImage ~/.conky/conky-meteo/meteo6jours/fon/\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



TEXT



${template2 IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 180 235 132 70}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 1 380 75 45 2}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 80 380 75 45 3}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 160 380 75 45 4}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 240 380 75 45 5}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 320 380 75 45 6}

${template2 Jour_IconeM ~/.conky/conky-meteo/meteo_lua_2/icones 400 380 75 45 7}



${template1 Maj}${alignc}Dernière mise à jour : ${template1 Heure} h ${template1 Minute}

${voffset 20}${font URW Chancery L:style=Bold:size=10}${goto 300}Vent : ${template1 VentDirP}

${font URW Chancery L :style=Bold:size=10}${goto 300}Vitesse : ${template1 VentForce} km/h max: ${template1 Jour_VentRafales 1} Km/h

${goto 300}Pression: ${template1 Pression 1} mb Pluie : ${template1 Jour_NivPrec 1} mm

${voffset -36}${goto 55}${font URW Chancery L :size=12 style:bold}${template1 Ville} : ${font URW Chancery L :size=10}${template1 TempAct}°C

${alignc 100}${template1 CondMeteo}

Soleil: Lever ${template1 HLeverSoleil 1}:${template1 MLeverSoleil 1} Coucher ${template1 HCoucherSoleil 1}:${template1 MCoucherSoleil 1} ${goto 210} Durée ensoleillement :${template1 HDureeJour 1}h ${template1 MDureeJour 1} ${goto 380} Indice UV: ${template1 Uv 1}

Couverture nuageuse: ${template1 CouvNuage 1}% ${goto 300} Visibilité: ${template1 Visibilite 1} km

${alignc 115}${template1 Jour %a_%d 2}${alignc 50}${template1 Jour %a_%d 3}${alignc -12}${template1 Jour %a_%d 4}${alignc -72}${template1 Jour %a_%d 5}${alignc -135}${template1 Jour %a_%d 6}${alignc -200}${template1 Jour %a_%d 7}

${alignc 205}${font Sans :size=8:style=bold}${color red}${template1 Jour_Temp 2}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 2}°

${alignc 120}${voffset -13}${color red}${template1 Jour_Temp 3}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 3}°

${alignc 40}${voffset -13}${color red}${template1 Jour_Temp 4}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 4}°

${alignc -40}${voffset -13}${color red}${template1 Jour_Temp 5}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 5}°

${alignc -118}${voffset -13}${color red}${template1 Jour_Temp 6}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 6}°

${alignc -202}${voffset -13}${color red}${template1 Jour_Temp 7}°${color black} / ${color cornflowerblue}${template1 Nuit_Temp 7}°

${alignc 80}${font URW Chancery L :size=10:style=bold}${color black}${template1 Jour_VentForce 2}km/h ${alignc 42}${template1 Jour_VentForce 3} km/h ${alignc -15}${template1 Jour_VentForce 4} km/h${alignc -80}${template1 Jour_VentForce 5} km/h ${alignc -135}${template1 Jour_VentForce 6} km/h${alignc -200}${template1 Jour_VentForce 7} km/h





meteo.cfg (modifier le code pour votre ville)



Caché :
# ---- Config Meteo-Lua v2 ----



# Répertoire des scripts

repscript=~/.conky/conky-meteo/meteo_lua_2/scripts



# Répertoire de sauvegarde

repsauv=~/.conky/conky-meteo/meteo6jours/reptravail



#Répertoire temporaire

TempShell=/tmp



#Copier votre adresse Accuweather ici

web=http://www.accuweather.com/fr/fr/sarreguemines/57200/weather-forecast/135050



#Prévision sur n jour (de 1 à 15) moyenne pour la journée

periode=7



#Prévision infos sur la matinée (oui, non)

matinée=non



#Prévision infos sur la Après Midi (oui, non)

am=non



#Prévision infos sur la Soirée (oui, non)

soiree=non



#Prévision infos sur la Nuit (oui, non)

nuit=non



#Prévision à 8 Heures

Prev8heures=non



#Nombre de tranche de huit heures a traiter

nbFoisHuit=1



#Palier changement de couleur rose des vents (Km/h)

Palier=20



#Temps entre les mises à jour prévision (minute)

update=60



#Affichage notifiaction a la mise a jour

notify=non







6_6fafd