Bem-vindo: Qui, 18 de Abril 2024, 19:34 Pesquisa avançada

Mostre o seu Desktop!

Apresente aqui temas que gostou, skins de programas, ícones, wallpapers, conky's, etc. Ou seja, tudo o que possa alterar de estético no seu Ubuntu, apresente aqui. Em caso de dúvidas de personalização ou se quiser mostrá-la ao mundo, utilize esta secção!

Re: Mostre o seu Desktop!

Mensagempor fenon » Seg, 31 de Outubro 2011, 22:33

gato de fogo

conky:
Spoiler:
##################################################
##################################################
## ##
## Settings ##
## ##
##################################################
##################################################
background yes
update_interval 1.0
double_buffer yes
no_buffers yes
cpu_avg_samples 2
net_avg_samples 2
text_buffer_size 2080
imlib_cache_size 0
override_utf8_locale yes

# +++++ Window +++++
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
own_window_class conky
on_bottom no
own_window_title rings + text widgets


border_inner_margin 0
border_outer_margin 0

minimum_size 1000 500

alignment tl

gap_x 0
gap_y 5

# +++++ Styles +++++
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# +++++ Colors +++++
default_shade_color 1B5F7C
default_color 1B5F7C

lua_load /home/romero/conky/anillos.lua
lua_load /home/romero/conky/barras.lua
lua_draw_hook_pre main_rings
lua_draw_hook_post main_bars

# +++++ Font +++++
use_xft yes
xftfont radio space:size=10
xftalpha 0
uppercase no

TEXT
${goto 30}${color 80ffff}${voffset 45}CPU T
${goto 109}${voffset -17}CPU P
${goto 186}${voffset -18}MEM
${goto 263}${voffset -15}GPU
${goto 390}${voffset -30}ETHO
${goto 35}${voffset 23}${font radio space:size=8}${execi 4 sensors | grep -A 0 'temp2' | cut -c15-18}°F
${goto 119}${voffset -7}${cpu}%
${goto 192}${voffset -9}${memperc} %
${goto 266}${voffset -10}${nvidia temp}°C
${goto 318}${font PizzaDude Bullets}${voffset -23}r
${goto 318}${font PizzaDude Bullets}${voffset 3}v
${goto 500}${font radio space:size=8}${voffset -40}${downspeed}
${goto 500}${voffset 10}${upspeed}



${goto 37}${voffset 20}${font radio space:size=12}${color 80ffff}MAX CPU
${goto 35}${font neuropol:size=8}${color ddaa00} ${top name 1}${top_mem cpu 1}
${goto 35}${color lightgrey} ${top name 2}${top cpu 2}
${goto 35}${color lightgrey} ${top name 3}${top cpu 3}
${goto 35}${color lightgrey} ${top name 4}${top cpu 4}
${goto 35}${color lightgrey} ${top name 5}${top cpu 5}

${goto 37}${voffset 12}${font radio space:size=12}${color 80ffff}MAX MEM
${goto 35}${font neuropol:size=8}${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${goto 35}${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${goto 35}${color lightgrey} ${top_mem name 3}${top_mem mem 3}
${goto 35}${color lightgrey} ${top_mem name 4}${top_mem mem 4}

${goto 37}${voffset 12}${font radio space:size=12}${color 80ffff}SYSTEMA
${goto 35}${font neuropol:size=8}${color #ddaa00} $sysname $kernel $alignr

${goto 37}${voffset 12}${font radio space:size=12}${color 80ffff}LIGADO
${goto 35}${font neuropol:size=8}${color #ddaa00} $uptime

${goto 37}${voffset 12}${font radio space:size=12}${color 80ffff}FENON


conky.lua
Spoiler:
require 'cairo'
function conky_main_rings()
rings_settings={
--Temperatura del CPU
{
name="execi 4 sensors | grep -A 0 'temp2' | cut -c15-18",
arg="",
max=60,
xc=50,
yc=100,
thickness=12,
radius=35,
sectors=8,
gap_sectors=2.5,
fill_sector=true,
cap="p",
border_size=1,
bd_colour1={{0,0x2E4971,1}},
bg_colour1={{0.5,0xffffff,0.2},{1,0xf0f0f0,0.1}},
fg_colour1={{0,0x00ffff,0.9},{0.25,0x5cffff,0.9},{0.5,0x61ffff,0.9},{0.75,0x5cffff,0.9},{1,0x00ffff,0.9}},
alarm_colour={0,0x0bd604,1},
background=true,
},
{
name="cpu",
arg="",
max=75,
xc=125,
yc=100,
thickness=12,
radius=35,
sectors=8,
gap_sectors=3,
fill_sector=true,
cap="p",
border_size=1,
bd_colour1={{0,0x2E4971,1}},
bg_colour1={{0.5,0xffffff,0.2},{1,0xf0f0f0,0.1}},
fg_colour1={{0,0x00ffff,0.9},{0.25,0x5cffff,0.9},{0.5,0x61ffff,0.9},{0.75,0x5cffff,0.9},{1,0x00ffff,0.9}},
alarm_colour={0,0x0bd604,1},
background=true,
},
---------------------------------------------------------------------------------------------------------
{
name="memperc",
arg="",
max=100,
xc=200,
yc=100,
thickness=12,
radius=35,
sectors=8,
gap_sectors=3,
fill_sector=true,
cap="p",
border_size=1,
bd_colour1={{0,0x2E4971,1}},
bg_colour1={{0.5,0xffffff,0.2},{1,0xf0f0f0,0.1}},
fg_colour1={{0,0x00ffff,0.9},{0.25,0x5cffff,0.9},{0.5,0x61ffff,0.9},{0.75,0x5cffff,0.9},{1,0x00ffff,0.9}},
alarm_colour={0,0x0bd604,1},
background=true,
},
{
name="nvidia temp",
arg="",
max=80,
alarm=55,
xc=275,
yc=100,
thickness=12,
radius=35,
sectors=8,
gap_sectors=3,
fill_sector=true,
cap="p",
border_size=1,
bd_colour1={{0,0x2E4971,1}},
bg_colour1={{0.5,0xffffff,0.2},{1,0xf0f0f0,0.1}},
fg_colour1={{0,0x00ffff,0.9},{0.25,0x5cffff,0.9},{0.5,0x61ffff,0.9},{0.75,0x5cffff,0.9},{1,0x00ffff,0.9}},
alarm_colour={0,0x0bd604,1},
background=true,
},
}


--main function

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)

if tonumber(conky_parse('${updates}'))>3 then
for i in pairs(rings_settings) do
draw_ring(rings_settings[i])
end
end

cairo_destroy(cr)

end

function draw_ring(t)

local function rgba_to_r_g_b_a(tcolour)
colour,alpha=tcolour[2],tcolour[3]
return ((colour / 0x10000) % 0x100) / 255.,
((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end


local function calc_delta(tcol1,tcol2)
--calculate deltas P R G B A to table_colour 1

for x = 1, #tcol1 do
tcol1[x].dA = 0
tcol1[x].dP = 0
tcol1[x].dR = 0
tcol1[x].dG = 0
tcol1[x].dB = 0
if tcol2~=nil and #tcol1 == #tcol2 then
local r1,g1,b1,a1 = rgba_to_r_g_b_a(tcol1[x])
local r2,g2,b2,a2 = rgba_to_r_g_b_a(tcol2[x])
tcol1[x].dP = (tcol2[x][1]-tcol1[x][1])/t.sectors
tcol1[x].dR = (r2-r1)/t.sectors
tcol1[x].dG = (g2-g1)/t.sectors
tcol1[x].dB = (b2-b1)/t.sectors
tcol1[x].dA = (a2-a1)/t.sectors

end
end

return tcol1
end

--check values
local function setup(t)
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'")
print ("for name=" .. t.name)
print ("with arg=" .. t.arg)
return
end
if t.name==nil then t.name="" end
if t.arg==nil then t.arg="" end

if t.xc==nil then t.xc=conky_window.width/2 end
if t.yc==nil then t.yc=conky_window.height/2 end
if t.thickness ==nil then t.thickness = 10 end
if t.radius ==nil then t.radius =conky_window.width/4 end
if t.start_angle==nil then t.start_angle =0 end
if t.end_angle==nil then t.end_angle=360 end
if t.bg_colour1==nil then
t.bg_colour1={{0,0x00ffff,0.1},{0.5,0x00FFFF,0.5},{1,0x00FFFF,0.1}}
end
if t.fg_colour1==nil then
t.fg_colour1={{0,0x00FF00,0.1},{0.5,0x00FF00,1},{1,0x00FF00,0.1}}
end
if t.bd_colour1==nil then
t.bd_colour1={{0,0x00ffd0,0.5},{0.5,0x00ffd0,1},{1,0x00ffd0,0.5}}
end
if t.sectors==nil then t.sectors=500 end
if t.gap_sectors==nil then t.gap_sectors=35 end
if t.fill_sector==nil then t.fill_sector=false end
if t.sectors==1 then t.fill_sector=false end
if t.border_size==nil then t.border_size=0 end
if t.cap==nil then t.cap="p" end
--some checks
if t.thickness>t.radius then t.thickness=t.radius*0.1 end
t.int_radius = t.radius-t.thickness

--check colors tables
for i=1, #t.bg_colour1 do
if #t.bg_colour1[i]~=3 then t.bg_colour1[i]={1,0x5cffff,0.5} end
end
for i=1, #t.fg_colour1 do
if #t.fg_colour1[i]~=3 then t.fg_colour1[i]={1,0x0000ff,1} end
end
for i=1, #t.bd_colour1 do
if #t.bd_colour1[i]~=3 then t.bd_colour1[i]={1,0x00ffd0,1} end
end

if t.bg_colour2~=nil then
for i=1, #t.bg_colour2 do
if #t.bg_colour2[i]~=3 then t.bg_colour2[i]={1,0x5cffff,0.5} end
end
end
if t.fg_colour2~=nil then
for i=1, #t.fg_colour2 do
if #t.fg_colour2[i]~=3 then t.fg_colour2[i]={1,0x0000ff,1} end
end
end
if t.bd_colour2~=nil then
for i=1, #t.bd_colour2 do
if #t.bd_colour2[i]~=3 then t.bd_colour2[i]={1,0x00ffd0,1} end
end
end

if t.start_angle>=t.end_angle then
local tmp_angle=t.end_angle
t.end_angle= t.start_angle
t.start_angle = tmp_angle
-- print ("inversed angles")
if t.end_angle-t.start_angle>360 and t.start_angle>0 then
t.end_angle=360+t.start_angle
print ("reduce angles")
end

if t.end_angle+t.start_angle>360 and t.start_angle<=0 then
t.end_angle=360+t.start_angle
print ("reduce angles")
end

if t.int_radius<0 then t.int_radius =0 end
if t.int_radius>t.radius then
local tmp_radius=t.radius
t.radius=t.int_radius
t.int_radius=tmp_radius
print ("inversed radius")
end
if t.int_radius==t.radius then
t.int_radius=0
print ("int radius set to 0")
end
end

t.fg_colour1 = calc_delta(t.fg_colour1,t.fg_colour2)
t.bg_colour1 = calc_delta(t.bg_colour1,t.bg_colour2)
t.bd_colour1 = calc_delta(t.bd_colour1,t.bd_colour2)
end

--initialize table
setup(t)
--[[grid
h=conky_window.height
w=conky_window.width
cairo_set_source_rgba(cr,1,1,1,1)
cairo_set_line_width(cr,0.5)
cairo_move_to(cr,0,t.yc)
cairo_line_to(cr,w,t.yc)
cairo_stroke(cr)
cairo_move_to(cr,t.xc,0)
cairo_line_to(cr,t.xc,h)
cairo_stroke(cr)
cairo_move_to(cr,t.xc,t.yc)
cairo_line_to(cr,t.xc+200*math.sin(math.pi/4),t.yc-200*math.cos(math.pi/4))
cairo_stroke(cr)
cairo_move_to(cr,0,t.yc-t.radius)
cairo_line_to(cr,w,t.yc-t.radius)
cairo_stroke(cr)
cairo_move_to(cr,0,t.yc-t.int_radius)
cairo_line_to(cr,w,t.yc-t.int_radius)
cairo_stroke(cr)
cairo_move_to(cr,0,t.yc-t.gap_sectors)
cairo_line_to(cr,w,t.yc-t.gap_sectors)
cairo_stroke(cr)
cairo_set_source_rgba(cr,1,0,0,0.5)
cairo_arc(cr,t.xc,t.yc,t.radius,0,2*math.pi)
cairo_stroke(cr)
cairo_arc(cr,t.xc,t.yc,t.int_radius,0,2*math.pi)
cairo_stroke(cr)
cairo_set_source_rgba(cr,0,1,0,1)
cairo_move_to(cr,t.xc+t.gap_sectors,t.yc-t.gap_sectors)
cairo_line_to(cr,t.xc+400*math.sin(math.pi/4),t.yc-400*math.cos(math.pi/4))
cairo_stroke(cr)
--END GRID
]]

--initialize cairo context
cairo_save(cr)
cairo_translate(cr,t.xc,t.yc)
cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND)
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)

--get value
local value = 0
if t.name ~="" then
value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
else
value = tonumber(t.arg)
end
if value==nil then value =0 end

--initialize sectors
--angle of a sector :
angleA = ((t.end_angle-t.start_angle)/t.sectors)*math.pi/180
--value of a sector :
valueA = t.max/t.sectors
--first angle of a sector :
lastAngle = t.start_angle*math.pi/180


local function draw_sector(type_arc,angle0,angle,valpc, idx)

--this function draws a portion of arc
--type of arc, angle0 = strating angle, angle= angle of sector,
--valpc = percentage inside the sector, idx = sctor number #
if type_arc=="bg" then --background
if valpc==1 then return end
tcolor=t.bg_colour1
elseif type_arc=="fg" then --foreground
if valpc==0 then return end
tcolor=t.fg_colour1
elseif type_arc=="bd" then --border
tcolor=t.bd_colour1
end

--angles equivalents to gap_sector
local ext_delta=math.atan(t.gap_sectors/(2*t.radius))
local int_delta=math.atan(t.gap_sectors/(2*t.int_radius))

--angles of arcs
local ext_angle=(angle-ext_delta*2)*valpc
local int_angle=(angle-int_delta*2)*valpc

--define colours to use for this sector
if #tcolor==1 then
--plain color
local vR,vG,vB,vA = rgba_to_r_g_b_a(tcolor[1])
cairo_set_source_rgba(cr,vR+tcolor[1].dR*idx,
vG+tcolor[1].dG*idx,
vB+tcolor[1].dB*idx,
vA+tcolor[1].dA*idx )
else
--radient color
local pat=cairo_pattern_create_radial(0,0,t.int_radius,0,0,t.radius)
for i=1, #tcolor do
local vP,vR,vG,vB,vA = tcolor[i][1], rgba_to_r_g_b_a(tcolor[i])
cairo_pattern_add_color_stop_rgba (pat,
vP+tcolor[i].dP*idx,
vR+tcolor[i].dR*idx,
vG+tcolor[i].dG*idx,
vB+tcolor[i].dB*idx,
vA+tcolor[i].dA*idx )
end
cairo_set_source (cr, pat)
cairo_pattern_destroy(pat)
end

--start drawing
cairo_save(cr)
--x axis is parrallel to start of sector
cairo_rotate(cr,angle0-math.pi/2)

local ri,re = t.int_radius ,t.radius

--point A
local angle_a

if t.cap == "p" then
angle_a = int_delta
if t.inverse_arc and type_arc ~="bg" then
angle_a = angle-int_angle-int_delta
end
if not(t.inverse_arc) and type_arc =="bg" then
angle_a = int_delta+int_angle
end
else --t.cap=="r"
angle_a = ext_delta
if t.inverse_arc and type_arc~="bg" then
angle_a = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_a = ext_delta+ext_angle
end
end
local ax,ay = ri*math.cos(angle_a),ri*math.sin(angle_a)


--point B
local angle_b = ext_delta
if t.cap == "p" then
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
else
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
end
local bx,by = re*math.cos(angle_b),re*math.sin(angle_b)

-- EXTERNAL ARC B --> C
if t.inverse_arc then
if type_arc=="bg" then
b0,b1= ext_delta, angle-ext_delta-ext_angle
else
b0,b1= angle-ext_angle-ext_delta, angle-ext_delta
end
else
if type_arc=="bg" then
b0,b1= ext_delta+ext_angle, angle-ext_delta
else
b0,b1= ext_delta, ext_angle+ext_delta
end
end

---POINT D
local angle_c
if t.cap == "p" then
angle_d = angle-int_delta
if t.inverse_arc and type_arc=="bg" then
angle_d = angle-int_delta-int_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d=int_delta+int_angle
end
else
angle_d = angle-ext_delta
if t.inverse_arc and type_arc=="bg" then
angle_d =angle-ext_delta-ext_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d = ext_angle+ext_delta
end
end
local dx,dy = ri*math.cos(angle_d),ri*math.sin(angle_d)

-- INTERNAL ARC D --> A
if t.cap=="p" then
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-int_delta-int_angle,int_delta
else
d0,d1= angle-int_delta, angle- int_angle-int_delta
end
else
if type_arc=="bg" then
d0,d1= angle-int_delta, int_delta+int_angle
else
d0,d1= int_delta+int_angle, int_delta
end
end
else
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-ext_delta-ext_angle,ext_delta
else
d0,d1= angle-ext_delta, angle- ext_angle-ext_delta
end
else
if type_arc=="bg" then
d0,d1= angle-ext_delta,ext_delta+ext_angle
else
d0,d1= ext_angle+ext_delta, ext_delta
end
end
end

--draw sector
cairo_move_to(cr,ax,ay)
cairo_line_to(cr,bx,by)
cairo_arc(cr,0,0,re,b0,b1)
cairo_line_to(cr,dx,dy)
cairo_arc_negative(cr,0,0,ri,d0,d1)
cairo_close_path (cr);

--stroke or fill sector
if type_arc=="bd" then
cairo_set_line_width(cr,t.border_size)
cairo_stroke(cr)
else
cairo_fill(cr)
end

cairo_restore(cr)

end
--draw sectors
local n0,n1,n2 = 1,t.sectors,1
if t.inverse_arc then n0,n1,n2 = t.sectors,1,-1 end
local index = 0
for i = n0,n1,n2 do
index = index +1
local valueZ=1
local cstA, cstB = (i-1),i
if t.inverse_arc then cstA,cstB = (t.sectors-i), (t.sectors-i+1) end

if value>valueA *cstA and value<valueA*cstB then
if not t.fill_sector then
valueZ = (value-valueA*cstA)/valueA
end
else
if value<valueA*cstB then valueZ=0 end
end

local start_angle= lastAngle+(i-1)*angleA
if t.foreground ~= false then
draw_sector("fg",start_angle,angleA,valueZ, index)
end
if t.background ~= false then
draw_sector("bg",start_angle,angleA,valueZ, i)
end
if t.border_size>0 then draw_sector("bd",start_angle,angleA,1, i) end
end

cairo_restore(cr)
end


--[[END OF RING-SECTORS WIDGET]]


function axis(ctx,alpha)
cairo_set_line_width(ctx,1)
cairo_set_source_rgba(ctx,1,0,0,alpha)
cairo_move_to(ctx,0,0)
cairo_line_to(ctx,150,0)
cairo_stroke(ctx)
cairo_set_source_rgba(ctx,0,1,0,alpha)
cairo_move_to(ctx,0,0)
cairo_line_to(ctx,0,150)
cairo_stroke(ctx)
end


conky2.lua
Spoiler:
--[[ BARGRAPH WIDGET
v1.3 by wlourf (03 march 2010)
This widget draw a simple bar like (old) equalizers on hi-fi systems.
http://u-scripts.blogspot.com/

The arguments are :
- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'...
or you can set it to "" if you want to display a numeric value with arg=numeric_value
- "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 ''.
- "max" is the maximum value of the bar. If the Conky variable outputs a percentage, use 100.
- "nb_blocks" is the umber of block to draw
- "cap" id the cap of a block, possibles values are CAIRO_LINE_CAP_ROUND , CAIRO_LINE_CAP_SQUARE or CAIRO_LINE_CAP_BUTT
see http://www.cairographics.org/samples/set_line_cap/
- "xb" and "yb" are the coordinates of the bottom left point of the bar, or the center of the circle if radius>0
- "w" and "h" are the width and the height of a block (without caps), w has no effect for "circle" bar
- "space" is the space betwwen two blocks, can be null or negative
- "bgc" and "bga" are background colors and alpha when the block is not LIGHT OFF
- "fgc" and "fga" are foreground colors and alpha when the block is not LIGHT ON
- "alc" and "ala" are foreground colors and alpha when the block is not LIGHT ON and ALARM ON
- "alarm" is the value where blocks LIGHT ON are in a different color (values from 0 to 100)
- "led_effect" true or false : to show a block with a led effect
- "led_alpha" alpha of the center of the led (values from 0 to 1)
- "smooth" true or false : colors in the bar has a smooth effect
- "mid_color",mid_alpha" : colors of the center of the bar (mid_color can to be set to nil)
- "rotation" : angle of rotation of the bar (values are 0 to 360 degrees). 0 = vertical bar, 90 = horizontal bar
- "radius" : draw the bar on a circle (it's no more a circle, radius = 0 to keep bars)
- "angle_bar" : if radius>0 angle_bar is the angle of the bar
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 March 2010) added parameters radius & angle_bar to draw the bar in a circular way
]]

require 'cairo'

----------------START OF PARAMETERS ----------
function conky_main_bars()
bars_settings={

--Down etho speed
{
name="downspeedf",
arg="",
max=450,
alarm=440,
cap="r",
x=340,
y=87,
blocks=20,
height=7,
width=10,
angle=90,
space=1,
fg_colour={0,0x80ffff,0.1},
bg_colour1={0,0xf0f0f0,0.1},
bg_colour2={0.5,0xf0f0f0,0.1},
smooth=false,
led_effect="r",
bg_led={0xf0f0f0,0.1},
fg_led={0x80ffff,1},
},
--up etho speed
{
name="upspeedf",
arg="",
max=100,
alarm=70,
cap="r",
x=340,
y=107,
blocks=20,
height=7,
width=10,
angle=90,
space=1,
fg_colour={0,0x000000,0.1},
bg_colour1={0,0xf0f0f0,0.1},
bg_colour2={0.5,0xf0f0f0,0.1},
smooth=false,
led_effect="r",
bg_led={0xf0f0f0,0.1},
fg_led={0x80ffff,1},
},

}
if conky_window == nil then return end

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

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)

end



function draw_multi_bar_graph(t)
cairo_save(cr)
--check values
if t.name==nil and t.arg==nil then
print ("No input values ... use parameters 'name' with 'arg' or only parameter 'arg' ")
return
end
if t.max==nil then
print ("No maximum value defined, use 'max'")
return
end
if t.name==nil then t.name="" end
if t.arg==nil then t.arg="" end

--set default values
if t.x == nil then t.x = conky_window.width/2 end
if t.y == nil then t.y = conky_window.height/2 end
if t.blocks == nil then t.blocks=10 end
if t.height == nil then t.height=10 end
if t.angle == nil then t.angle=0 end
t.angle = t.angle*math.pi/180
--line cap style
if t.cap==nil then t.cap = "b" end
local cap="b"
for i,v in ipairs({"s","r","b"}) do
if v==t.cap then cap=v end
end
delta=0
if t.cap=="r" or t.cap=="s" then delta = t.height end
if cap=="s" then cap = CAIRO_LINE_CAP_SQUARE
elseif cap=="r" then
cap = CAIRO_LINE_CAP_ROUND
elseif cap=="b" then
cap = CAIRO_LINE_CAP_BUTT
end
--end line cap style
--if t.led_effect == nil then t.led_effect="r" end
if t.width == nil then t.width=20 end
if t.space == nil then t.space=2 end
if t.radius == nil then t.radius=0 end
if t.angle_bar == nil then t.angle_bar=0 end
t.angle_bar = t.angle_bar*math.pi/360 --halt angle

--colours
if t.bg_colour == nil then t.bg_colour = {0xffffff,0.5} end
if #t.bg_colour~=2 then t.bg_colour = {0xffffff,0.5} end
if t.fg_colour == nil then t.fg_colour = {0xffffff,1} end
if #t.fg_colour~=2 then t.fg_colour = {0xffffff,1} end
if t.alarm_colour == nil then t.alarm_colour = t.fg_colour end
if #t.alarm_colour~=2 then t.alarm_colour = t.fg_colour end

if t.mid_colour ~= nil then
for i=1, #t.mid_colour do
if #t.mid_colour[i]~=3 then
print ("error in mid_color table")
t.mid_colour[i]={1,0xFFFFFF,1}
end
end
end

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

if t.led_effect~=nil then
if t.bg_led == nil then t.bg_led = t.bg_colour end
if t.fg_led == nil then t.fg_led = t.fg_colour end
if t.alarm_led == nil then t.alarm_led = t.fg_led end
end


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

if t.skew_x == nil then
t.skew_x=0
else
t.skew_x = math.pi*t.skew_x/180
end
if t.skew_y == nil then
t.skew_y=0
else
t.skew_y = math.pi*t.skew_y/180
end

if t.reflection_alpha==nil then t.reflection_alpha=0 end
if t.reflection_length==nil then t.reflection_length=1 end
if t.reflection_scale==nil then t.reflection_scale=1 end

--end of default values


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


--functions used to create patterns

local function create_smooth_linear_gradient(x0,y0,x1,y1)
local pat = cairo_pattern_create_linear (x0,y0,x1,y1)
cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
if t.mid_colour ~=nil then
for i=1, #t.mid_colour do
cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
end
end
return pat
end

local function create_smooth_radial_gradient(x0,y0,r0,x1,y1,r1)
local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
if t.mid_colour ~=nil then
for i=1, #t.mid_colour do
cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
end
end
return pat
end

local function create_led_linear_gradient(x0,y0,x1,y1,col_alp,col_led)
local pat = cairo_pattern_create_linear (x0,y0,x1,y1) ---delta, 0,delta+ t.width,0)
cairo_pattern_add_color_stop_rgba (pat, 0.0, rgb_to_r_g_b(col_alp))
cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
cairo_pattern_add_color_stop_rgba (pat, 1.0, rgb_to_r_g_b(col_alp))
return pat
end

local function create_led_radial_gradient(x0,y0,r0,x1,y1,r1,col_alp,col_led,mode)
local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
if mode==3 then
cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_alp))
cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))
else
cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_led))
cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))
end
return pat
end






local function draw_single_bar()
--this fucntion is used for bars with a single block (blocks=1) but
--the drawing is cut in 3 blocks : value/alarm/background
--not zvzimzblr for circular bar
local function create_pattern(col_alp,col_led,bg)
local pat

if not t.smooth then
if t.led_effect=="e" then
pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)
elseif t.led_effect=="a" then
pat = create_led_linear_gradient (t.width/2, 0,t.width/2,-t.height,col_alp,col_led)
elseif t.led_effect=="r" then
pat = create_led_radial_gradient (t.width/2, -t.height/2, 0, t.width/2,-t.height/2,t.height/1.5,col_alp,col_led,2)
else
pat = cairo_pattern_create_rgba (rgb_to_r_g_b(col_alp))
end
else
if bg then
pat = cairo_pattern_create_rgba (rgb_to_r_g_b(t.bg_colour))
else
pat = create_smooth_linear_gradient(t.width/2, 0, t.width/2,-t.height)
end
end
return pat
end

local y1=-t.height*pct/100
local y2=nil
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
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)

-- 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
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)))
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()
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()
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


end --setup_bar_graph()


--start here !
setup_bar_graph()
cairo_restore(cr)
end
Avatar do usuário
fenon
 
Mensagens: 19
Registrado em: 03 Outubro, 2011
Localização: paragominas ,PA

Re: Mostre o seu Desktop!

Mensagempor Donatello van Dijck » Seg, 31 de Outubro 2011, 23:06

Consegui deszicar a instalação da Jaguatirica:

Otoño Rojo

Imagem
Imagem

Ubuntu 11.10
Wallpaper: http://i603.photobucket.com/albums/tt11 ... que165.jpg
Ícones: Faenza
Shell: Nord
Editado pela última vez por Donatello van Dijck em Seg, 31 de Outubro 2011, 23:13, em um total de 3 vezes.
Avatar do usuário
Donatello van Dijck
 
Mensagens: 42
Registrado em: 01 Setembro, 2011
Localização: Rio de Janeiro

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Seg, 31 de Outubro 2011, 23:07

Industrial Kids

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 0:50

CROW

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 2:03

SIMPLE

  • Sistema Operativo: Ubuntu 11.04 (Natty Narwhal)
  • Tema: QDark Studio 3.9
  • Ícones: LaGaDesk-BlackWhite-III
  • Wallpaper: http://img822.imageshack.us/img822/4439/simplemdxx.jpg
  • AWN;
  • Covergloobus: Twins;
  • Cursor: THE_DARK;
  • Conky;
    conkyrc
    Spoiler:
    alignment top_right
    double_buffer yes
    gap_x 5
    gap_y 40
    update_interval 2.0
    background yes
    own_window yes
    own_window_transparent yes
    own_window_argb_visual yes
    own_window_type normal
    own_window_class conky-semi
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    minimum_size 230 5
    maximum_width 230
    use_xft yes
    xftalpha 0.5
    xftfont Sans:size=7

    TEXT
    ${font openlogos:size=20}${font Arial:size=15}${color #0088cc}LINUX ${color 363636}${font openlogos:size=15}STATS${font }
    ${font size=7}${color slate grey}Infos $hr${color 363636}${font }

    Kernel: ${alignr}$kernel ($machine)
    Uptime: ${alignr}$uptime
    Time: ${alignr}${time %H:%M:%S}
    Date: ${alignr}${time %d.%m.%y}
    User: ${alignr}$alignc${exec whoami} @ $nodename
    Filesystem: $alignr${fs_type}

    ${font size=7}${color slate grey}CPU Usage $hr${color 363636}${font }

    CPU1 ${alignr}${cpu cpu1}%
    ${cpugraph cpu1 16, 200}

    CPU2 ${alignr}${cpu cpu2}%
    ${cpugraph cpu2 16, 200}
    CPU-Temp.${alignr}${hwmon temp 1}°C

    ${font size=7}${color slate grey}Ram Usage $hr${color 363636}${font }

    RAM ${alignr}$mem/$memmax
    ${membar 6, 200}

    Swap ${alignr}$swap/$swapmax
    ${swapbar 6, 200}

    ${font size=7}${color slate grey}Filesystem $hr${color 363636}${font }

    / ${alignr}${fs_free /}
    ${fs_bar 6, 200 /}

    /home ${alignr}${fs_free /home}
    ${fs_bar 6, 200 /home}

    /Root ${alignr}${fs_free /root}
    ${fs_bar 6, 200 /root}

    ${font size=7}${color slate grey}Top CPU Tasks $hr${color }${font }

    ${color #ddaa00}${top name 1}${alignr}${top cpu 1}%${color 363636}
    ${top name 2}${alignr}${top cpu 2}%
    ${top name 3}${alignr}${top cpu 3}%
    ${top name 4}${alignr}${top cpu 4}%
    ${top name 5}${alignr}${top cpu 5}%

    ${font size=7}${color slate grey}Top RAM Tasks $hr${color }${font }

    ${color #ddaa00}${top_mem name 1}${alignr}${top_mem mem 1}%${color 363636}
    ${top_mem name 2}${alignr}${top_mem mem 2}%
    ${top_mem name 3}${alignr}${top_mem mem 3}%
    ${top_mem name 4}${alignr}${top_mem mem 4}%
    ${top_mem name 5}${alignr}${top_mem mem 5}%

    ${font size=7}${color slate grey}Network $hr${color 363636}${font }
    IP (Lan): $alignr${addr eth0}
    IP (Public): $alignr${execi 600 wget http://checkip.dyndns.org/ -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'}
    Total Down $alignr${totaldown eth0}
    Total Up $alignr${totalup eth0}

    Download ${alignr}${downspeed eth0}
    ${downspeedgraph eth0}

    Upload ${alignr}${upspeed eth0}
    ${upspeedgraph eth0}

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 10:31

FLAMES BACK iN BLACK

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 12:36

:rox: VERY CRAZY :rox:

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor tiburtino » Ter, 1 de Novembro 2011, 12:53

Bom Dia..

Colega, como faço para deixar a barra igual a essa que você colocou?

tiburtino
 
Mensagens: 2
Registrado em: 19 Outubro, 2011

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 12:58

tiburtino » Ter Nov 01, 2011 9:53 am escreveu:Bom Dia..

Colega, como faço para deixar a barra igual a essa que você colocou?

Ola e so você clicar nesse link que vc ja entra no tutorial de como colocar a barra http://ubuntued.info/avant-window-navigator-awn-uma-dock-util

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

Re: Mostre o seu Desktop!

Mensagempor Roger Braga » Ter, 1 de Novembro 2011, 12:58

Hexagone

AGARB REGOR


Imagem
:ubuntued: "Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
:ubuntued:
Avatar do usuário
Roger Braga
Mr. Deskmod
 
Mensagens: 755
Registrado em: 04 Julho, 2011
Localização: São Paulo, BRASIL

AnteriorPróximo

Voltar para Temas do Ubuntu

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 30 visitantes