#426 Le 29/01/2014, à 07:22
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Seconde version de l'horloge Flip Flap, je me suis contenté de modifier la position des paramètres, de manière à rendre plus simple les modifications effectuées par l'utilisateur.
Flip_Flap_Clock.lua
--[[
by mrpeachy
Modifié par Dider-T pour utilisation de l'horloge seul - le 28/01/2014
Utilisation dans le conky
############################################################################
# #
# Avant TEXT #
# #
############################################################################
# #
# lua_load /chemin/vers/le/script/Flip_Flap_Clock.lua #
# lua_draw_hook_pre main #
# #
############################################################################
]]--
--[[
#############################################################################
# #
# EDITABLE #
# #
# Zonne de paramètres #
# #
#############################################################################
]]--
default_font="LED_mono"--font must be in quotes
default_font_size=12
default_face="normal"
default_color=0xffffff
default_alpha=1--fully opaque text
ajust=1--ajustement des chiffres en hauteur
alignement="r"-- l (Left), r (right) or c (center)
function tab()
local Digit={
{
TopLeftX=50,
TopLeftY=50,
cra=10,
sw=30,
Digit=tostring(os.date("%H")):sub(1,1)
},
{
TopLeftX=105,
TopLeftY=50,
cra=10,
sw=30,
Digit=tostring(os.date("%H")):sub(2,2)
},
{
TopLeftX=170,
TopLeftY=50,
cra=10,
sw=30,
Digit=tostring(os.date("%M")):sub(1,1)
},
{
TopLeftX=225,
TopLeftY=50,
cra=10,
sw=30,
Digit=tostring(os.date("%M")):sub(2,2)
},
{
TopLeftX=290,
TopLeftY=65,
cra=10,
sw=20,
Digit=tostring(os.date("%S")):sub(1,1)
},
{
TopLeftX=335,
TopLeftY=65,
cra=10,
sw=20,
Digit=tostring(os.date("%S")):sub(2,2)
},
}
return Digit
end
--[[
#############################################################################
# #
# END EDITABLE #
# #
# Fin de la zonne de paramètres #
# Ne rien modifier après cette ligne #
# #
#############################################################################
]]--
require 'cairo'
require 'os'
_G.weather_script = function()
local settings_table=tab()
for i in pairs(settings_table) do
flip_digit(settings_table[i].TopLeftX,settings_table[i].TopLeftY,settings_table[i].cra,settings_table[i].sw,settings_table[i].Digit)
end
end
function conky_main()--run with lua_draw_hook_pre 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)
cr = cairo_create(cs)
_G.weather_script()
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
collectgarbage()
end
function grec(gtab)--#################################################################################
local function color(col,alp)
return ((col / 0x10000) % 0x100) / 255, ((col / 0x100) % 0x100) / 255, (col % 0x100) / 255, alp
end
local function pt(px,py,prad,pdeg)
local ppo=(math.pi/180)*pdeg
local px1=px+prad*(math.sin(ppo))
local py1=py-prad*(math.cos(ppo))
return px1,py1
end
local function sub_draw(sdtab)
local cdsx={}
local cdsy={}
local dr={}
local limit=#sdtab
local x, y, d, ang1, ang2, rad, alx, aly, ax, ay, q
for i=1,limit do
d=sdtab[i].d
if d=="start" then
table.insert(dr,"cairo_move_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
table.insert(cdsx,sdtab[i].x)
table.insert(cdsy,sdtab[i].y)
end
if d=="line" then
table.insert(dr,"cairo_line_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
table.insert(cdsx,sdtab[i].x)
table.insert(cdsy,sdtab[i].y)
end
if d=="rline" then
table.insert(dr,"cairo_rel_line_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
table.insert(cdsx,cdsx[i-1]+sdtab[i].x)
table.insert(cdsy,cdsy[i-1]+sdtab[i].y)
end
if d=="aline" then
--pt(px,py,prad,pdeg)
alx,aly=pt(cdsx[i-1],cdsy[i-1],sdtab[i].l,sdtab[i].a)
table.insert(dr,"cairo_line_to(cr,"..tostring(alx)..","..tostring(aly)..");")
table.insert(cdsx,alx)
table.insert(cdsy,aly)
end
if d=="arc" then
ang1=(math.pi/180)*((sdtab[i].a1)-90)
ang2=(math.pi/180)*((sdtab[i].a2)-90)
rad=sdtab[i].r
x=sdtab[i].x
y=sdtab[i].y
table.insert(dr,"cairo_arc(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
ang2=(math.pi/180)*(sdtab[i].a2)
ax=0+rad*(math.sin(ang2))
ay=0-rad*(math.cos(ang2))
table.insert(cdsx,x+ax)
table.insert(cdsy,y+ay)
end
if d=="arc_c" then
q=sdtab[i].q
rad=sdtab[i].r
if q==4 then
ang1=(math.pi/180)*(270-90)
x=cdsx[i-1]+rad
y=cdsy[i-1]
elseif q==1 then
ang1=(math.pi/180)*(360-90)
x=cdsx[i-1]
y=cdsy[i-1]+rad
elseif q==2 then
ang1=(math.pi/180)*(90-90)
x=cdsx[i-1]-rad
y=cdsy[i-1]
elseif q==3 then
ang1=(math.pi/180)*(180-90)
x=cdsx[i-1]
y=cdsy[i-1]-rad
end
ang2=ang1+((math.pi/180)*(sdtab[i].degs))
table.insert(dr,"cairo_arc(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
ang2=ang2+((math.pi/180)*90)
ax=0+rad*(math.sin(ang2))
ay=0-rad*(math.cos(ang2))
table.insert(cdsx,x+ax)
table.insert(cdsy,y+ay)
end
if d=="arc_a" then
q=sdtab[i].q
rad=sdtab[i].r
if q==4 then
ang1=(math.pi/180)*(360-90)
x=cdsx[i-1]
y=cdsy[i-1]+rad
elseif q==1 then
ang1=(math.pi/180)*(90-90)
x=cdsx[i-1]-rad
y=cdsy[i-1]
elseif q==2 then
ang1=(math.pi/180)*(180-90)
x=cdsx[i-1]
y=cdsy[i-1]-rad
elseif q==3 then
ang1=(math.pi/180)*(270-90)
x=cdsx[i-1]+rad
y=cdsy[i-1]
end
ang2=ang1-(math.pi/180)*(sdtab[i].degs)
table.insert(dr,"cairo_arc_negative(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
ang2=ang2+((math.pi/180)*90)
ax=0+rad*(math.sin(ang2))
ay=0-rad*(math.cos(ang2))
table.insert(cdsx,x+ax)
table.insert(cdsy,y+ay)
end
end
return table.concat(dr)
end--of local function sub_draw
local g=gtab.g or 1
local x=gtab.x or 0
local y=gtab.y or 0
local w=gtab.w or 50
local h=gtab.h or 50
local r=gtab.r or 50
local rgx=gtab.rgx or x
local rgy=gtab.rgy or y
local grad=gtab.grad or {{c=0xffffff}}
local gan=gtab.gan or 45
local lw=gtab.lw or 1
local sub=gtab.sub or 0
local db=gtab.db or 0
local subtab=gtab.subtab
if db==1 and g~=6 then
cairo_set_source_rgba (cr,1,1,1,1)
cairo_set_line_width (cr,1)
cairo_rectangle (cr,x,y,w,h)
cairo_stroke (cr)
elseif db==1 and g==6 then
cairo_set_source_rgba (cr,1,1,1,1)
cairo_set_line_width (cr,1)
cairo_arc (cr,x,y,r,0,2*math.pi)
cairo_stroke (cr)
end
--##########################################
if g==1 or g==2 or g==5 or g==6 then --rectangular gradients
if g==1 then
pat = cairo_pattern_create_linear (0,y,0,y+h);
elseif g==2 then
pat = cairo_pattern_create_linear (x,0,x+w,0);
elseif g==5 then
--calculate hypotenuse across middle of rectange
local hyp=math.sqrt((w^2)+(h^2))
local rad=hyp/2
--center point of rectangle
local crx=x+(w/2)
local cry=y+(h/2)
--calculate point 1
local point=(math.pi/180)*gan
local x1=crx+rad*(math.sin(point))
local y1=cry-rad*(math.cos(point))
--calculate point 2
local point=(math.pi/180)*(gan+180)
local x2=crx+rad*(math.sin(point))
local y2=cry-rad*(math.cos(point))
--gradient
pat = cairo_pattern_create_linear (x1,y1,x2,y2);
elseif g==6 then
pat = cairo_pattern_create_radial (rgx, rgy, 0, x, y, r);
end
local gnum=#grad
for i=1,gnum do
cairo_pattern_add_color_stop_rgba (pat,grad[i].p,color(grad[i].c,grad[i].a));
end--for loop
if sub==1 then
cairo_save (cr)
cairo_clip(cr)
cairo_new_sub_path(cr)
local drawstring=sub_draw(subtab)
loadstring(drawstring)()
cairo_restore (cr)
end
cairo_set_source (cr, pat);
cairo_fill(cr);
cairo_pattern_destroy (pat);
--###########################################
elseif g==0 and sub==1 then --non gradient
local drawstring=sub_draw(subtab)
loadstring(drawstring)()
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_fill(cr)
elseif g==3 and sub==1 then
local drawstring=sub_draw(subtab)
loadstring(drawstring)()
cairo_set_line_width(cr,lw)
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_close_path (cr)
cairo_stroke(cr);
elseif g==4 and sub==1 then
local drawstring=sub_draw(subtab)
loadstring(drawstring)()
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_fill_preserve(cr);
cairo_set_line_width(cr,lw)
cairo_set_source_rgba (cr,color(grad[2].c,grad[2].a));
cairo_close_path (cr)
cairo_stroke(cr);
elseif g==0 and sub~=1 then
cairo_rectangle (cr,x,y,w,h)
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_fill(cr);
elseif g==3 and sub~=1 then
cairo_rectangle (cr,x,y,w,h)
cairo_set_line_width(cr,lw)
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_close_path (cr)
cairo_stroke(cr);
elseif g==4 and sub~=1 then
cairo_rectangle (cr,x,y,w,h)
cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
cairo_fill_preserve(cr);
cairo_set_line_width(cr,lw)
cairo_set_source_rgba (cr,color(grad[2].c,grad[2].a));
cairo_close_path (cr)
cairo_stroke(cr);
--radial gradients
elseif g==6 then
pat = cairo_pattern_create_radial (cx, cy, crad-(clw/2)-2,--
cx, cy, crad+(clw/2)+4);
cairo_pattern_add_color_stop_rgba (pat, 0, 0, 0, 0, 1);
cairo_pattern_add_color_stop_rgba (pat, 0.5, 0, 0, 0, 0);
cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1);
cairo_set_source (cr, pat);
cairo_arc (cr, cx, cy, crad+(clw/2), 0, 2*math.pi);
cairo_fill (cr);
cairo_pattern_destroy (pat);
end--of g type
end--of function grec
--END MAIN GTAB FUNCTION################################################--]]
function glassyboxtop(tlx,tly,cra,sw,sh,bg)
sho=sh
sw=sw-cra-cra
sh=sh-cra-cra
--BIG FILLED IN RECTANGLE
if bg~=1 then
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="rline",x=-sw-cra-cra,y=0},
{d="rline",x=0,y=-sh-cra},
{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x606060,a=0.3,p=0},{c=0x101010,a=0.3,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--[HIGHLIGHT TOP RECTANGLE
if bg~=1 and bg~=2 then
shh=((80/150)*sho)-cra-cra
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=shh},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-shh},
{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=shh+cra+cra,
grad={{c=0xffffff,a=0.5,p=0},{c=0xffffff,a=0,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--OUTLINE
lt=1 --BOARDER WIDTH
tlx,tly=tlx-lt,tly-lt
cra1=cra+lt
subtab={
{d="start",x=tlx+cra1,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra1,degs=90},
{d="rline",x=0,y=sh+cra1},
--{d="arc_c",q=2,r=cra1,degs=90},
{d="rline",x=-sw-cra1-cra1,y=0},
--{d="arc_c",q=3,r=cra1,degs=90},
{d="rline",x=0,y=-sh-cra1},
{d="arc_c",q=4,r=cra1,degs=90},
{d="rline",x=sw,y=0},
{d="rline",x=0,y=lt},
{d="rline",x=-sw,y=0},
{d="arc_a",q=4,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
--{d="arc_a",q=3,r=cra,degs=90},
{d="rline",x=sw+cra+cra,y=0},
--{d="arc_a",q=2,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
{d="arc_a",q=1,r=cra,degs=90},
{d="rline",x=-sw,y=0},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x808080,a=1,p=0},{c=0x202020,a=1,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})--]]
end
function glassyboxbot(tlx,tly,cra,sw,sh,bg)
sho=sh
sw=sw-cra-cra
sh=sh-cra-cra
--BIG FILLED IN RECTANGLE
if bg~=1 then
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw+cra,y=0},
--{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
--{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x606060,a=0.3,p=0},{c=0x101010,a=0.3,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--[HIGHLIGHT TOP RECTANGLE
if bg~=1 and bg~=2 then
shh=((80/150)*sho)-cra-cra
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw+cra,y=0},
--{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=shh+cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-shh-cra},
--{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=shh+cra+cra,
grad={{c=0xffffff,a=0.5,p=0},{c=0xffffff,a=0,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--OUTLINE
lt=1 --BOARDER WIDTH
tlx,tly=tlx-lt,tly-lt
cra1=cra+lt
subtab={
{d="start",x=tlx+cra+lt,y=tly},
{d="rline",x=sw+cra1,y=0},
--{d="arc_c",q=1,r=cra1,degs=90},
{d="rline",x=0,y=sh+cra1},
{d="arc_c",q=2,r=cra1,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra1,degs=90},
{d="rline",x=0,y=-sh-cra1},
--{d="arc_c",q=4,r=cra1,degs=90},
{d="rline",x=sw+cra1,y=0},
{d="rline",x=0,y=lt},
{d="rline",x=-sw-cra,y=0},
--{d="arc_a",q=4,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="arc_a",q=3,r=cra,degs=90},
{d="rline",x=sw,y=0},
{d="arc_a",q=2,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
--{d="arc_a",q=1,r=cra,degs=90},
{d="rline",x=-sw,y=0},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x808080,a=1,p=0},{c=0x202020,a=1,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})--]]
end
function out(txj)--c,a,f,fs,face,x,y,txt,hj,vj,ro,sxo,syo,sfs,sface,sc,sa #########################################################
local extents=cairo_text_extents_t:create()
tolua.takeownership(extents)
local function color(col,alp)
return ((col / 0x10000) % 0x100) / 255, ((col / 0x100) % 0x100) / 255, (col % 0x100) / 255, alp
end
local function justify(jtxt,x,hj,y,vj,f,face,fs)
if face=="normal" then
face={f,CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_NORMAL}
elseif face=="bold" then
face={f,CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_BOLD}
elseif face=="italic" then
face={f,CAIRO_FONT_SLANT_ITALIC,CAIRO_FONT_WEIGHT_NORMAL}
elseif face=="bolditalic" then
face={f,CAIRO_FONT_SLANT_ITALIC,CAIRO_FONT_WEIGHT_BOLD}
else
print ('face not set correctly - "normal","bold","italic","bolditalic"')
end
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_text_extents(cr,jtxt,extents)
local wx=extents.x_advance
local wd=extents.width
local hy=extents.height
local bx=extents.x_bearing
local by=extents.y_bearing+hy
local tx=x
local ty=y
--set horizontal alignment - l, c, r
if hj=="l" then
x=x-bx
rad=0
nx=tx+wx
elseif hj=="c" then
x=(x*2-wx+wd)/2
rad=(wx-bx)/2
nx=tx+(wx/2)
elseif hj=="r" then
x=x-wx+wd+bx
rad=wx-bx
nx=tx
else
print ("hj not set correctly - l, c, r")
end
--vj. n=normal, nb=normal-ybearing, m=middle, mb=middle-ybearing, t=top
if vj=="n" then
y=y
rad2=0
ry=by
elseif vj=="nb" then
y=y-by
rad2=-by
ry=by
elseif vj=="m" then
y=y+((hy-by)/2)
rad2=((hy-by)/2)
ry=((hy-by)/2)-by
elseif vj=="mb" then
y=y+(hy/2)-by
rad2=(hy/2)-by
ry=((hy-by)/2)-by
elseif vj=="t" then
y=y+hy-by
rad2=hy-by
ry=0+by
else
print ("vj not set correctly - n, nb, m, mb, t")
end
return face,fs,x,y,rad,rad2,tx,ty
end--justify local function #########################################################
--set variables
local c=txj.c or default_color or 0xffffff
local a=txj.a or default_alpha or 1
local f=txj.f or default_font or "mono"
local fs=txj.fs or default_font_size or 12
local x=txj.x or 100
local y=txj.y or 100
local txt=txj.txt or "set txt"
local hj=txj.hj or default_hj or "l"
local vj=txj.vj or default_vj or "n"
local ro=txj.ro or defaukt_ro or 0
local face=txj.face or default_face or "normal"
local wl=txj.wrap_len or 0
local wrap_gap=txj.wrap_gap or 15
--shadow
local shadow=txj.shadow or 0
local sxo=txj.sxo or default_sxo or 2
local syo=txj.syo or default_syo or 2
local sc=txj.sc or defualt_sc or 0x000000
local sa=txj.sa or default_sa or 0.8
local sface=txj.sface or default_sface or face
local sfs=txj.sfs or default_sfs or fs
--print text ##################################################################
if wl>0 then--do wrap
local tt={}
local s=txt:gsub(" $","|"):gsub(" ","| "):gsub(" ","| ")
for i in string.gmatch(s, "%S+") do --Where "%S+" is the string pattern.
table.insert(tt,i)
end
local tl=#tt
local sl=string.len(s)
lines={}
if sl<=wl or tl==1 then
table.insert(lines,s)
else
--get longest entry in table
longest=0
for i=1,tl do
local l=string.len(tt[i])
if l>longest then
longest=l
end
end
if wl<longest then wl=longest+1 end
while sl>wl and tl>1 do
local ll=0
local lt={}
while ll+string.len(tt[1])<wl or string.len(tt[1])>wl do
table.insert(lt,tt[1])
table.remove(tt,1)
line=table.concat(lt," ")
ll=string.len(line)
tl=#tt
end--while
table.insert(lines,line)
lastline=table.concat(tt," ")
sl=string.len(lastline)
end--while
table.insert(lines,lastline)
end
end--if wrap
--rotation
if ro~=0 and wl==0 then
if shadow==1 then
local face,fs,x,y,rad,rad2,tx,ty=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
local point2=(math.pi/180)*(ro-180)
local x2=tx+rad2*(math.sin(point2))
local y2=ty-rad2*(math.cos(point2))
local point=(math.pi/180)*(ro-90)
local x1=x2+rad*(math.sin(point))
local y1=y2-rad*(math.cos(point))
cairo_save (cr)
cairo_translate (cr,x1,y1)
cairo_rotate(cr,(math.pi/180)*ro)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
cairo_restore (cr)
end--if shadow
local face,fs,x,y,rad,rad2,tx,ty=justify(txt,x,hj,y,vj,f,face,sfs)
local point2=(math.pi/180)*(ro-180)
local x2=tx+rad2*(math.sin(point2))
local y2=ty-rad2*(math.cos(point2))
local point=(math.pi/180)*(ro-90)
local x1=x2+rad*(math.sin(point))
local y1=y2-rad*(math.cos(point))
cairo_save (cr)
cairo_translate (cr,x1,y1)
cairo_rotate(cr,(math.pi/180)*ro)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
cairo_restore (cr)
return nx,ny
elseif wl>0 then
for i=1,#lines do
local txt=string.gsub(lines[i],"|"," ")
if shadow==1 then
local face,fs,x,y=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y+(wrap_gap*(i-1)))
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--if shadow
local face,fs,x,y=justify(txt,x,hj,y,vj,f,face,fs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y+(wrap_gap*(i-1)))
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--for i=1,#lines
return #lines*wrap_gap
elseif ro==0 and wl==0 then
--draw shadow first
if shadow==1 then
local face,fs,x,y=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y)
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--if shadow
local face,fs,x,y=justify(txt,x,hj,y,vj,f,face,fs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y)
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
return nx
end--if ro
end--function out #########################################################################################
function flip_digit(tlx,tly,cra,sw,dig)
sh=(sw+cra+cra)*(120/80)
fs=(180/160)*sh
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh-cra-cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-sh+cra+cra},
{d="arc_c",q=4,r=cra,degs=90},
}
grec({g=1,x=tlx,y=tly,w=sw+cra+cra,h=sh+cra+cra,grad={{c=0x202020,a=1,p=0}},lw=1,sub=1,db=0,subtab=subtab})
tin=(sw+cra+cra)/8
tup=(sh)/12
out({x=tlx+tin,y=tly+sh-tup+ajust,fs=fs,txt=dig, hj=alignement})
glassyboxtop(tlx,tly,cra,sw+cra+cra,sh/2,0)
glassyboxbot(tlx,tly+(sh/2),cra,sw+cra+cra,sh/2,0)
cairo_move_to(cr,tlx-1,tly+(sh/2))
cairo_rel_line_to(cr,sw+cra+cra+2,0)
cairo_set_source_rgba(cr,0,0,0,1)
cairo_set_line_width(cr,2)
cairo_stroke(cr)
end
Voici quelques captures, pour ceux qui se demanderaient à quoi ça peut ressembler.
Edit : Attention, il y a des fuites de mémoires, je regarderais plus tard, mais tu peux demander à mrpeachy, d'y jeter un oeil en attendant problème réglé.
Edit 2 : j'ai ajouté une variable pour ajuster la hauteur du chiffre (pour une position propre dans le Flip Flap)
Edit 3 : correction de la fonction d'alignement et ajout d'une variable pour aligner à gauche, droite ou centrer (perso avec LED_mono, je préfère aligner à droite)
Dernière modification par Didier-T (Le 29/01/2014, à 15:03)
Hors ligne
#427 Le 29/01/2014, à 16:25
#428 Le 30/01/2014, à 08:37
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour golgot200,
Personnellement ce qui me manque le plus c'est le mouvement Flip Flap, mais bon mrpeachy à fait un super taf avec cette horloge, je suis bien incapable d'en fair autant (je ne suis pas doué du tout pour le graphisme)
Hors ligne
#429 Le 03/02/2014, à 10:51
- ragamatrix
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Hors ligne
#430 Le 03/02/2014, à 12:48
- ragamatrix
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Dans le script chronograph, il faut mettre cette section pour les "days numbers"
-- ### START DIAL D ### Left - Day Numbers Dial ###########
-- GET NUMBER OF DAYS IN CURRENT MONTH
-- calculate Feb, then set up table
year4num=os.date("%Y")
t1=os.time({year=year4num,month=03,day=01,hour=00,min=0,sec=0});
t2=os.time({year=year4num,month=02,day=01,hour=00,min=0,sec=0});
febdaynum=tonumber((os.difftime(t1,t2))/(24*60*60))
-- MONTH TABLE
monthdays={31,febdaynum,31,30,31,30,31,31,30,31,30,31}
this_month=tonumber(os.date("%m"))
number_days=monthdays[this_month]
-- TEXT positioning
Hors ligne
#431 Le 06/02/2014, à 18:21
- maan
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
salut à tous et bonne année ( vaut mieux tard que jamais )
J'ai un ptit souci je viens de faire une installe de Saucy (13.10) et j'ai transférer dessus mes conkys que j’aimerais retravailler pour cette environnement,
mais le souci est que je n'arrive pas à résoudre un ptit souci. Mes conky disparaissent quand je clic sur le bureau.
J'ai changer "override" "desktop" mais rien n'y fait. je n'ai pourtant rien toucher..... et mes conkys marchent très bien sur Voyager 12.04 .....
Si quelqu'un a une idée, je prend.
Ubuntu_studio 14.04
Hors ligne
#432 Le 06/02/2014, à 20:35
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonsoir,
@ ragamatrix,
je viens de recevoir le mail de notification pour ton message du 03/02/2014 à 10h51.
Non je n'ai pas ce soucis, en fait j'avais pas mal modifier le script original, justement pour éviter ce genre de désagrément.
voici le script en question.
chronographe.lua
--[[ 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
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="monofur",
taille=12,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFF0000,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFF0000,
point_alpha_current=1,
hand_color=0xFFFFFF,
hand_alpha=0.7,
center_x=175,
center_y=90,
text_radius=45,
point_radius=32,
hand_gap=0,
hand_larg=1,
hand_length=28,
point_ray=0.5
},
{text={""},
nb="",
formule='jour_num',
police="Century Schoolbook",
taille=10,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFF0000,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFF0000,
point_alpha_current=1,
hand_color=0xFFFFFF,
hand_alpha=0.7,
center_x=90,
center_y=175,
text_radius=45,
point_radius=35,
hand_gap=0,
hand_larg=1,
hand_length=28,
point_ray=0.5
},
{text={"Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aôu","Sep","Oct","Nov","Déc"},
nb="",
formule='mois',
police="monofur",
taille=12,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFF0000,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFF0000,
point_alpha_current=1,
hand_color=0xFFFFFF,
hand_alpha=0.7,
center_x=260,
center_y=175,
text_radius=45,
point_radius=32,
point_ray=1,
hand_gap=0,
hand_larg=1,
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"},
hour_24=true,
nb=12*3600, --12 or 24 *3600
formule='heure',
police="Tibetan Machine Uni",
taille=13,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFFFF00,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFFFF00,
point_alpha_current=1,
hand_color=0xFFFFFF,
hand_alpha=0.7,
center_x=175,
center_y=175,
text_radius=165,
point_radius=150,
hand_gap=0,
hand_length=110,
hand_larg=3,
point_ray=1
},
{text={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""},
nb=3600,
formule='minute',
police="monofur",
taille=9,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xF00000,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xF00000,
point_alpha_current=1,
hand_color=0xFFFFFF,
hand_alpha=0.7,
center_x=175,
center_y=175,
text_radius=170,
point_radius=150,
point_ray=0,
hand_gap=0,
hand_larg=2,
hand_length=135
},
{text={"","01","02","03","04","","06","07","08","09","","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=60,
formule='secondes',
police="cmr10",
taille=10,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFFFFFF,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFF0000,
point_alpha_current=1,
hand_color=0xFF0000,
hand_alpha=0.4,
center_x=175,
center_y=175,
text_radius=160,
point_radius=150,
point_ray=0.5,
hand_gap=150,
hand_larg=4,
hand_length=165
},
}
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 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
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
if j==h 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
elseif value.formule=="minute" then
pos=minute(min, sec)
for i=1, nb do
local j=i-1
local text=value.text[i]
if j==min 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
elseif value.formule=="secondes" then
pos=sec
for i=1, nb do
local j=i-1
local text=value.text[i]
if j==sec 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
-- 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]
if i==mois 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
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
if i==jour 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
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]
if i==jour_num+1 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
-- 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
@ maan,
tu devrais essayer me mode normal, pour own_window_type, cher moi sa marche.
A+
Hors ligne
#433 Le 10/02/2014, à 19:10
- XantaX
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
Je vous fais partager mon conky.
La partie météo vient directement de: http://forum.ubuntu-fr.org/viewtopic.php?pid=7952561
Mais si je partage, c'est surtout pour la partie clé usb. J'ai beaucoup cherché sur le net pour afficher les médias monté à chaud, et je n'ai pas trouvé grand chose de graphique et surtout qui fonctionne (failli mettre screenlet d'ailleurs).
Donc j'ai réussi à trouver un semblant de ce que je voulais sur (rendons à césar ce qui est à césar):
http://scriptam.over-blog.com/article-a … 97909.html
Et après pas mal de temps à mettre les mains dans le cambouis, voila le résultat:
Les clés usb apparaissent et disparaissent donc lors du montage/démontage, sans définir de point de montage, donc quelquesoit la clé usb insérée, elle sera affichée.
Le conkyrc:
# -- Conky settings -- #
background yes
update_interval 1
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
double_buffer yes
no_buffers yes
text_buffer_size 2048
# -- Window specifications -- #
own_window_argb_visual yes
own_window yes
own_window_type normal
own_window_transparent yes
own_window_argb_visual 255
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
minimum_size 280 250
maximum_width 700
alignment tl
gap_x 730
gap_y 320
# -- Graphics settings -- #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
# -- Text settings -- #
use_xft yes
xftfont MaiandraGD:size=10
xftalpha 0.4
uppercase no
TEXT
${execpi 1 ~/.conky/disk/disk.sh}
Et le fichier disk.sh:
#!/bin/bash
# Petit modif par XantaX, sur le modéle de Rodolphe Rombeaut sur le modèle de Cyril (Alias Sunkart)
# Affichage avancé des périphériques
# Copyright (C) 14 Jan. 2011, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.
OLDIFS=$IFS
IFS="
"
liste=()
alpha=(a b c d e f g h i j k l m n o p q r s t u)
a=-30
b=-25
for i in `df -h | grep ^\/dev`
do
let $[ a+=44 ]
let $[ b+=44 ]
# récupérer le nom de dossier
name=${i#*\%}
[ -z "${name##*/}" ] && name="root" || name=${name##*/}
montage=${i#*\%}
[ -z "${montage#*/}" ] && montage="/" || montage="/${montage#*/}"
valeur=${i%\%*}
valeur=${valeur##* }
[ "$valeur" -gt 80 ] && color="CC2929" || {
[ "$valeur" -gt 50 ] && color="CC6D29" || {
[ "$valeur" -gt 20 ] && color="008000" || color="616161"
}
}
liste+=(`echo '${voffset 5}${font URW Chancery L:style=bold:size=12:style=bold}${color ffe595}${goto 60}'$name' :${fs_used '$montage'}/${fs_size '$montage'}
${voffset -5}${goto 60}${fs_bar 5,80 '$montage'}
${image ~/.conky/disk/images/base.png -p 35,'$a' -s 248x40}
${image ~/.conky/disk/images/cle.png -p 20,'$b' -s 32x32}
${voffset -61}'`)
done
printf '%s\n' ${liste[@]}
IFS=$OLDIFS
exit
Lien de téléchargement:
http://www.hebergeurfichier.com/downloa … e102c.html
Le fichier Disk doit être décompressé dans le dossier /home/votrenom/.conky
Voili voilou, je me suis dis que cela pouvais intéressé vu comme j'ai galéré à trouver de mon côté.
EDIT:
Les images base.png et cle.png:
Edit2: j'ai remplacé le home/picha par ~ comme conseillé, donc fonctionne directement maintenant (je suis un petit débutant, donc je ne connais pas encore toutes les astuces).
Config pour info:
Asus 1025C, équipé de lubuntu 13.10,
Les modules: cairo-dock, comptom, skippy-xd et conky
Dernière modification par XantaX (Le 11/02/2014, à 17:12)
Hors ligne
#434 Le 10/02/2014, à 19:53
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Pas mal comme script.
Peux-tu nous donner un lien vers tes deux images : base.png et cle.png
Tout est dans tout et réciproquement....
Hors ligne
#435 Le 10/02/2014, à 20:18
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Merci, j'ai testé sur une fedora et cela fonctionne impec.
Tout est dans tout et réciproquement....
Hors ligne
#436 Le 10/02/2014, à 20:52
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Si je peux te donner un conseil, dans ton script ainsi que dans ton conkyrc, remplace /home/picha par ~ comme cela tout le monde pourra l'utiliser sans modifier le chemin du /home.
Tout est dans tout et réciproquement....
Hors ligne
#437 Le 16/02/2014, à 20:36
- XantaX
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
La V3 de l'affichage des disques et clé USB en montage à chaud
Modifications:
- Affichage des icônes différentes pour les clé usb et les disques dur
- Modification de la barre de progression de l'espace disque utilisé
- Couleur de la barre de progression de l'espace disque différente selon espace utilisé.
Téléchargement:
http://www.hebergeurfichier.com/downloa … e8dcc.html
Décompresser les fichiers et copier le .conky dans votre Home/utilisateur
Lancer conkyrc
XantaX
Dernière modification par XantaX (Le 18/02/2014, à 15:45)
Hors ligne
#438 Le 19/02/2014, à 11:21
- loutch
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Hello
Voila j'ai besoin d'un peu d'aide pour mettre une valeur dans un script lua pour afficher dans un cercle la température de ma carte et celle du disque dur .Pour les procs ça fonctionne au poil.
voici ce que j'utilise dans conky qui m'indique bien les températures:
pour la carte
{hwmon 0 temp 1} °C
et pour le disque :
${execi 120 hddtemp -n /dev/sda} °C
voici ce que j'ai pour un cpu dans conky
${exec expr `cat /sys/class/hwmon/hwmon2/device/temp1_input` / 1000}°C
et la valeur dans le lua
name="exec",
arg="exec expr `cat /sys/class/hwmon/hwmon2/device/temp1_input` / 1000"
merci d'avance pour toute réponse et
@+
j'ai essayé plein de combinaison mais je ne trouve pas la bonne .
Hors ligne
#439 Le 19/02/2014, à 11:35
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour loutch,
dans ton lua, sa devrait être ceci
pour la carte
name="hwmon",
arg="0 temp 1",
pour le disque
name="execi",
arg="120 hddtemp -n /dev/sda",
pour le cpu
name="exec",
arg="expr `cat /sys/class/hwmon/hwmon2/device/temp1_input` / 1000",
pour tes prochains posts, essaye de te servir des balises, ça rend la lecture plus agréable
Dernière modification par Didier-T (Le 19/02/2014, à 11:36)
Hors ligne
#441 Le 19/02/2014, à 17:11
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
mais de rien, jolie conky, un peut charger à mon gout, mais ça devrait plaire à ragamatrix, et certainement a d'autres.
par contre, tu devrais flouter ton adresse IP
Hors ligne
#442 Le 19/02/2014, à 18:54
- loutch
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
RE
Pour l'adresse c'est fait , j'éssaie Mageia 4 sur mon pavilion g7 et je la charge au max de conky pour voir ce que cette distro donne au niveau température et utilisation processeur.
Encore merci et
@+
Hors ligne
#443 Le 22/02/2014, à 14:45
- daniel38100
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
mais de rien, jolie conky, un peut charger à mon gout, mais ça devrait plaire à ragamatrix, et certainement a d'autres.
par contre, tu devrais flouter ton adresse IP
moi aussi ça ma plais quand c'est charger
Hors ligne
#444 Le 22/02/2014, à 17:06
- daniel38100
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Hors ligne
#445 Le 22/02/2014, à 22:25
#446 Le 23/02/2014, à 13:19
- daniel38100
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour daniel38100,
si tu aimes quand c'est chargé, ceci devrait te plaire.
http://pix.tdct.org/upload/img/1393103955.png
clique sur l'image si tu veux l'archive
bien entendu, c'est configurable, tu n'es pas obligé de tout afficher
merci Didier-T j'vais essayer de me démerder avec ça si j'ai un problème je le ferai savoir
c'est top c'est déja de la bonne taille
Dernière modification par daniel38100 (Le 23/02/2014, à 14:15)
Hors ligne
#447 Le 23/02/2014, à 14:18
- daniel38100
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
si je veut mettre les minutes a l’extérieur faut que je modifie quoi?
Hors ligne
#448 Le 23/02/2014, à 15:20
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
tu veux agrandir le cercle des minutes, si c'est bien ça, ça ce passe ici
Chronographe_Didier.lua (petit extrait)
{text={"","01","02","03","04","","06","07","08","09","","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=60,
formule='secondes',
police="cmr10",
taille=10,
text_color=0xFFFFFF,
text_alpha=1,
text_color_current=0xFFFFFF,
text_alpha_current=1,
point_color=0xFFFFFF,
point_alpha=1,
point_color_current=0xFF0000,
point_alpha_current=1,
hand_color=0xFF0000,
hand_alpha=0.4,
center_x=175,
center_y=175,
text_radius=160,
point_radius=150,
point_ray=0.5,
hand_gap=150,
hand_larg=4,
hand_length=165
},
comme tu peux le constater, en fait ce sont les secondes qui sont affichées
il faut jouer sur text_radius.
Hors ligne
#449 Le 23/02/2014, à 16:02
- daniel38100
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Hors ligne
#450 Le 23/02/2014, à 18:39
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
je vois ça, ça va être une oeuvre d'art
Dernière modification par Didier-T (Le 23/02/2014, à 18:40)
Hors ligne