Connexion

Conky -conkyrc -scripts - partie 1

Annexe du tuto http://www.mageialinux-online.org/wiki/conky


J'ai créé 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, vous y trouverez de l'aide.

Pour fonctionner certains conkys ont besoin de :
- imagemagick
-python3
-python3-beautifulsoup4
-python-notify
-libnotify4
-curl


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 == nilthen t.x = conky_window.width/2 end
if t.y == nilthen t.y = conky_window.height/2 end
if t.blocks == nilthen t.blocks=10 end
if t.height == nilthen 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==nilthen 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 == nilthen t.led_effect="r" end
if t.width == nilthen t.width=20 end
if t.space == nilthen t.space=2 end
if t.radius == nilthen t.radius=0 end
if t.angle_bar == nilthen 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~=2then t.bg_led = t.bg_colour end
if t.fg_led ~= nil and #t.fg_led~=2then 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



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


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

le astro_neo.sh:
Caché :
#!/bin/bash
# Astro.sh
# by Crinos512 (17 Feb, 2011)
# updated by Sector11 (21 Feb, 2011)
# Usage:
# ${execp ~/path/to/Astro.sh}
#
# Aquarius Jan 20 - Feb 18
# Pisces Feb 19 - Mar 20
# Aries Mar 21 - Apr 19
# Taurus Apr 20 - May 20
# Gemini May 21 - Jun 20
# Cancer Jun 21 - Jul 22
# Leo Jul 23 - Aug 22
# Virgo Aug 23 - Sep 22
# Libra Sep 23 - Oct 22
# Scorpio Oct 23 - Nov 21
# Sagittarius Nov 22 - Dec 21
# Capricorn Dec 22 - Jan 19
Month=`date +%m`
Day=`date +%d`
case "$Month" in
01 ) if [ "$Day" -le "20" ] ; then Sign="Capricorne" ; else Sign="Verseau" ; fi ;;
02 ) if [ "$Day" -le "19" ] ; then Sign="Verseau" ; else Sign="Poissons" ; fi ;;
03 ) if [ "$Day" -le "21" ] ; then Sign="Poissons" ; else Sign="Bélier" ; fi ;;
04 ) if [ "$Day" -le "20" ] ; then Sign="Bélier" ; else Sign="Taureau" ; fi ;;
05 ) if [ "$Day" -le "21" ] ; then Sign="Taureau" ; else Sign="Gémaux" ; fi ;;
06 ) if [ "$Day" -le "21" ] ; then Sign="Gémaux" ; else Sign="Cancer" ; fi ;;
07 ) if [ "$Day" -le "23" ] ; then Sign="Cancer" ; else Sign="Lion" ; fi ;;
08 ) if [ "$Day" -le "23" ] ; then Sign="Lion" ; else Sign="Vierge" ; fi ;;
09 ) if [ "$Day" -le "23" ] ; then Sign="Vierge" ; else Sign="Balance" ; fi ;;
10 ) if [ "$Day" -le "23" ] ; then Sign="Balance" ; else Sign="Scorpion" ; fi ;;
11 ) if [ "$Day" -le "22" ] ; then Sign="Scorpion" ; else Sign="Sagittaire" ; fi ;;
12 ) if [ "$Day" -le "22" ] ; then Sign="Sagittaire" ; else Sign="Capricorne" ; fi ;;
* ) Sign="ERROR" ;;
esac
case "$Sign" in
"Capricorne" ) BeginDate="22 Déc" ; EndDate="19 Jan" ; ;;
"Verseau" ) BeginDate="20 Jan" ; EndDate="18 Fév" ; ;;
"Poissons" ) BeginDate="19 Fév" ; EndDate="20 Mar" ; ;;
"Bélier" ) BeginDate="21 Mar" ; EndDate="19 Avr" ; ;;
"Taureau" ) BeginDate="20 Avr" ; EndDate="20 Mai" ; ;;
"Gémaux" ) BeginDate="21 Mai" ; EndDate="Jun 20 Juin" ; ;;
"Cancer" ) BeginDate="21 Juin" ; EndDate="22 Juil" ; ;;
"Lion" ) BeginDate="23 Juil" ; EndDate="22 Aou" ; ;;
"Vierge" ) BeginDate="23 Aou" ; EndDate="22 Sep" ; ;;
"Balance" ) BeginDate="23 Sep" ; EndDate="22 Oct" ; ;;
"Scorpion" ) BeginDate="23 Oct" ; EndDate="21 Nov" ; ;;
"Sagittaire" ) BeginDate="22 Nov" ; EndDate="21 Déc" ; ;;
* ) BeginDate="XXX XX" ; EndDate="XXX XX" ; ;;
esac
echo "\${alignc}du : $BeginDate au : $EndDate c'est : $Sign "



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


Météo 6 jours



Pour l'installation voir https://www.linuxmint-fr.org/forum/personnalisations-de-bureau/144838-tutoriel-conky-meteo-type-htc.html#144838
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



Thermo



Caché :

##############################################
# Settings
##############################################
max_specials 10000
max_user_text 1500000
background yes
use_xft yes
#xftfont Sans:size=12
#xftalpha 1
font Arial Rounded MT:size=7
total_run_times 0
own_window yes
own_window_argb_visual yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pager
double_buffer yes
minimum_size 500 325
maximum_width 500
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color white
default_shade_color black
default_outline_color white
alignment top_left
gap_x 550
gap_y 570
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
color1 86acad #darker blue
color2 b1c9c9 #lighter blue
text_buffer_size 100000
top_name_width 10
update_interval 1
# -- Déclaration template -- #
lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/meteo2.lua
lua_startup_hook init ~/.conky/conky-meteo/meteo6jours/meteo.cfg

lua_load ~/.conky/thermo/thermo.lua

TEXT
${lua conky_weather}

son lua :
Caché :

--[[weather display by mrpeachy nov 2011
version 4
-cleaned up a bit
-temp scale changing
-set mid point temp for color change
-added forecast display
-added wind speed guage
-added hi lo thermometers
]]
--#########################################################################################################
--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP
secs=300--set update interval
web="http://www.intellicast.com/Local/Forecast.aspx?unit=C&location=FRXX2585"--insert unit=C& after? for C
--get web address by going to the intellicast site and entering your location in the box
--for version 3 you must get click on "Extended Forecast" to get the necessary address
units="C"--set units for C or F
mid=75--this is the temp at which temp scale is yellow, ie mid point in color change scale
----###weathericons="~/v9000/additional_files/weathericons/"
--#########################################################################################################
require 'cairo'
------------------------------------------------------------------------------
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 conky_weather()
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}'))
if updates>5 then
local timer=(updates %secs)+1
if timer==1 or updates==6 then
local f=io.popen("curl '"..web.."' | grep -A62 'As of ' | gawk -F'>' -v RS='</' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e '/^$/d' -e 's/°//g' -e 's/%//g' -e 's/ / /g' -e 's/Thunderstorms/T.Storms/g'")
local data1=f:read("*a")
f:close()
local data2=string.split(data1,"\n")
local data={}
for i,v in pairs(data2) do
if string.find(v,"[%a%d]")~=nil then
table.insert(data,data2[i])
end
end
--##############################################
--current
local wdr=string.split(data[25]," ")
now={con=string.gsub(data[2],"[\r\n]",""),tmp=string.gsub(data[4],units,""),flk=string.gsub(data[5],"Feels Like: ",""),wch=data[7],cel=data[10],hid=data[12],vis=string.gsub(data[15],"[ %a]",""),dpt=data[17],wsp=string.gsub(data[20],"[ %a]",""),wdg=(wdr[1]),wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),wgs=string.gsub(data[30],"[ %a]",""),hum=data[22],prs=string.gsub(data[27],"\"","")}
--############################################
--forecast
local f=io.popen("curl '"..web.."' | grep -A554 'View the Calendar Forecast' | gawk -F'>' -v RS='<' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e 's/°//g' -e 's/ / /g' -e 's/%//g' -e 's/°//g' -e 's/Thunderstorms/T.Storms/g'")
local fdata1=f:read("*a")
f:close()
local fdata=string.split(fdata1,"\n")
local fdata2={}
for i,v in pairs(fdata) do
if string.find(v,"[%a%d]")~=nil then
table.insert(fdata2,fdata[i])
end
end
local uvi=string.split(fdata2[20]," ")
local wsp=string.split(fdata2[32]," ")
local wdr=string.split(fdata2[34]," ")
day1={day=fdata2[2],con=fdata2[3],hih=fdata2[4],low=fdata2[5],sri=fdata2[8],sst=fdata2[10],mri=fdata2[12],mst=fdata2[14],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[22],ppt=fdata2[24],snw=fdata2[26],cld=fdata2[28],mph=fdata2[30],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day2
local uvi=string.split(fdata2[53]," ")
local wsp=string.split(fdata2[65]," ")
local wdr=string.split(fdata2[67]," ")
day2={day=fdata2[35],con=fdata2[36],hih=fdata2[37],low=fdata2[38],sri=fdata2[41],sst=fdata2[43],mri=fdata2[45],mst=fdata2[47],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[55],ppt=fdata2[57],snw=fdata2[59],cld=fdata2[61],mph=fdata2[63],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day3
local start=68
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day3={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day4
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day4={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day5
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day5={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day6
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day6={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day7
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day7={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=wmh,wkm=wkm,wkt=wkt,wdg=wdg,wdi=wdi}
--day8
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day8={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day9
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day9={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
--day10
local start=start+29
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day10={day=fdata2[start],con=fdata2[start+1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
end--timer section
display(now,day1,day2,day3,day4,day5,day6,day7,day8,day9,day10)
--################################################################3
end-- if updates>5
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
return ""
end-- end main function
function display(now,day1,day2,day3,day4,day5,day6,day7,day8,day9,day10)
--print (now.con,now.tmp,now.flk,now.wch,now.cel,now.hid,now.vis,now.dpt,now.wsp,now.wdg,now.wgi,now.wgs,now.hum,now.prs)
--[[
--forecast information, 10 day, options
--use like this dayX.option (where X=day number (1=today,2=tomorrow))
--eg day1.day
day=forecast day and date
con=conditions summary
hih=high temp
low=low temp
sri=sunrise
sst=sunset
mri=moon rise
mst=moon set
uvi=ultraviolet index
hum=humidity
ppt=chance of precipitation
snw=chance of snow
cld=cloud cover
mph=moon phase
wmh=wind speed in mph
wkm=wind speed in km/h
wkt=wind speed in knots
wdg=wind direction in degrees
wdi=wind direction in nesw
]]
--#####################################
--setup text type and color
local font="Mono"
local fsize=10
local red,green,blue,alpha=1,1,1,1
local xpos=430
local ypos=30--first line
local gap1=fsize+2
--TEST
--ypos=490--first line
--xpos=200
--gap1=fsize+2
--gap=0
--text=day2.day;txt(text,xpos,ypos,font,10,red,green,blue,alpha)
--text=" Conditions: "..day2.con;gap=gap1+4;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Temp Max: "..day2.hih.."°"..units;gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Temp Min: "..day2.low.."°"..units;gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Indice UV: "..day2.uvn.." ("..day1.uvt..")";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Humidité: "..day2.hum.."%";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Prob pluie: "..day2.ppt.."%";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Prob Neige: "..day2.snw.."%";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Couv.Nuageuse: "..day2.cld.."%";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text=" Vent vitesse: "..day2.wmh.."kmh";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--text="Vent direction: "..day2.wdg.."° ("..day2.wdi..")";gap=gap+gap1;txt(text,xpos,ypos+gap,font,fsize,red,green,blue,alpha)
--#############################################
--wind direction compass
compass(250,80,60,tonumber(now.wdg),now.wsp,now.wgs)
--windspeed dial
wspeed_dial(now.wsp,380,220)
--################################################################3
--pressure barometer
barometer(tonumber(now.prs),130,220)
--#########################################
--humidity bar
humidity(600.0,0.0,tonumber(now.hum))
--#########################################
--current conditions display
--text="Conditions:";txt(text,240,430,"Mono",12,1,1,1,1)
--text="Température: "..now.tmp.."°, Plafond: "..now.cel;txt(text,240,445,"Mono",10,1,1,1,1)
--text=now.con;txt(text,270,465,"Mono",15,1,1,1,1)
end--display
--#############################################################################################################################################################
function wspeed_dial(ws,px,py)
--0 to 60 mph
--draw circle
cairo_set_line_width (cr,1)
local router=110
cairo_set_source_rgba (cr,0.1,0.1,0.1,0)
cairo_arc (cr,px,py,router,(math.pi/180),0)
cairo_fill (cr)
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,px,py,router,(math.pi/180),0)
cairo_stroke (cr)
-------------------------------------------
--mph scale
local rout1=80
local rin1=rout1-10
for i=0,60 do
if i==5 or i==15 or i==25 or i==35 or i==45 then
rin=rin1--set line length for 5s
cairo_set_line_width (cr,1)
elseif i==0 or i==10 or i==20 or i==30 or i==40 or i==50 or i==60 then
rin=rin1+7--set line length for 10's
cairo_set_line_width (cr,3)
else
rin=rin1+5--set other lines
cairo_set_line_width (cr,1)
end--if i==
arc=(math.pi/180)*(210+(i*(300/60)))
ppx=0+rout1*(math.sin(arc))
ppy=0-rout1*(math.cos(arc))
arc=(math.pi/180)*(210+(i*300/60))
pix=0+rin*(math.sin(arc))
piy=0-rin*(math.cos(arc))
cairo_move_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pix,py+piy)
cairo_stroke (cr)
end--for i=
--mph reading
mph={0,10,20,30,40,50,60}
local rin=rin1-2
for i=1,#mph do
arc=(math.pi/180)*(210+((i-1)*(300/6)))
ppx=0+rin*(math.sin(arc))
ppy=0-rin*(math.cos(arc))
text=mph[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,px+ppx-(width/2),py+ppy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end--for i= print inches
--kmh lines and numbers
--60kmh=96.5606
cairo_set_line_width (cr,1)
local m1=300/96.5606
local rout2=60
local rin2=rout2-5
local num=95
--print lines---------------
for i=0,num do
if i==0 or i==10 or i==20 or i==30 or i==40 or i==50 or i==60 or i==70 or i==80 or i==90 then
rin=rin2-5--set length for 10s
elseif i==5 or i==15 or i==25 or i==35 or i==45 or i==55 or i==65 or 1==75 or i==85 or i==95 then
rin=rin2-2--set length for 5's
else
rin=rin2
end--if i=
---------------------------------------------------
arc=(math.pi/180)*(210+(i*m1))
ppx=0+rout2*(math.sin(arc))
ppy=0-rout2*(math.cos(arc))
arc=(math.pi/180)*(210+(i*m1))
pix=0+rin*(math.sin(arc))
piy=0-rin*(math.cos(arc))
cairo_move_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pix,py+piy)
cairo_stroke (cr)
end--for i --line drawing
--kmh reading
kmh={0,10,20,30,40,50,60,70,80,90}
local rout=rin2-18
for i=1,#kmh do
arc=(math.pi/180)*(210+((i-1)*(m1*10)))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
text=kmh[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,px+ppx-(width/2),py+ppy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end--kmh lines and numbers
--knots
--60kmh=52.1386
cairo_set_line_width (cr,1)
local m1=300/52.1386
local rout3=90
local rin3=rout3-5
local num=50
--print lines---------------
for i=0,num do
if i==0 or i==10 or i==20 or i==30 or i==40 or i==50 then
rout=rout3-1--set length for 10s
cairo_set_line_width (cr,3)
elseif i==5 or i==15 or i==25 or i==35 or i==45 then
rout=rout3+4--set length for 5's
cairo_set_line_width (cr,1)
else
rout=rout3
cairo_set_line_width (cr,1)
end--if i=
---------------------------------------------------
arc=(math.pi/180)*(210+(i*m1))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
arc=(math.pi/180)*(210+(i*m1))
pix=0+rin3*(math.sin(arc))
piy=0-rin3*(math.cos(arc))
cairo_move_to (cr,px+pix,py+piy)
cairo_line_to (cr,px+ppx,py+ppy)
cairo_stroke (cr)
end--for i --line drawing
--kmh reading
knot={0,10,20,30,40,50}
local rout=rin3+15
for i=1,#kmh do
arc=(math.pi/180)*(210+((i-1)*(m1*10)))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
text=knot[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,px+ppx-(width/2),py+ppy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end
--scale labels
local text="mph"
local extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin1)
cairo_show_text (cr,text)
cairo_stroke (cr)
local text="kmh"
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin2)
cairo_show_text (cr,text)
cairo_stroke (cr)
local text="Noeuds"
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin3)
cairo_show_text (cr,text)
cairo_stroke (cr)
local text="Mesures Vent"
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin3+12)
cairo_show_text (cr,text)
cairo_stroke (cr)
--pointer
if ws==nil then ws=0 end
local wspd=ws
local m1=300/60
local m2=wspd*m1
local rout1=rout3
local arc=(math.pi/180)*(210+m2)
local ppx=0+rout1*(math.sin(arc))
local ppy=0-rout1*(math.cos(arc))
------------------------------
local arc=(math.pi/180)*(210+m2+180)
local ppox=0+rout1*(math.sin(arc))
local ppoy=0-rout1*(math.cos(arc))
-------------------------------
local rin3=7
local arc=(math.pi/180)*(210+m2-90)
local pilx=0+rin3*(math.sin(arc))
local pily=0-rin3*(math.cos(arc))
local arc=(math.pi/180)*(210+m2+90)
local pirx=0+rin3*(math.sin(arc))
local piry=0-rin3*(math.cos(arc))
--------------------------------
cairo_move_to (cr,px+pilx,py+pily)
cairo_line_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pirx,py+piry)
cairo_line_to (cr,px+pilx,py+pily)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_fill (cr)
cairo_arc (cr,px,py,rin3,(math.pi/180),0)
cairo_fill (cr)
---------------------------------
cairo_move_to (cr,px+pilx,py+pily)
cairo_line_to (cr,px+ppox,py+ppoy)
cairo_line_to (cr,px+pirx,py+piry)
cairo_line_to (cr,px+pilx,py+pily)
cairo_set_source_rgba (cr,1,1,1,1)
cairo_fill (cr)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_arc (cr,px,py,rin3,(math.pi/180),0)
cairo_fill (cr)
-----------------------------------
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,px,py,rin3-1,(math.pi/180),0)
cairo_fill (cr)
end--wspeed dial function
--#############################################################################################################################################################
function circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
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,0,0,0,1);
local inum=string.len(text)
local deg=(finish-start)/(inum-1)
local degrads=(math.pi/180)
local textcut=string.gsub(text, ".", "%1|")
texttable=string.split(textcut, "|")
for i=1,inum do
interval=(degrads*(start+(deg*(i-1))))
txs=0+radi*(math.sin(interval))
tys=0-radi*(math.cos(interval))
cairo_move_to (cr, txs+horiz, tys+verti);
cairo_rotate (cr, interval)
cairo_show_text (cr, (texttable[i]))
cairo_stroke (cr)
cairo_rotate (cr, -interval)
end
end--circlewriting
--#############################################################################################################################################################
--#############################################################################################################################################################
function humidity(x,y,hval1)
hval=hval1*1.5
yt=y-1
rh=200
rw=30
local pat = cairo_pattern_create_linear (0,yt,0,yt+rh);
cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 1, 0);
cairo_pattern_add_color_stop_rgba (pat, 0, 0, 0, 1, 1);
cairo_rectangle (cr,x,yt,rw, rh);
cairo_set_source (cr, pat);
cairo_fill (cr);
cairo_pattern_destroy (pat);
----------
for i=1,11 do
lwid=-1
cairo_set_source_rgba (cr,1,1,1,1)
cairo_move_to (cr,x+rw,(y+150)-((i-1)*15))
cairo_rel_line_to (cr,lwid,0)
cairo_stroke(cr)
end
----------
cairo_set_source_rgba (cr,0,0,0,1)
hh=5
hw1=19
hw2=hw1+10
if hval==nil then hval=0 end
tx,ty=x+hw1,(y+150)-(hval+hh)
ix,iy=x+hw2,(y+150)-hval
bx,by=x+hw1,(y+150)-(hval-hh)
cairo_move_to (cr,tx,ty)
cairo_line_to (cr,ix,iy)
cairo_line_to (cr,bx,by)
cairo_line_to (cr,tx,ty)
cairo_fill (cr)
cairo_set_source_rgba (cr,0,0,0,1)
font="URW Chancery L"
fsize=16
cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fsize)
cairo_move_to (cr,x+hw2+3,(y+150)-(hval-hh))
cairo_show_text (cr,hval1.."%")
cairo_stroke (cr)
label="Taux d'humidité"
cairo_move_to (cr,x+12,y+150)
cairo_rotate (cr,(math.pi/180)*(-90))
cairo_show_text (cr,label)
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(90))
end--humidity
--#############################################################################################################################################################
--#############################################################################################################################################################
function txt(text,xpos,ypos,font,fsize,red,green,blue,alpha)
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,red,green,blue,alpha)
cairo_move_to (cr,xpos,ypos)
cairo_show_text (cr,text)
cairo_stroke (cr)
end--function txt
--#############################################################################################################################################################
--#############################################################################################################################################################
function barometer(pr,px,py)
--baromeer 27 inches to 32 inches = 5 inches
cairo_set_line_width (cr,1)
local router=110
cairo_set_source_rgba (cr,0.1,0.1,0.1,0.0)
cairo_arc (cr,px,py,router,(math.pi/180),0)
cairo_fill (cr)
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,px,py,router,(math.pi/180),0)
cairo_stroke (cr)
local rout1=75
local rin1=rout1-10
for i=0,40 do
if i==5 or i==15 or i==25 or i==35 then
rout=rout1-7
cairo_set_line_width (cr,3)
elseif i==0 or i==10 or i==20 or i==30 or i==40 then
rout=rout1
cairo_set_line_width (cr,1)
else
rout=rout1-5
cairo_set_line_width (cr,1)
end
arc=(math.pi/180)*(210+(i*(300/40)))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
arc=(math.pi/180)*(210+(i*300/40))
pix=0+rin1*(math.sin(arc))
piy=0-rin1*(math.cos(arc))
cairo_move_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pix,py+piy)
cairo_stroke (cr)
end
--inches reading
inch={28,29,30,31}
local rout=rout1+2
for i=1,4 do
arc=(math.pi/180)*(210+(300/8)+((i-1)*(300/4)))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
text=inch[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,px+ppx-(width/2),py+ppy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end
--942 to 1056
--27.5=931.25
--31.5=1066.70
cairo_set_line_width (cr,1)
local m1=300/135.45
local m2=m1*8.75--931.25+8.75=940
local rout2=60
local rin2=rout2-5
local num=60
for i=0,num do
if i==0 or i==5 or i==10 or i==15 or i==20 or i==25 or i==30 or i==35 or i==40 or i==45 or i==50 or i==55 or i==60 or i==65 then
rin=rin2-5
else
rin=rin2
end
arc=(math.pi/180)*(210+m2+(i*((m1*(num*2))/num)))
ppx=0+rout2*(math.sin(arc))
ppy=0-rout2*(math.cos(arc))
arc=(math.pi/180)*(210+m2+(i*((m1*(num*2))/num)))
pix=0+rin*(math.sin(arc))
piy=0-rin*(math.cos(arc))
cairo_move_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pix,py+piy)
cairo_stroke (cr)
end
--millibars reading
inch={940,960,980,1000,1020,1040,1060}
local rout=rin2-18
for i=1,7 do
arc=(math.pi/180)*(210+m2+((i-1)*(m1*20)))
ppx=0+rout*(math.sin(arc))
ppy=0-rout*(math.cos(arc))
text=inch[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,px+ppx-(width/2),py+ppy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end
--scale labels
local text="inches hg"
local extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin1)
cairo_show_text (cr,text)
cairo_stroke (cr)
local text="millibars"
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin2-height)
cairo_show_text (cr,text)
cairo_stroke (cr)
local text="Pression"
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,px-(width/2),py+rin2+35)
cairo_show_text (cr,text)
cairo_stroke (cr)
--pointer
if pr==nil then pr=27.5 end
local pres=pr-27.5
local m1=300/4
local m2=pres*m1
local rout1=rout1
local arc=(math.pi/180)*(210+m2)
local ppx=0+rout1*(math.sin(arc))
local ppy=0-rout1*(math.cos(arc))
------------------------------
local arc=(math.pi/180)*(210+m2+180)
local ppox=0+rout1*(math.sin(arc))
local ppoy=0-rout1*(math.cos(arc))
-------------------------------
local rin3=7
local arc=(math.pi/180)*(210+m2-90)
local pilx=0+rin3*(math.sin(arc))
local pily=0-rin3*(math.cos(arc))
local arc=(math.pi/180)*(210+m2+90)
local pirx=0+rin3*(math.sin(arc))
local piry=0-rin3*(math.cos(arc))
--------------------------------
cairo_move_to (cr,px+pilx,py+pily)
cairo_line_to (cr,px+ppx,py+ppy)
cairo_line_to (cr,px+pirx,py+piry)
cairo_line_to (cr,px+pilx,py+pily)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_fill (cr)
cairo_arc (cr,px,py,rin3,(math.pi/180),0)
cairo_fill (cr)
---------------------------------
cairo_move_to (cr,px+pilx,py+pily)
cairo_line_to (cr,px+ppox,py+ppoy)
cairo_line_to (cr,px+pirx,py+piry)
cairo_line_to (cr,px+pilx,py+pily)
cairo_set_source_rgba (cr,1,1,1,1)
cairo_fill (cr)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_arc (cr,px,py,rin3,(math.pi/180),0)
cairo_fill (cr)
-----------------------------------
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,px,py,rin3-1,(math.pi/180),0)
cairo_fill (cr)
----text
local horiz=px
local verti=py
local radi=87
local text="Tempete"
local font="URW Chancery L"
local fsize=16
local start=240
local finish=start+((string.len(text))*5)
circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
local text="Pluie"
local start=300
local finish=start+((string.len(text))*5)
circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
local text="Variable"
local start=340
local finish=start+((string.len(text))*5)
circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
local text="Beau"
local start=395
local finish=start+((string.len(text))*5)
circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
local text="Tres Sec"
local start=435
local finish=start+((string.len(text))*5)
circlewriting(text, font, fsize, radi, horiz, verti, start, finish)
end--barometer
--#############################################################################################################################################################
--#############################################################################################################################################################
function compass(wx,wy,rout,wdeg,w,wg)
local rin=rout-((rout/100)*10)
cairo_set_source_rgba (cr,0.1,0.1,0.1,0)
cairo_arc (cr,wx,wy,rout,(math.pi/180),0)
cairo_fill (cr)
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,wx,wy,rout,(math.pi/180),0)
cairo_stroke (cr)
for i=1,36 do
arc=(math.pi/180)*(i*10)
wpx=0+rout*(math.sin(arc))
wpy=0-rout*(math.cos(arc))
arc=(math.pi/180)*(i*10)
wix=0+rin*(math.sin(arc))
wiy=0-rin*(math.cos(arc))
cairo_move_to (cr,wx+wpx,wy+wpy)
cairo_line_to (cr,wx+wix,wy+wiy)
cairo_stroke (cr)
end
--print directions
local font="URW Chancery L"
local fsize=14
cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fsize)
dirs={"N","NE","E","SE","S","SO","O","NO"}
local rdir=rout-((rout/100)*25)
for i=1,8 do
arc=(math.pi/180)*((i-1)*(360/8))
wdx=0+rdir*(math.sin(arc))
wdy=0-rdir*(math.cos(arc))
text=dirs[i]
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
width=extents.width
height=extents.height
cairo_move_to (cr,wx+wdx-(width/2),wy+wdy+(height/2))
cairo_show_text (cr,text)
cairo_stroke (cr)
end
--indicator
local npr=rout-((rout/100)*15)
if wdeg==nil then wdeg=0 end
local arc=(math.pi/180)*(wdeg)
local npx=0+npr*(math.sin(arc))
local npy=0-npr*(math.cos(arc))
cairo_move_to (cr,wx+npx,wy+npy)
local nprm=rout-((rout/100)*88)
local arc=(math.pi/180)*(wdeg+90)
local npmrx=0+nprm*(math.sin(arc))
local npmry=0-nprm*(math.cos(arc))
local arc=(math.pi/180)*(wdeg-90)
local npmlx=0+nprm*(math.sin(arc))
local npmly=0-nprm*(math.cos(arc))
cairo_line_to (cr,wx+npmrx,wy+npmry)
cairo_line_to (cr,wx+npmlx,wy+npmly)
cairo_line_to (cr,wx+npx,wy+npy)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_fill (cr)
cairo_set_source_rgba (cr,1,1,1,1)
---------------------------------
local arc=(math.pi/180)*(wdeg-180)
local spx=0+npr*(math.sin(arc))
local spy=0-npr*(math.cos(arc))
cairo_move_to (cr,wx+spx,wy+spy)
local sprm=nprm
local arc=(math.pi/180)*(wdeg+90-180)
local spmrx=0+sprm*(math.sin(arc))
local spmry=0-sprm*(math.cos(arc))
local arc=(math.pi/180)*(wdeg-90-180)
local spmlx=0+sprm*(math.sin(arc))
local spmly=0-sprm*(math.cos(arc))
cairo_line_to (cr,wx+spmrx,wy+spmry)
cairo_line_to (cr,wx+spmlx,wy+spmly)
cairo_line_to (cr,wx+spx,wy+spy)
cairo_fill (cr)
--------------------------------------
cairo_set_source_rgba (cr,0,0,0,1)
cairo_arc (cr,wx,wy,nprm,(math.pi/180),0)
cairo_fill (cr)
cairo_set_source_rgba (cr,1,0,0,1)
cairo_arc (cr,wx,wy,nprm,(math.pi/180),0)
cairo_stroke (cr)
------------------------
cairo_set_source_rgba (cr,0,0,0,1)
local text="Rose des Vents"
local extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local width=extents.width
local height=extents.height
cairo_move_to (cr,wx-(width/2),wy-rout-5)
cairo_show_text (cr,text)
cairo_stroke (cr)
end--compass
--#############################################################################################################################################################
--
--#############################################################################################################################################################
function conky_draw_bg(r,x,y,w,h,color,alpha)
local function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
if conky_window == nil then return end
if cs == nil then cairo_surface_destroy(cs) end
if cr == nil then cairo_destroy(cr) 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)
cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))
--top left mid circle
local xtl=x+r
local ytl=y+r
--top right mid circle
local xtr=(x+r)+((w)-(2*r))
local ytr=y+r
--bottom right mid circle
local xbr=(x+r)+((w)-(2*r))
local ybr=(y+r)+((h)-(2*r))
--bottom right mid circle
local xbl=(x+r)
local ybl=(y+r)+((h)-(2*r))
-----------------------------
cairo_move_to (cr,xtl,ytl-r)
cairo_line_to (cr,xtr,ytr-r)
cairo_arc(cr,xtr,ytr,r,((2*math.pi/4)*3),((2*math.pi/4)*4))
cairo_line_to (cr,xbr+r,ybr)
cairo_arc(cr,xbr,ybr,r,((2*math.pi/4)*4),((2*math.pi/4)*1))
cairo_line_to (cr,xbl,ybl+r)
cairo_arc(cr,xbl,ybl,r,((2*math.pi/4)*1),((2*math.pi/4)*2))
cairo_line_to (cr,xtl-r,ytl)
cairo_arc(cr,xtl,ytl,r,((2*math.pi/4)*2),((2*math.pi/4)*3))
cairo_close_path(cr)
cairo_fill (cr)
------------------------------------------------------------
cairo_surface_destroy(cs)
cairo_destroy(cr)
return ""
end


Conky radar



Caché :

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 178 178
maximum_width 178
text_buffer_size 2048
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 380
gap_y 735
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1 ffff00
lua_load ~/.conky/draw_bg/draw_bg.lua
TEXT
${lua conky_draw_bg 0 5 5 0 0 0x000000 0.99}

${texeci 600 ~/.conky/conkyradar/sat-round.sh}
${image ~/.conky/conkyradar/radar.png -p 0,0 -s 190x190 -f 100}

le sat-round.sh
Caché :
#!/bin/bash
# Crée par JPDipsy
# script de recupération imagesat couverture nuageuse http://www.sat24.com
# et mise en forme polaroïd imagemagick et pagecurl doivent être installés
# ce script et le script pagecurl doivent être dans le même rep.
#----------------------------------------------------------------------------------
path=`dirname $0`
heuremodif=`date +%H`; minmodif=`date +%M`
# ce que vous voulez
fonte=Norasi
nomimage=radar
tailleimage=50 # ceci est en pourcentage
tailledecoupe=450x450
rotation=0
libelle="Report: "
wget -q -O ~/.conky/conkyradar/$nomimage.gif "http://www.meteo-mc.fr/dedie/Images/sat/satireu1.gif"
function mise_en_forme_image {
convert ~/.conky/conkyradar/$nomimage.png -gravity South -density 150 \
-fill white -font $fonte -pointsize 14 -annotate 0x10+105+5 "$libelle $heuremodif h $minmodif" ~/.conky/conkyradar/$nomimage.png
convert ~/.conky/conkyradar/$nomimage.png \
\( +clone -alpha extract \
-draw 'fill black polygon 0,0 0,15 15,0 fill white circle 0,15 15,0' \
\( +clone -flip \) -compose Multiply -composite \
\( +clone -flop \) -compose Multiply -composite \
\) -alpha off -compose CopyOpacity -composite ~/.conky/conkyradar/$nomimage.png
}

function ombre {
convert ~/.conky/conkyradar/$nomimage.png -background black \( +clone -shadow 60x4+2+2 \) +swap -background none -flatten ~/.conky/conkyradar/$nomimage.png
}
if [[ -e ~/.conky/conkyradar/$nomimage.gif ]] ; then
# decoupage de la partie utile
convert ~/.conky/conkyradar/$nomimage.gif -filter Lanczos -crop $tailledecoupe+140+110\! ~/.conky/conkyradar/$nomimage.png
mise_en_forme_image ; ombre ; rm ~/.conky/conkyradar/$nomimage.gif
else
# comme ça votre conky aura toujours une image au cas ou
convert -size $tailledecoupe plasma: ~/.conky/conkyradar/$nomimage.png
libelle="Désolé pas d'image radar à "
mise_en_forme_image ; ombre
fi


Couverture nuageuse



Caché :

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_color 000000
#own_window_argb_value 180
own_window_argb_visual yes
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pager
double_buffer yes
minimum_size 178 178
maximum_width 178
text_buffer_size 2048
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_right
gap_x 385
gap_y 735
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1 ffff00
lua_load ~/.conky/draw_bg/draw_bg.lua
TEXT
${lua conky_draw_bg 0 5 5 0 0 0x000000 0.99}

${texeci 300 ~/.conky/imagesat/couvnuage.sh}
${image ~/.conky/imagesat/imagesat-couvnuage.png -p 0,0 -s 190x190 -f 100}

le couvnuage.sh
Caché :
#!/bin/bash
# Crée par JPDipsy
# script de recupération imagesat couverture nuageuse http://www.sat24.com
# et mise en forme polaroïd .imagemagick doit être installé
# pas touche ----------------------------------------------------------------------
heuremodif=`date +%H`; minmodif=`date +%M`
#----------------------------------------------------------------------------------
# ce que vous voulez
fonte=Times-Bold
nomimage=imagesat-couvnuage
tailleimage=80 # ceci est en pourcentage
# recup image sat
wget -q -O ~/.conky/imagesat/$nomimage.gif "http://www.sat24.com/image.ashx?country=eu&type=zoom&format=640x480001001&rnd=610703"
if [[ -e ~/.conky/imagesat/$nomimage.gif ]] ; then
# decoupage de la partie utile
convert ~/.conky/imagesat/$nomimage.gif -filter Lanczos -crop 350x350+100+200\! ~/.conky/imagesat/imagesat-couvnuage.png
libelle="Couverture nuageuse à "
else
# comme ça votre conky aura toujours une image au cas ou
convert -size 550x550 plasma: ~/.conky/imagesat/$nomimage.png
libelle="Désolé pas d'image radar à "
fi


Drawbackground



Ajoute un fond foncé ,valable pour les papiers peints clairs

Caché :
--[[Background originally by londonali1010 (2009)
ability to set any size for background mrpeachy 2011
ability to set variables for bg in conkyrc dk75
the change is that if you set width and/or height to 0
then it assumes the width and/or height of the conky window
so:
Above and After TEXT (requires a composite manager or it blinks!)
lua_load ~/wea_conky/draw_bg.lua
TEXT
${lua conky_draw_bg 10 0 0 0 0 0x000000 0.4}
OR Both above TEXT (no composite manager required - no blinking!)
lua_load ~/wea_conky/draw_bg.lua
lua_draw_hook_pre draw_bg 10 0 0 0 0 0x000000 0.5
TEXT
Note
${lua conky_draw_bg 20 0 0 0 0 0x000000 0.4}
See below: 1 2 3 4 5 6 7
${lua conky_draw_bg corner_radius x_position y_position width height color alpha}
covers the whole window and will change if you change the minimum_size setting
1 = 20 corner_radius
2 = 0 x_position
3 = 0 y_position
3 = 0 width
5 = 0 height
6 = 0x000000 color
7 = 0.4 alpha
######### calendar function ##################################################
then to use it, you activate the calendar function BELOW TEXT like this
${lua luacal {settings}}
#${lua luacal {x=,y=,tf="",tfs=,tc=,ta=,bf="",bfs=,bc=,ba=,hf="",hfs=,hc=,ha=,sp="",gh=,gt=,gv=,sd=}}
# x=x position top left
# y=y position top left
# tf=title font, eg "mono" must be in quotes
# tfs=title font size
# tc=title color
# ta=title alpha
# bf=body font, eg "mono" must be in quotes
# bfs=body font size
# bc=body color
# ba=body alpha
# hf=highlight font, eg "mono" must be in quotes
# hfs=highlight font size
# hc=highlight color
# ha=highlight alpha
# sp=spacer, eg " " or sp="0"... 0,1 or 2 spaces can help with positioning of non-monospaced fonts
# gt=gap from title to body
# gh=gap horizontal between columns
# gv=gap vertical between rows
# sd=start day, 0=Sun, 1=Mon
# hstyle = heading style, 0=just days, 1=date insert
# tdf=title date font, eg "mono" must be in quotes
# tdfs=title date font size
# tdc=title date color
# tda=title date alpha
# test line
-- ${lua luacal {x=10,y=100,tf="Purisa",tfs=24,tc=0xf67e16,ta=1,bf="First Order",bfs=26,bc=0xecd32a,ba=1,hf="Purisa",hfs=18,hc=0xf67e16,ha=1,sp=" ",gh=40,gt=25,gv=20,sd=0,hstyle=1,tdf="First Order",tdfs=28,tdc=0xff0000,tda=1}}

]]
require 'cairo'
local cs, cr = nil
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function conky_draw_bg(r,x,y,w,h,color,alpha)
if conky_window == nil then return end
if cs == nil then cairo_surface_destroy(cs) end
if cr == nil then cairo_destroy(cr) 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)
w=w
h=h
if w=="0" then w=tonumber(conky_window.width) end
if h=="0" then h=tonumber(conky_window.height) end
cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))
--top left mid circle
local xtl=x+r
local ytl=y+r
--top right mid circle
local xtr=(x+r)+((w)-(2*r))
local ytr=y+r
--bottom right mid circle
local xbr=(x+r)+((w)-(2*r))
local ybr=(y+r)+((h)-(2*r))
--bottom right mid circle
local xbl=(x+r)
local ybl=(y+r)+((h)-(2*r))
-----------------------------
cairo_move_to (cr,xtl,ytl-r)
cairo_line_to (cr,xtr,ytr-r)
cairo_arc(cr,xtr,ytr,r,((2*math.pi/4)*3),((2*math.pi/4)*4))
cairo_line_to (cr,xbr+r,ybr)
cairo_arc(cr,xbr,ybr,r,((2*math.pi/4)*4),((2*math.pi/4)*1))
cairo_line_to (cr,xbl,ybl+r)
cairo_arc(cr,xbl,ybl,r,((2*math.pi/4)*1),((2*math.pi/4)*2))
cairo_line_to (cr,xtl-r,ytl)
cairo_arc(cr,xtl,ytl,r,((2*math.pi/4)*2),((2*math.pi/4)*3))
cairo_close_path(cr)
cairo_fill (cr)
------------------------------------------------------------
cairo_surface_destroy(cs)
cairo_destroy(cr)
return ""
end
-- ###### calendar function ##################################################
function conky_luacal(caltab) -- {x=,y=,tf="",tfs=,tc=,ta=,bf="",bfs=,bc=,ba=,hf="",hfs=,hc=,ha=,sp="",gt=,gh=,gv=,sd=,hstyle=,tdf=,tdfs=,tdc=,tda=}
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)
--############################################################################
if caltab.x==nil then
caltab=loadstring("return" .. caltab)()
end
local cal_x=caltab.x
local cal_y=caltab.y
local tfont=caltab.tf or "mono"
local tfontsize=caltab.tfs or 12
local tc=caltab.tc or 0xffffff
local ta=caltab.ta or 1
local bfont=caltab.bf or "mono"
local bfontsize=caltab.bfs or 12
local bc=caltab.bc or 0xffffff
local ba=caltab.ba or 1
local hfont=caltab.hf or "mono"
local hfontsize=caltab.hfs or 12
local hc=caltab.hc or 0xff0000
local ha=caltab.ha or 1
local spacer=caltab.sp or " "
local gaph=caltab.gh or 20
local gapt=caltab.gt or 15
local gapl=caltab.gv or 15
local sday=caltab.sd or 0
local hstyle=caltab.hstyle or 0
--convert colors
--local font=string.gsub(font,"_"," ")
local tred,tgreen,tblue,talpha=rgb_to_r_g_b(tc,ta)
--main body text color
local bred,bgreen,bblue,balpha=rgb_to_r_g_b(bc,ba)
--highlight text color
local hred,hgreen,hblue,halpha=rgb_to_r_g_b(hc,ha)
--############################################################################
--calendar calcs
local year=os.date("%G")
local today=tonumber(os.date("%d"))
local t1 = os.time( { year=year,month=03,day=01,hour=00,min=0,sec=0} );
local t2 = os.time( { year=year,month=02,day=01,hour=00,min=0,sec=0} );
local feb=(os.difftime(t1,t2))/(24*60*60)
local monthdays={ 31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
local day=tonumber(os.date("%w"))+1-sday
local day_num = today
local remainder=day_num % 7
local start_day=day-(day_num % 7)
if start_day<0 then start_day=7+start_day end
local month=os.date("%m")
local mdays=monthdays[tonumber(month)]
local x=mdays+start_day
local dnum={}
local dnumh={}
if mdays+start_day<36 then
dlen=35
plen=29
else
dlen=42
plen=36
end
for i=1,dlen do
if i<=start_day then
dnum[i]=" "
else
dn=i-start_day
if dn=="nil" then dn=0 end
if dn<=9 then dn=(spacer .. dn) end
if i>x then dn="" end
dnum[i]=dn
dnumh[i]=dn
if dn==(spacer .. today) or dn==today then
dnum[i]=""
end
if dn==(spacer .. today) or dn==today then
dnumh[i]=dn
place=i
else dnumh[i]=" "
end
end
end--for
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, tfontsize);
cairo_set_source_rgba (cr,tred,tgreen,tblue,talpha)
local extents=cairo_text_extents_t:create()
tolua.takeownership(extents)
if hstyle==0 then
if tonumber(sday)==0 then
dys={"SU","MO","TU","WE","TH","FR","SA"}
else
dys={"MO","TU","WE","TH","FR","SA","SU"}
end
--draw calendar titles
elseif hstyle==1 then
if tonumber(sday)==0 then
dys={"SU","MO"," "," "," ","FR","SA"}
cairo_text_extents(cr,"MO",extents)
local s=extents.x_advance+gaph
local f=gaph*5
local tdfont=caltab.tdf or "mono"
local tdfontsize=caltab.tdfs or 12
local tdc=caltab.tdc or 0xffffff
local tda=caltab.tda or 1
cairo_select_font_face (cr, tdfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, tdfontsize);
local tdred,tdgreen,tdblue,tdalpha=rgb_to_r_g_b(tdc,tda)
cairo_set_source_rgba (cr,tdred,tdgreen,tdblue,tdalpha)
local insert=os.date("%b %y")
cairo_text_extents(cr,insert,extents)
local w=extents.x_advance
cairo_move_to (cr, cal_x+((s+f)/2)-(w/2), cal_y)
cairo_show_text (cr,insert)
cairo_stroke (cr)
else
dys={"MO","TU"," "," "," ","SA","SU"}
cairo_text_extents(cr,"TU",extents)
local s=extents.x_advance+gaph
local f=gaph*5
local tdfont=caltab.tdf or "mono"
local tdfontsize=caltab.tdfs or 12
local tdc=caltab.tdc or 0xffffff
local tda=caltab.tda or 1
cairo_select_font_face (cr, tdfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, tdfontsize);
local tdred,tdgreen,tdblue,tdalpha=rgb_to_r_g_b(tdc,tda)
cairo_set_source_rgba (cr,tdred,tdgreen,tdblue,tdalpha)
local insert=os.date("%b %y")
cairo_text_extents(cr,insert,extents)
local w=extents.x_advance
cairo_move_to (cr, cal_x+((s+f)/2)-(w/2), cal_y)
cairo_show_text (cr,insert)
cairo_stroke (cr)
end
end
--draw calendar titles
for i=1,7 do
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, tfontsize);
cairo_set_source_rgba (cr,tred,tgreen,tblue,talpha)
cairo_move_to (cr, cal_x+(gaph*(i-1)), cal_y)
cairo_show_text (cr, dys[i])
cairo_stroke (cr)
end
--draw calendar body
cairo_select_font_face (cr, bfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, bfontsize);
cairo_set_source_rgba (cr,bred,bgreen,bblue,balpha)
for i=1,plen,7 do
local fn=i
for i=fn,fn+6 do
cairo_move_to (cr, cal_x+(gaph*(i-fn)),cal_y+gapt+(gapl*((fn-1)/7)))
cairo_show_text (cr, dnum[i])
cairo_stroke (cr)
end
end
--highlight
cairo_select_font_face (cr, hfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, hfontsize);
cairo_set_source_rgba (cr,hred,hgreen,hblue,halpha)
for i=1,plen,7 do
local fn=i
for i=fn,fn+6 do
cairo_move_to (cr, cal_x+(gaph*(i-fn)),cal_y+gapt+(gapl*((fn-1)/7)))
cairo_show_text (cr, dnumh[i])
cairo_stroke (cr)
end
end
--############################################################################
caltab=nil
dlen=nil
plen=nil
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
return ""
end-- end main function#######################################################


Terre



Caché :

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_color 000000
#own_window_argb_value 180
own_window_argb_visual yes
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pagerhttp://www.stci.qc.ca/smilies/smilies%20(204).gif
double_buffer yes
minimum_size 190 190
maximum_width 190
text_buffer_size 2048
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 100
gap_y 400
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1 ffff00
lua_load ~/.conky/draw_bg/draw_bg.lua
TEXT
${lua conky_draw_bg 100 0 0 0 0 0x000000 0.99}
${texeci 300 ~/.conky/l3/im_little.sh}
${image ~/.conky/l3/image1.png -p -40,-9 -s 280x218 -f 30}

le im_little.sh
Caché :
#!/bin/bash
#http://www.goes.noaa.gov/FULLDISK/GMIR.JPG
#http://www.ruwenzori.net/earth/Earth_EMEA+Atlantic_1280x1024.jpg
#http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_IR039Color-all.jpg
# script detour_terre.sh
wget -q -O ~/.conky/l3/image1.jpg http://www.ruwenzori.net/earth/Earth_EMEA+Atlantic_1280x1024.jpg
# pour le cadrage et le diametre si il ya lieu jouer sur 630,50
convert -size 1280x1024 xc:none -fill blue -draw 'circle 640,512 630,50' -alpha extract ~/.conky/l3/mask.png
convert ~/.conky/l3/image1.jpg ~/.conky/l3/mask.png -alpha off -compose CopyOpacity -composite ~/.conky/l3/image1.png
rm ~/.conky/l3/mask.png
#attention l'image finale et en .png a modifier dans ton conky
# ${image /home/idem/image1.png -p 0,0 -s 500x400 -f 60}


Heure villes modiales



Caché :
${font Sans:size=8}${color2}Heures Grandes Villes Mondiales
${color3}${voffset -5}${hr}${color}
${tztime America/Anchorage %A %d %B %Y}
${color6}${tztime NZ %A %d %B %Y}${color}
${goto 25}${if_match ${tztime Europe/London %d} == ${tztime NZ %d}}${color6} Londres ${goto 120}${tztime Europe/London %R}${color}${else} Londres ${goto 180}${tztime Europe/London %R}${endif}
${goto 25}${if_match ${tztime Europe/Rome %d} == ${tztime NZ %d}}${color6} Rome ${goto 120}${tztime Europe/Rome %R}${color}${else} Rome ${goto 180}${tztime Europe/Rome %R}${endif}
${goto 25}${if_match ${tztime US/Eastern %d} == ${tztime NZ %d}}${color6} Miami ${goto 120}${tztime US/Eastern %R}${color}${else} Miami ${goto 180}${tztime US/Eastern %R}${endif}
${goto 25}${if_match ${tztime America/Mexico_City %d} == ${tztime NZ %d}}${color6} Mexico ${goto 120}${tztime America/Mexico_City %R}${color}${else} Mexico ${goto 180}${tztime America/Mexico_City %R}${endif}
${goto 25}${if_match ${tztime America/Buenos_Aires %d} == ${tztime NZ %d}}${color6} Buenos Aires ${goto 120}${tztime America/Buenos_Aires %R}${color}${else} Buenos Aires ${goto 180}${tztime America/Buenos_Aires %R}${endif}
${goto 25}${if_match ${tztime US/Pacific %d} == ${tztime NZ %d}}${color6} Los Angeles ${goto 120}${tztime US/Pacific %R}${color}${else} Los Angeles ${goto 180}${tztime US/Pacific %R}${endif}
${goto 25}${if_match ${tztime US/Hawaii %d} == ${tztime NZ %d}}${color6} Honolulu ${goto 120}${tztime US/Hawaii %R}${color}${else} Honolulu ${goto 180}${tztime US/Hawaii %R}${endif}
${goto 25}${if_match ${tztime Asia/Tokyo %d} == ${tztime NZ %d}}${color6} Tokyo ${goto 120}${tztime Asia/Tokyo %R}${color}${else} Tokyo ${goto 180}${tztime Asia/Tokyo %R}${endif}
${goto 25}${if_match ${tztime Asia/Singapore %d} == ${tztime NZ %d}}${color6} Singapore ${goto 120}${tztime Asia/Singapore %R}${color}${else} Singapore ${goto 180}${tztime Asia/Singapore %R}${endif}
${goto 25}${if_match ${tztime GMT-5:30 %d} == ${tztime NZ %d}}${color6} New Delhi ${goto 120}${tztime GMT-5:30 %R}${color}${else} New Delhi ${goto 180}${tztime GMT-5:30 %R}${endif}
${goto 25}${if_match ${tztime Africa/Johannesburg %d} == ${tztime NZ %d}}${color6} Le Cap ${goto 120}${tztime Africa/Johannesburg %R}${color}${else} Le Cap ${goto 180}${tztime Africa/Johannesburg %R}${endif}
${color3}${voffset -5}${hr}${color}

la journée du jour sera dans une couleur et j-1 dans une autre et les heures sur deux colonnes j et j-1
en image:


Amarok et RadioTray



Amarok

Caché :

background yes
use_xft yes
xftfont Sans:size=8
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 300
maximum_width 300
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color white
default_outline_color white
alignment top_left
gap_x 500
gap_y 0
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
# Fonctionne uniquement avec les polices Fixes
#use_spacer yes
# Taille des pointillés
stippled_borders 5
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 white
#
color2 e8e8e8
#
color3 6495ee
#
color4 cacaca
#
color5 e7e7e7
#
color6 red
TEXT
${color6}${hr}
${color3}${alignc}AMAROK:
${if_running amarok}
${color2}${execi 10 ~/.conky/full/Amarok artist}
${color4}${execi 10 ~/.conky/full/Amarok title}
${color5}${execi 10 ~/.conky/full/Amarok year}
${color6}${execibar 1 ~/.conky/full/Amarok progress}${goto 9}${color1}${execibar 1 echo 0}$endif
${color6}${hr}

le scrit amarok
Caché :
#!/bin/bash
# amaroK info display script by Srijan Choudhary <srijan4@gmail.com>
#
# requirements: amaroK (!), dbus
#
case "$1" in
# Now Playing Info
artist) qdbus org.kde.amarok /Player GetMetadata | grep artist ;;
title) qdbus org.kde.amarok /Player GetMetadata | grep title ;;
album) qdbus org.kde.amarok /Player GetMetadata | grep album ;;
year) qdbus org.kde.amarok /Player GetMetadata | grep year ;;
genre) qdbus org.kde.amarok /Player GetMetadata | grep genre ;;
progress)
curr=`qdbus org.kde.amarok /Player PositionGet`
tot=`qdbus org.kde.amarok /Player GetMetadata | awk '/mtime:/{print substr($0,8)}'`
if (( $tot )); then
expr $curr \* 100 / $tot
fi
;;

esac


conkyradiotray
Caché :

background yes
use_xft yes
xftfont Sans:size=8
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 300
maximum_width 300
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color white
default_outline_color white
alignment top_left
gap_x 500
gap_y 200
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
# Fonctionne uniquement avec les polices Fixes
#use_spacer yes
# Taille des pointillés
stippled_borders 5
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 white
#
color2 e8e8e8
#
color3 6495ee
#
color4 cacaca
#
color5 e7e7e7
#
color6 red

TEXT
${color6}${hr}
${color3}${alignc}RADIOTRAY:
${color3}${if_match "${execi 10 qdbus net.sourceforge.radiotray /net/sourceforge/radiotray net.sourceforge.radiotray.getCurrentRadio}" == "not playing"}${else}
${color4}${execi 10 qdbus net.sourceforge.radiotray /net/sourceforge/radiotray net.sourceforge.radiotray.getCurrentRadio} Artist & Song
${color2}${execi 10 qdbus net.sourceforge.radiotray /net/sourceforge/radiotray getCurrentMetaData| fold -s -w 20}${color}${endif}

${color6}${hr}


Conky lunaison



Caché :

background yes
use_xft yes
xftfont Sans:size=8
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 440
maximum_width 440
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
default_color white
default_outline_color white
alignment top_right
gap_x 450
gap_y 602
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
# Fonctionne uniquement avec les polices Fixes
#use_spacer yes
# Taille des pointillés
stippled_borders 5
# Couleurs
color1 white
#
color2 e8e8e8
#
color3 6495ee
#
color4 cacaca
#
color5 e7e7e7
#
color6 red

default_color 8b8b8b
# -- Déclaration template -- #
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}

lua_load ~/.conky/conky-meteo/meteo_lua_2/scripts/meteo2.lua
lua_startup_hook init ~/.conky/conky-meteo/meteo/meteo.cfg

TEXT
${color6}${hr}
${color3}${alignc}LUNAISON
${template1 horsligne}
${color3}Éphémérides journalières ${color2}${goto 180} ${template3 ephemerides}
${color3}Taux de visibilité de la lune ${color2}${goto 180} ${template3 Visibilite} %
${color3}Phases ${color2}${goto 180} ${template3 Phases}
${color3}Prochain nœud lunaire dans ${color2}${goto 180} ${template3 Noeudlunaire} jours
${color3}Prochaine apogée dans ${color2}${goto 180} ${template3 Apogee} jours
${color3}Prochaine périgée dans ${color2}${goto 180} ${template3 Perigee} jours
${color3}Distance terre lune ${color2}${goto 180} ${template3 Distance} kms
${color3}Age de la lune ${color2}${goto 180} ${template3 Age}
${color3}Heure lever lune ${color2}${goto 180} ${template3 HLeverLune}:${template3 MLeverLune}
${color3}Heure coucher lune ${color2}${goto 180} ${template3 HCoucherLune}:${template3 MCoucherLune}
${color3}Prochaine éclipse partielle ${color2}${goto 180} ${template3 EclipsePartielle}
${color3}Prochaine éclipse total ${color2}${goto 180} ${template3 EclipseTotal}
${color6}${hr}


La lune est un plasma

Batterie



Pour les portables une partie batterie (attention par defaut c'est BAT0 donc si cela ne fonctionne pas il faudra remplacer 0 par votre numéro)
Caché :
${color6}${hr}
${color3}${alignc}BATERIE:

${color3}Etat :${color1}${goto 150}${battery_short}
${color3}Charge:${color1}${exec acpi -b | grep "Battery 0" | awk '{ print $4}'}${goto 150}${color3}${battery_bar 6,120}${goto 150}${color2}${battery_bar 6,120 echo 0}
${color3}Temps restant :${goto 150}${color1}$battery_time
${color3}C=charge D=utilisation N=non présente F=pleine
${color6}${hr}



Exaile



Une petite partie "exaile" pour ceux qui utilise ce lecteur , a ajouter à un conky existant .On peut aussi comme moi en faire un spécial pour ce lecteur.
La partie après TEXT (ce qui est entre /home et les /exaile_conky.py )sera a modifier en fonction de votre emplacement.La pochette c'est exaile qui l'affiche sur le bureau grace à un greffon.
Caché :
${if_running exaile}
${exec /home/romuald/.conky/exaile/exaile_conky.py ART}
${exec /home/romuald/.conky/exaile/exaile_conky.py ALB}
${exec /home/romuald/.conky/exaile/exaile_conky.py TTL}
${execbar /home/romuald/.conky/exaile/exaile_conky.py PROG} #size bar - see > default_bar_size
${exec /home/romuald/.conky/exaile/exaile_conky.py POS} mn sur ${exec /home/romuald/.conky/exaile/exaile_conky.py LNG} : ${exec /home/romuald/.conky/exaile/exaile_conky.py PROG} % ${endif}

le exaile_conky.py
Caché :
#!/usr/bin/env python
import sys, dbus
import Image
from StringIO import StringIO
try:
datar = sys.argv[1]
except:
print "script parameter missing"
sys.exit()
bus = dbus.SessionBus()
try:
remote_object = bus.get_object("org.exaile.Exaile","/org/exaile/Exaile")
iface = dbus.Interface(remote_object, "org.exaile.Exaile")
if iface.IsPlaying():
if datar == "POS": #Current position sec
output = iface.CurrentPosition()
print output
if datar == "PROG": #play progress in percent
output = iface.CurrentProgress()
print output
if datar == "STA": #status play/pause
output = iface.GetState()
if output == "playing": #blinking play button
put = iface.CurrentPosition()
put = put.replace(':', '')
if (not int(put)%2 ):
print "V"
else:
print "X"

elif output == "paused":
print "Z"
else:
print "I"

if datar == "VOL": #volume
output = iface.GetVolume()
output = output.split('.')
output = output[0]
print output

if datar == "TTL": #title song
output = iface.GetTrackAttr("title")
print output.encode('utf8')
if datar == "ALB": #album
output = iface.GetTrackAttr("album")
print output.encode('utf8')
if datar == "ART": #artist
output = iface.GetTrackAttr("artist")
print output.encode('utf8')
if datar == "LNG": #combo information about lenght\progress\full lenght
output1 = float(iface.GetTrackAttr('__length'))
output = '%d:%02d' % (output1 // 60, output1 % 60)
print output
if datar == "TIK": #play progress in percent
output = iface.CurrentPosition()
output = output.replace(':', '')
if (not int(output)%2 ):
print "G"
else:
print ""

# dbusArray = iface.GetCoverData()
# coverdata = "".join(chr(byte) for byte in dbusArray)
# if coverdata:
# im = Image.open(StringIO(coverdata))
# im.show()

else:
print "q"
except dbus.exceptions.DBusException:
print "I"


Calendrier lua



Le lua permet d'utiliser le police que l'on veut ,voici les lignes à rajouter à un conky
Caché :
lua_load ~/.conky/calendrier-lua/calendrier.lua
lua_draw_hook_pre widgets

le calendrier.lua
Caché :
--[[Adapdation d'un conky calendrier d'ogmen sur ubuntu.ru, d'aprés un calendrier de londonali ]]
require 'cairo'
-- ---------------------------------------------------------------------------------------
--[[ Calendar by londonali1010 (2009) ]]
function calendar (cr, x, y, font, fs, fu, fv, fgc, fgd, fge, fga, fda, fea)
-- définition des couleurs des mois et des jours
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
local day = tonumber(os.date("%w"))
local day_num = tonumber(os.date("%d"))
local remainder = day_num % 7
start_day = day - (day_num % 7)+1
if start_day < 0 then start_day = 7 + start_day end
month = tonumber(os.date("%m"))
month_name = os.date("%B")
if month == 01 then month_name = "JANVIER"
elseif month == 02 then month_name = "FEVRIER"
elseif month == 03 then month_name = "MARS"
elseif month == 04 then month_name = "AVRIL"
elseif month == 05 then month_name = "MAI"
elseif month == 06 then month_name = "JUIN"
elseif month == 07 then month_name = "JUILLET"
elseif month == 08 then month_name = "AOUT"
elseif month == 09 then month_name = "SEPTEMBRE"
elseif month == 10 then month_name = "OCTOBRE"
elseif month == 11 then month_name = "NOVEMBRE"
elseif month == 12 then month_name = "DECEMBRE"
end
year = tonumber(os.date("%Y"))
days = { "Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di" }

function get_days_in_month()
local month_days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
local d = month_days[month]
-- recalculer février pour une année bissextile
if month == 2 and year % 4 == 0 and (year % 100 ~= 0 or year % 400 ~= 0) then d = 29 end
return d
end
-- largeur égale à la largeur de la fenêtre conky
local size = conky_window.width
-- coordonnées d'affichage du calendrier
cairo_translate(cr, conky_window.width/ 2, 60)
cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
cairo_set_source_rgba(cr, rgb_to_r_g_b(fgc, fga))
-- calculer la taille de la police sur la largeur de la fenêtre
if dpi == nil then
dpi = tonumber(conky_parse('${exec xdpyinfo | grep resolution | cut -c 18-19}'))
end
local font_pixel_size = size / 8
local font_size = font_pixel_size * 72 / dpi -- 72 pt/in * 1/dpi
-- Definir la couleur et la taille de la police pour le mois et l'année
fs = font_size * fs
cairo_set_font_size(cr, fs)
local text = month_name .. " " .. year
cairo_move_to(cr, x + 50 - 3.5 * size / 8, y - 2.5 * size / 8)
cairo_text_path(cr, text)
cairo_fill(cr)
-- Définit la police pour afficher les jours de la semaine
fu = font_size * fu
cairo_set_font_size(cr, fu)
local xi, yi = x + 5 - 3.5 * size / 8, y - 1.5 * size / 8
for i = 1, 7 do
cairo_move_to(cr, xi, yi)
cairo_text_path(cr, days[i])
cairo_fill(cr)
xi = xi + size/8
end
-- Définit la police pour les numéros
fv = font_size * fv
cairo_set_font_size(cr, fv)
local xi = x - 3.5 * size / 8 + (start_day - 1) * size / 8
local yi = y - 0.5 * size / 8
days_in_month = get_days_in_month()
for i = 1, 9 do
if i == day_num then
cairo_set_source_rgba(cr, rgb_to_r_g_b(fgd, fda))
cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
else
cairo_set_source_rgba(cr, rgb_to_r_g_b(fge, fea))
cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
end
cairo_move_to(cr, xi + 10, yi)
cairo_text_path(cr, i)
cairo_fill(cr)
xi = xi + size / 8
if xi == x + size / 2 - size / 16 then
xi = x - 3.5*size / 8
yi = yi + size / 9
if yi > y + size / 2 then
yi = y - 0.5 * size / 9
end
end
end
for i = 10, days_in_month do
if i == day_num then
cairo_set_source_rgba(cr, rgb_to_r_g_b(fgd, fda))
cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
else
cairo_set_source_rgba(cr, rgb_to_r_g_b(fge, fea))
cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
end
cairo_move_to(cr, xi, yi)
cairo_text_path(cr, i)
cairo_fill(cr)
xi = xi + size / 8
if xi == x + size / 2 - size / 16 then
xi = x - 3.5*size / 8
yi = yi + size / 9
if yi > y + size / 2 then
yi = y - 0.5 * size / 9
end
end
end
end
-- ------------------------------------------------------------------------------------
-- -------------------------------------------------------------------------------------
function conky_widgets()
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)
calendar (cr,
0, -- position du calendrier par rapport au bord gauche de la fenêtre conky
50, -- position du calendrier par rapport au bord haut de la fenêtre conky
"URW Chancery L", -- définir la police du calendrier
1.1, -- definir la taille de la police pour le mois et l'année
0.8, -- definir la taille de la police pour le nom des jours de la semaine
0.8, -- definir la taille de la police pour les numéros des jours
0xffffff, -- couleur du mois, de l'année et du nom des jours
0xFF230B, -- couleur du jour courant
0x48a3fd, -- couleur des autres jours
0.95, -- transparence du texte (0=transparent, 1=opaque)
0.99, -- transparence du jour courant (0=transparent, 1=opaque)
0.95 -- transparence des autre jours (0=transparent, 1=opaque)
)
cairo_destroy(cr)
end


Blague du jour



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
#lua_load ~/.conky/draw_bg/draw_bg.lua
TEXT
Blague du jour : ${texeci 28800 wget www.blaguesdegeek.com/aleatoire.html -o /dev/null -O - | egrep '<p class.*<\/p>' | sed 's/<p class=\"contenu\">//1' | sed 's/<\/p>//1' | sed 's/^[ \t]*//;s/[ \t]*$//' | recode h..utf8 | head -n 1 | fold -s -w 60}



chronographe



Comme sur l'ancien cronographe il y avait des doublons avec mon conky ligne je l'ai un peut modifié avec en bas une seconde horloge ou l'on peut mettre l'heure de la ville de ses rêves .
conkyrc
Caché :

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 360 360
maximum_width 360
text_buffer_size 2048
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_right
gap_x 0
gap_y 130
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes

lua_load ~/.conky/cronograph/scripts/clock_ring.lua
lua_draw_hook_pre clock_rings
lua_load ~/.conky/cronograph/scripts/chrono.lua
lua_draw_hook_post main

#lua_load ~/.conky/draw_bg/draw_bg.lua
#${lua conky_draw_bg 10 0 0 300 300 0x000000 0.30} à mettre après text
TEXT

le clock_ring.lua
Caché :
--[[
Clock Rings by londonali1010 (2009)
This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement near the end of the script uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0.5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/clock_rings-v1.1.1.lua
lua_draw_hook_pre clock_rings
Changelog:
+ v1.1.1 -- Fixed minor bug that caused the script to crash if conky_parse() returns a nil value (20.10.2009)
+ v1.1 -- Added colour option for clock hands (07.10.2009)
+ v1.0 -- Original release (30.09.2009)
]]
settings_table = {
{
-- Edit this table to customise your rings.
-- You can create more rings simply by adding more elements to settings_table.
-- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
name='time',
-- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
arg='%I.%M',
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
max=12,
-- "bg_colour" is the colour of the base ring.
bg_colour=0xFFFFFF,
-- "bg_alpha" is the alpha value of the base ring.
bg_alpha=0.1,
-- "fg_colour" is the colour of the indicator part of the ring.
fg_colour=0xFFFFFF,
-- "fg_alpha" is the alpha value of the indicator part of the ring.
fg_alpha=0.5,
-- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
x=180, y=180,
-- "radius" is the radius of the ring.
radius=135,
-- "thickness" is the thickness of the ring, centred around the radius.
thickness=4,
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
start_angle=0,
-- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
end_angle=360
},
{
name='time',
arg='%M.%S',
max=60,
bg_colour=0xFFFFFF,
bg_alpha=0.1,
fg_colour=0xFFFFFF,
fg_alpha=0.5,
x=180, y=180,
radius=140,
thickness=4,
start_angle=0,
end_angle=360
},
{
name='time',
arg='%S',
max=60,
bg_colour=0xFFFFFF,
bg_alpha=0.1,
fg_colour=0xFFFFFF,
fg_alpha=0.5,
x=180, y=180,
radius=145,
thickness=4,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0x000000,
bg_alpha=0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=180,
radius=66,
thickness=130,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=180,
radius=1,
thickness=10,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=115, y=180,
radius=30,
thickness=1,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0x000000,
bg_alpha=0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=115, y=180,
radius=15,
thickness=27,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=115, y=180,
radius=1,
thickness=2,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=245, y=180,
radius=30,
thickness=1,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0x000000,
bg_alpha=0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=245, y=180,
radius=15,
thickness=27,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=245, y=180,
radius=1,
thickness=2,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=115,
radius=30,
thickness=1,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0x000000,
bg_alpha=0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=115,
radius=13,
thickness=22,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=115,
radius=1,
thickness=2,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=245,
radius=30,
thickness=1,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0x000000,
bg_alpha=0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=245,
radius=13,
thickness=22,
start_angle=0,
end_angle=360
},
{
name='exec',
arg='echo 100',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=1.0,
fg_colour=0xFFFFFF,
fg_alpha=0.0,
x=180, y=245,
radius=1,
thickness=2,
start_angle=0,
end_angle=360
},
}
-- Use these settings to define the origin and extent of your clock.
clock_r=0
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
clock_x=180
clock_y=180
-- Colour & alpha of the clock hands
clock_colour=0xFFFFFF
clock_alpha=1
-- Do you want to show the seconds hand?
show_seconds=true
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function draw_clock_hands(cr,xc,yc)
local secs,mins,hours,secs_arc,mins_arc,hours_arc
local xh,yh,xm,ym,xs,ys
secs=os.date("%S")
mins=os.date("%M")
hours=os.date("%I")
secs_arc=(2*math.pi/60)*secs
mins_arc=(2*math.pi/60)*mins+secs_arc/60
hours_arc=(2*math.pi/12)*hours+mins_arc/12
-- Draw hour hand
xh=xc+0.7*clock_r*math.sin(hours_arc)
yh=yc-0.7*clock_r*math.cos(hours_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xh,yh)
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_width(cr,5)
cairo_set_source_rgba(cr,rgb_to_r_g_b(clock_colour,clock_alpha))
cairo_stroke(cr)
-- Draw minute hand
xm=xc+clock_r*math.sin(mins_arc)
ym=yc-clock_r*math.cos(mins_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xm,ym)
cairo_set_line_width(cr,3)
cairo_stroke(cr)
-- Draw seconds hand
if show_seconds then
xs=xc+clock_r*math.sin(secs_arc)
ys=yc-clock_r*math.cos(secs_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xs,ys)
cairo_set_line_width(cr,1)
cairo_stroke(cr)
end
end
function conky_clock_rings()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
if value == nil then value = 0 end
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
-- Check that Conky has been running for at least 5s
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 updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
draw_clock_hands(cr,clock_x,clock_y)
end

le crono.lua
Pour la seconde ville modifier la ligne 172 avec + ou - plus le nombre d'heures de l'autre fuseau horaire .
chez moi c'est -6 cela correspond à Miami
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=0xffffff,
text_alpha=0.4,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0.4,
point_color_current=0xffffff,
point_alpha_current=1,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=115,
text_radius=40,
point_radius=25,
hand_gap=0,
hand_larg=1.5,
hand_length=25,
point_ray=0.5
},
{text={""},
nb="",
formule='jour_num',
police="URW Chancery L",
taille=10,
text_color=0xffffff,
text_alpha=0.4,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0.4,
point_color_current=0xffffff,
point_alpha_current=1,
hand_color=0xffffff,
hand_alpha=1,
center_x=115,
center_y=180,
text_radius=36,
point_radius=25,
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=0xffffff,
text_alpha=0.4,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0.4,
point_color_current=0xffffff,
point_alpha_current=1,
hand_color=0xffffff,
hand_alpha=1,
center_x=245,
center_y=180,
text_radius=38,
point_radius=25,
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=0xffffff,
text_alpha=0.2,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0,
point_color_current=0xffffff,
point_alpha_current=0,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=180,
text_radius=165,
point_radius=148,
hand_gap=0,
hand_length=95,
hand_larg=4,
point_ray=0
},
{text={"","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=20,
text_color=0xffffff,
text_alpha=0,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0,
point_color_current=0xffffff,
point_alpha_current=0,
hand_color=0xfffffff,
hand_alpha=1,
center_x=180,
center_y=180,
text_radius=140,
point_radius=300,
point_ray=0,
hand_gap=0,
hand_larg=4,
hand_length=120
},
{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=0xffffff,
text_alpha=0.4,
text_color_current=0xffffff,
text_alpha_current=1,
point_color=0xffffff,
point_alpha=0,
point_color_current=0xffffff,
point_alpha_current=0,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=180,
text_radius=127,
point_radius=112,
point_ray=0,
hand_gap=0,
hand_larg=1.2,
hand_length=120,
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=0xffffff,
text_alpha=0.4,
text_color_current=0xffffff,
text_alpha_current=0,
point_color=0xffffff,
point_alpha=0.4,
point_color_current=0xffffff,
point_alpha_current=1,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=245,
text_radius=36,
point_radius=27,
hand_gap=0,
hand_length=20,
hand_larg=1.5,
point_ray=0.5
},
{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=0xffffff,
text_alpha_current=0,
point_color=0xffffff,
point_alpha=0,
point_color_current=0xffffff,
point_alpha_current=0,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=245,
text_radius=25,
point_radius=20,
point_ray=0.5,
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=0xffffff,
point_alpha=1,
point_color_current=0x000000,
point_alpha_current=0,
hand_color=0xffffff,
hand_alpha=1,
center_x=180,
center_y=245,
text_radius=30,
point_radius=25,
point_ray=0.1,
hand_gap=20,
hand_larg=1,
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


Audacious



Pour ceux qui écoutent leurs albums avec Audacious avec l'affichage de la pochette .
le conkyrc
Caché :

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 250 450
maximum_width 250
text_buffer_size 2048
imlib_cache_size 0
draw_shades no
draw_outline no
draw_borders no
border_width 1
draw_graph_borders no
default_color white
default_outline_color cacaca
alignment top_right
gap_x 0
gap_y 420
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
lua_load ~/.conky/draw_bg/draw_bg.lua
#${lua conky_draw_bg 0 35 235 200 200 0x000000 0.99} après text
TEXT
${if_running audacious}${lua conky_draw_bg 0 35 235 200 200 0x000000 0.99}
${exec ~/.conky/audacious/cover.sh}
${image ~/.conky/audacious/audacious.jpg -p 30,230 -s 200x200}
Audacious is ${execi 3 audtool playback-status} ${stippled_hr}
Titre : ${goto 100} ${execi 3 audtool current-song-tuple-data title}
Artiste : ${goto 100} ${execi 3 audtool current-song-tuple-data artist}
Album : ${goto 100} ${execi 3 audtool current-song-tuple-data album}
Année : ${goto 100} ${execi 3 audtool current-song-tuple-data year}
Position : ${goto 100} ${execi 3 audtool playlist-position} of ${execi 10 audtool playlist-length}
Bitrate : ${goto 100} ${execi 3 audtool --current-song-bitrate-kbps} kbps
Durée : ${goto 100} ${execi 0.5 audtool current-song-output-length} ${goto 230}${execi 3 audtool current-song-length}
${goto 100}${execbar expr 100 \* $(audtool --current-song-output-length-seconds) \/ $(audtool --current-song-length-seconds)}${endif}


le cover.sh
Caché :

#!/bin/bash
cp /tmp/audacious-temp* ~/.conky/audacious/audacious.jpg &
exit







Certains des conkys présentés ici mis sur mon bureau :

ou encore ceux-là :


Écrit par: loutch, Le: 01-06-2014

Cette page a été vue 28051 fois