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!
TEXT ${voffset 40}${goto 250}${font Radio Space Bold:style=Bold:size=60}${time %H} ${goto 340}${voffset -125}${font Radio Space Bold:style=Bold:size=30}${time %M} ${goto 345}${voffset -30}${font Radio Space Bold:style=Bold:size=18}${time %S} ${voffset 40}${goto 280}${font Radio Space Bold:style=Bold:size=18}${time %A} ${goto 240}${time %d/%m/%Y}
${color2}${font Humanoid:size=12}o${font}${color} cpu 1 ${goto 50} ${cpubar cpu0 5,80} ${color2}${font Humanoid:size=12}o${font}${color} disk ${goto 200} ${fs_bar 5,80 /} ${color2}${font Humanoid:size=12}o${font}${color} ip ${goto 342}${addr eth0} ${offset 7}${color2}${font Humanoid:size=12}o${font}${color} ${color2}${font Humanoid:size=12}o${font}${color} cpu 2 ${goto 50} ${cpubar cpu1 5,80} ${color2}${font Humanoid:size=12}o${font}${color} home ${goto 200} ${fs_bar 5,80 /home} ${color2}${font Humanoid:size=12}o${font}${color} up ${goto 350}${upspeedgraph eth0 5,80} ${color2}${font Humanoid:size=12}o${font}${color} ${color2}${font Humanoid:size=12}o${font}${color} mem ${goto 50} ${membar 5,80} ${color2}${font Humanoid:size=12}o${font}${color} ehd ${goto 200}${fs_bar 5,80 /} ${color2}${font Humanoid:size=12}o${font}${color} down ${goto 350}${upspeedgraph eth0 5,80} ${color2}${font Humanoid:size=12}o${font}${color}
${color}${top_mem name 1} ${alignc 560}${top_mem pid 1} ${top_mem mem 1} ${color}${top_mem name 2} ${alignc 560}${top_mem pid 2} ${top_mem mem 2} ${color}${top_mem name 3} ${alignc 560}${top_mem pid 3} ${top_mem mem 3} ${color}${top_mem name 4} ${alignc 560}${top_mem pid 4} ${top_mem mem 4}
This script is meant to be a "shell" to hold a suite of widgets for use in Conky.
To configure: + Copy the widget's code block (will be framed by --(( WIDGET NAME )) and --(( END WIDGET NAME )), with "[" instead of "(") somewhere between "require 'cairo'" and "function conky_widgets()", ensuring not to paste into another widget's code block + To call the widget, add the following just before the last "end" of the entire script: cr = cairo_create(cs) NAME_OF_FUNCTION(cr, OPTIONS) cairo_destroy(cr) + Replace OPTIONS with the options for your widget (should be specified in the widget's code block)
Call this script in Conky using the following before TEXT (assuming you save this script to ~/scripts/conky_widgets.lua): lua_load ~/scripts/conky_widgets.lua lua_draw_hook_pre widgets
Changelog: + v1.0 -- Original release (17.10.2009) ]]
require 'cairo'
--[[ AIR CLOCK WIDGET ]] --[[ Options (xc, yc, size): "xc" and "yc" are the x and y coordinates of the centre of the clock, in pixels, relative to the top left of the Conky window "size" is the total size of the widget, in pixels ]]
function air_clock(cr, xc, yc, size) local offset = 0
if show_seconds then xs=xc+1.33*clock_r*math.sin(secs_arc) ys=yc-1.33*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
--[[ END AIR CLOCK WIDGET ]]
--[[ RING WIDGET ]] --[[ Options (name, arg, max, bg_colour, bg_alpha, xc, yc, radius, thickness, start_angle, end_angle): "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'. "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 ring. If the Conky variable outputs a percentage, use 100. "bg_colour" is the colour of the base ring. "bg_alpha" is the alpha value of the base ring. "fg_colour" is the colour of the indicator part of the ring. "fg_alpha" is the alpha value of the indicator part of the ring. "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. "radius" is the radius of the ring. "thickness" is the thickness of the ring, centred around the radius. "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative. "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 (e.g. more clockwise) than start_angle. ]]
function ring(cr, name, arg, max, bgc, bga, fgc, fga, xc, yc, r, t, sa, ea) local function rgb_to_r_g_b(colour,alpha) return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha end
local function draw_ring(pct) local angle_0=sa*(2*math.pi/360)-math.pi/2 local angle_f=ea*(2*math.pi/360)-math.pi/2 local pct_arc=pct*(angle_f-angle_0)
value = tonumber(str) if value == nil then value = 0 end pct = value/max
draw_ring(pct) end
local updates=conky_parse('${updates}') update_num=tonumber(updates)
if update_num>5 then setup_ring() end end
--[[ END RING WIDGET ]] 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) local w = conky_window.width local h = conky_window.height
r = 75 xc = 1020 yc = 180
local updates=conky_parse('${updates}') update_num=tonumber(updates)
if update_num>5 then end
cairo_destroy(cr)
end
AGARB REGOR
"Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
"Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
"Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
${voffset 80} ${goto 90}${font Ubuntu:size=7,weight:bold}${color}CPU ${goto 90}${font Ubuntu:size=7,weight:normal}${color5}${top name 1}${alignr}${top cpu 1}% ${goto 90}${font Ubuntu:size=7,weight:normal}${color6}${top name 2}${alignr}${top cpu 2}% ${goto 90}${font Ubuntu:size=7,weight:normal}${color7}${top name 3}${alignr}${top cpu 3}% ${goto 90}${cpugraph 10,100 666666 666666} ${goto 90}${voffset -10}${font Ubuntu:size=7,weight:normal}${color}${threads} process
${voffset 20} ${goto 90}${font Ubuntu:size=7,weight:bold}${color}MEM ${goto 90}${font Ubuntu:size=7,weight:normal}${color5}${top_mem name 1}${alignr}${top_mem mem 1}% ${goto 90}${font Ubuntu:size=7,weight:normal}${color6}${top_mem name 2}${alignr}${top_mem mem 2}% ${goto 90}${font Ubuntu:size=7,weight:normal}${color7}${top_mem name 3}${alignr}${top_mem mem 3}%
--============================================================================== -- conky_orange.lua -- -- author : SLK -- version : v2011062101 -- license : Distributed under the terms of GNU GPL version 2 or later -- --==============================================================================
------------------------------------------------------------------------------- -- rgb_to_r_g_b -- converts color in hexa to decimal -- function rgb_to_r_g_b(colour, alpha) return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha end
------------------------------------------------------------------------------- -- angle_to_position -- convert degree to rad and rotate (0 degree is top/north) -- function angle_to_position(start_angle, current_angle) local pos = current_angle + start_angle return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) ) end
------------------------------------------------------------------------------- -- draw_clock_ring -- displays clock -- function draw_clock_ring(display, data, value) local max_value = data['max_value'] local x, y = data['x'], data['y'] local graph_radius = data['graph_radius'] local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness'] local graph_unit_angle = data['graph_unit_angle'] local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha'] local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
-- background ring cairo_arc(display, x, y, graph_radius, 0, 2 * math.pi) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha)) cairo_set_line_width(display, graph_thickness) cairo_stroke(display)
-- arc of value local val = (value % max_value) local i = 1 while i <= val do cairo_arc(display, x, y, graph_radius,( ((graph_unit_angle * i) - graph_unit_thickness)*(2*math.pi/360) )-(math.pi/2),((graph_unit_angle * i) * (2*math.pi/360))-(math.pi/2)) cairo_set_source_rgba(display,rgb_to_r_g_b(graph_fg_colour,graph_fg_alpha)) cairo_stroke(display) i = i + 1 end local angle = (graph_unit_angle * i) - graph_unit_thickness
-- graduations marks local graduation_radius = data['graduation_radius'] local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness'] local graduation_unit_angle = data['graduation_unit_angle'] local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha'] if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then local nb_graduation = 360 / graduation_unit_angle local i = 1 while i <= nb_graduation do cairo_set_line_width(display, graduation_thickness) cairo_arc(display, x, y, graduation_radius, (((graduation_unit_angle * i)-(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2),(((graduation_unit_angle * i)+(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2)) cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha)) cairo_stroke(display) cairo_set_line_width(display, graph_thickness) i = i + 1 end end
-- text local txt_radius = data['txt_radius'] local txt_weight, txt_size = data['txt_weight'], data['txt_size'] local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha'] local movex = txt_radius * (math.cos((angle * 2 * math.pi / 360)-(math.pi/2))) local movey = txt_radius * (math.sin((angle * 2 * math.pi / 360)-(math.pi/2))) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight); cairo_set_font_size (display, txt_size); cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha)); cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3); cairo_show_text (display, value); cairo_stroke (display); end
------------------------------------------------------------------------------- -- draw_gauge_ring -- displays gauges -- function draw_gauge_ring(display, data, value) local max_value = data['max_value'] local x, y = data['x'], data['y'] local graph_radius = data['graph_radius'] local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness'] local graph_start_angle = data['graph_start_angle'] local graph_unit_angle = data['graph_unit_angle'] local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha'] local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha'] local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha'] local graph_end_angle = (max_value * graph_unit_angle) % 360
-- background ring cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha)) cairo_set_line_width(display, graph_thickness) cairo_stroke(display)
-- arc of value local val = value % (max_value + 1) local start_arc = 0 local stop_arc = 0 local i = 1 while i <= val do start_arc = (graph_unit_angle * i) - graph_unit_thickness stop_arc = (graph_unit_angle * i) cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha)) cairo_stroke(display) i = i + 1 end local angle = start_arc
-- graduations marks local graduation_radius = data['graduation_radius'] local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness'] local graduation_unit_angle = data['graduation_unit_angle'] local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha'] if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then local nb_graduation = graph_end_angle / graduation_unit_angle local i = 0 while i < nb_graduation do cairo_set_line_width(display, graduation_thickness) start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2) stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2) cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha)) cairo_stroke(display) cairo_set_line_width(display, graph_thickness) i = i + 1 end end
-- text local txt_radius = data['txt_radius'] local txt_weight, txt_size = data['txt_weight'], data['txt_size'] local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha'] local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle)) local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle)) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight) cairo_set_font_size (display, txt_size) cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha)) cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3) cairo_show_text (display, value) cairo_stroke (display)
-- caption local caption = data['caption'] local caption_weight, caption_size = data['caption_weight'], data['caption_size'] local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha'] local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight); cairo_set_font_size (display, caption_size) cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha)) cairo_move_to (display, x + tox + 5, y + toy + 1) -- bad hack but not enough time ! if graph_start_angle < 105 then cairo_move_to (display, x + tox - 30, y + toy + 1) end cairo_show_text (display, caption) cairo_stroke (display) end
------------------------------------------------------------------------------- -- go_clock_rings -- loads data and displays clock -- function go_clock_rings(display) local function load_clock_rings(display, data) local str, value = '', 0 str = string.format('${%s %s}',data['name'], data['arg']) str = conky_parse(str) value = tonumber(str) draw_clock_ring(display, data, value) end
for i in pairs(clock_h) do load_clock_rings(display, clock_h[i]) end for i in pairs(clock_m) do load_clock_rings(display, clock_m[i]) end for i in pairs(clock_s) do load_clock_rings(display, clock_s[i]) end end
------------------------------------------------------------------------------- -- go_gauge_rings -- loads data and displays gauges -- function go_gauge_rings(display) local function load_gauge_rings(display, data) local str, value = '', 0 str = string.format('${%s %s}',data['name'], data['arg']) str = conky_parse(str) value = tonumber(str) draw_gauge_ring(display, data, value) end
for i in pairs(gauge) do load_gauge_rings(display, gauge[i]) end end
------------------------------------------------------------------------------- -- MAIN function conky_main() if conky_window == nil then return end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height) local display = cairo_create(cs)
local updates = conky_parse('${updates}') update_num = tonumber(updates)
if update_num > 5 then go_clock_rings(display) go_gauge_rings(display) end
cairo_surface_destroy(cs) cairo_destroy(display) end
AGARB REGOR
"Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."
#============================================================================== # conkyrc_grey # # author : SLK # version : v2011011601 # license : Distributed under the terms of GNU GPL version 2 or later # #==============================================================================
--============================================================================== -- conky_grey.lua -- -- author : SLK -- version : v2011062101 -- license : Distributed under the terms of GNU GPL version 2 or later -- --==============================================================================
------------------------------------------------------------------------------- -- rgb_to_r_g_b -- converts color in hexa to decimal -- function rgb_to_r_g_b(colour, alpha) return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha end
------------------------------------------------------------------------------- -- angle_to_position -- convert degree to rad and rotate (0 degree is top/north) -- function angle_to_position(start_angle, current_angle) local pos = current_angle + start_angle return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) ) end
------------------------------------------------------------------------------- -- draw_clock_ring -- displays clock -- function draw_clock_ring(display, data, value) local max_value = data['max_value'] local x, y = data['x'], data['y'] local graph_radius = data['graph_radius'] local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness'] local graph_unit_angle = data['graph_unit_angle'] local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha'] local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
-- background ring cairo_arc(display, x, y, graph_radius, 0, 2 * math.pi) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha)) cairo_set_line_width(display, graph_thickness) cairo_stroke(display)
-- arc of value local val = (value % max_value) local i = 1 while i <= val do cairo_arc(display, x, y, graph_radius,( ((graph_unit_angle * i) - graph_unit_thickness)*(2*math.pi/360) )-(math.pi/2),((graph_unit_angle * i) * (2*math.pi/360))-(math.pi/2)) cairo_set_source_rgba(display,rgb_to_r_g_b(graph_fg_colour,graph_fg_alpha)) cairo_stroke(display) i = i + 1 end local angle = (graph_unit_angle * i) - graph_unit_thickness
-- graduations marks local graduation_radius = data['graduation_radius'] local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness'] local graduation_unit_angle = data['graduation_unit_angle'] local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha'] if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then local nb_graduation = 360 / graduation_unit_angle local i = 1 while i <= nb_graduation do cairo_set_line_width(display, graduation_thickness) cairo_arc(display, x, y, graduation_radius, (((graduation_unit_angle * i)-(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2),(((graduation_unit_angle * i)+(graduation_mark_thickness/2))*(2*math.pi/360))-(math.pi/2)) cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha)) cairo_stroke(display) cairo_set_line_width(display, graph_thickness) i = i + 1 end end
-- text local txt_radius = data['txt_radius'] local txt_weight, txt_size = data['txt_weight'], data['txt_size'] local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha'] local movex = txt_radius * (math.cos((angle * 2 * math.pi / 360)-(math.pi/2))) local movey = txt_radius * (math.sin((angle * 2 * math.pi / 360)-(math.pi/2))) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight); cairo_set_font_size (display, txt_size); cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha)); cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3); cairo_show_text (display, value); cairo_stroke (display); end
------------------------------------------------------------------------------- -- draw_gauge_ring -- displays gauges -- function draw_gauge_ring(display, data, value) local max_value = data['max_value'] local x, y = data['x'], data['y'] local graph_radius = data['graph_radius'] local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness'] local graph_start_angle = data['graph_start_angle'] local graph_unit_angle = data['graph_unit_angle'] local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha'] local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha'] local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha'] local graph_end_angle = (max_value * graph_unit_angle) % 360
-- background ring cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha)) cairo_set_line_width(display, graph_thickness) cairo_stroke(display)
-- arc of value if value == nil then value = 0 end local val = value % (max_value + 1) local start_arc = 0 local stop_arc = 0 local i = 1 while i <= val do start_arc = (graph_unit_angle * i) - graph_unit_thickness stop_arc = (graph_unit_angle * i) cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha)) cairo_stroke(display) i = i + 1 end local angle = start_arc
-- graduations marks local graduation_radius = data['graduation_radius'] local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness'] local graduation_unit_angle = data['graduation_unit_angle'] local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha'] if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then local nb_graduation = graph_end_angle / graduation_unit_angle local i = 0 while i < nb_graduation do cairo_set_line_width(display, graduation_thickness) start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2) stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2) cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc)) cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha)) cairo_stroke(display) cairo_set_line_width(display, graph_thickness) i = i + 1 end end
-- text local txt_radius = data['txt_radius'] local txt_weight, txt_size = data['txt_weight'], data['txt_size'] local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha'] local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle)) local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle)) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight) cairo_set_font_size (display, txt_size) cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha)) cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3) cairo_show_text (display, value) cairo_stroke (display)
-- caption local caption = data['caption'] local caption_weight, caption_size = data['caption_weight'], data['caption_size'] local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha'] local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2))) cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight); cairo_set_font_size (display, caption_size) cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha)) cairo_move_to (display, x + tox + 5, y + toy + 1) -- bad hack but not enough time ! if graph_start_angle < 105 then cairo_move_to (display, x + tox - 30, y + toy + 1) end cairo_show_text (display, caption) cairo_stroke (display) end
------------------------------------------------------------------------------- -- go_clock_rings -- loads data and displays clock -- function go_clock_rings(display) local function load_clock_rings(display, data) local str, value = '', 0 str = string.format('${%s %s}',data['name'], data['arg']) str = conky_parse(str) value = tonumber(str) draw_clock_ring(display, data, value) end
for i in pairs(clock_h) do load_clock_rings(display, clock_h[i]) end for i in pairs(clock_m) do load_clock_rings(display, clock_m[i]) end for i in pairs(clock_s) do load_clock_rings(display, clock_s[i]) end end
------------------------------------------------------------------------------- -- go_gauge_rings -- loads data and displays gauges -- function go_gauge_rings(display) local function load_gauge_rings(display, data) local str, value = '', 0 str = string.format('${%s %s}',data['name'], data['arg']) str = conky_parse(str) value = tonumber(str) draw_gauge_ring(display, data, value) end
for i in pairs(gauge) do load_gauge_rings(display, gauge[i]) end end
------------------------------------------------------------------------------- -- MAIN function conky_main() if conky_window == nil then return end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height) local display = cairo_create(cs)
local updates = conky_parse('${updates}') update_num = tonumber(updates)
if update_num > 5 then go_clock_rings(display) go_gauge_rings(display) end
cairo_surface_destroy(cs) cairo_destroy(display) end
AGARB REGOR
"Somente seres humanos excepcionais e irrepreensíveis suscitam ideias generosas e ações elevadas. O conhecimento é limitado. A imaginação envolve ao mundo."