^_^,圈圈终于全部搞定了

桌面秀,不同桌面、不同风格。
头像
karllv
帖子: 632
注册时间: 2008-12-04 17:23

^_^,圈圈终于全部搞定了

#1

帖子 karllv » 2011-04-07 18:43

从7个环改来的。从外到内 1、CPU,2、MEM,3、FS,4、downspeed、upspeed,5、hour,6、min,7、sec
rings.lua配置如下:

代码: 全选

--[[
Clock Rings by londonali1010 (2009)
modified by Vanishing
]]

settings_table = {
   {
      name='cpu',
      arg='cpu0',
      max=100,
      bg_colour=0xFFFFFF,
      bg_alpha=0,
      fg_colour=0xFFFFFF,
      fg_alpha=0.3,
      x=70, y=70,
      radius=63,
      thickness=13,
      start_angle=0,
      end_angle=360
   },
   {
      name='memperc',
      arg='',
      max=100,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.8,
      x=70, y=70,
      radius=55,
      thickness=3,
      start_angle=0,
      end_angle=360
   },
   {
      name='fs_used_perc',
      arg="/",
      max=100,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.6,
      x=70, y=70,
      radius=50,
      thickness=3,
      start_angle=0,
      end_angle=360
   },
   {
      name='upspeedf',
      arg='eth0',
      max=50,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.9,
      x=70, y=70,
      radius=40,
      thickness=13,
      start_angle=270,
      end_angle=360
   },
   {
      name='downspeedf',
      arg='eth0',
      max=270,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.9,
      x=70, y=70,
      radius=40,
      thickness=13,
      start_angle=0,
      end_angle=270
   },
   {
      name='time',
      arg='%I',
      max=12,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.5,
      x=70, y=70,
      radius=30,
      thickness=3,
      start_angle=0,
       end_angle=360
   },
   {
      name='time',
      arg='%M',
      max=60,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.6,
      x=70, y=70,
      radius=24,
      thickness=5,
      start_angle=0,
       end_angle=360
   },
   {
      name='time',
      arg='%S',
      max=60,
      bg_colour=0xFFFFFF,
      bg_alpha=0.1,
      fg_colour=0xFFFFFF,
      fg_alpha=0.9,
      x=70, y=70,
      radius=10,
      thickness=18,
      start_angle=0,
      end_angle=360
   },
}

-- Use these settings to define the origin and extent of your clock.

clock_r=125

-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.

clock_x=83   
clock_y=62

show_seconds=true

require 'cairo'

function rgb_to_r_g_b(colour,alpha)
   return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end

function draw_ring(cr,t,pt)
   local w,h=conky_window.width,conky_window.height
   
   local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
   local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']

   local angle_0=sa*(2*math.pi/360)-math.pi/2
   local angle_f=ea*(2*math.pi/360)-math.pi/2
   local t_arc=t*(angle_f-angle_0)

   -- Draw background ring

   cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
   cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
   cairo_set_line_width(cr,ring_w)
   cairo_stroke(cr)
   
   -- Draw indicator ring

   cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
   cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
   cairo_stroke(cr)      
end

function draw_clock_hands(cr,xc,yc)
   local secs,mins,hours,secs_arc,mins_arc,hours_arc
   local xh,yh,xm,ym,xs,ys
   
   secs=os.date("%S")   
   mins=os.date("%M")
   hours=os.date("%I")
      
   secs_arc=(2*math.pi/60)*secs
   mins_arc=(2*math.pi/60)*mins+secs_arc/60
   hours_arc=(2*math.pi/12)*hours+mins_arc/60
      
   -- Draw hour hand
   
   xh=xc+0.2*clock_r*math.sin(hours_arc)
   yh=yc-0.2*clock_r*math.cos(hours_arc)
   cairo_move_to(cr,xc,yc)
   cairo_line_to(cr,xh,yh)
   
   cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
   cairo_set_line_width(cr,5)
   cairo_set_source_rgba(cr,1,1,1,0.8)
   cairo_stroke(cr)
   
   -- Draw minute hand
   
   xm=xc+clock_r*math.sin(mins_arc)*0.4
   ym=yc-clock_r*math.cos(mins_arc)*0.4
   cairo_move_to(cr,xc,yc)
   cairo_line_to(cr,xm,ym)
   
   cairo_set_line_width(cr,3)
   cairo_stroke(cr)
   
   -- Draw seconds hand
   
   if show_seconds then
      xs=xc+clock_r*math.sin(secs_arc)*0.5
      ys=yc-clock_r*math.cos(secs_arc)*0.5
      cairo_move_to(cr,xc,yc)
      cairo_line_to(cr,xs,ys)
   
      cairo_set_line_width(cr,1)
      cairo_stroke(cr)
   end
end

function conky_clock_rings()
   local function setup_rings(cr,pt)
      local str=''
      local value=0
      
      str=string.format('${%s %s}',pt['name'],pt['arg'])
      str=conky_parse(str)
      
      value=tonumber(str)
      if ( value == nil ) then value = 0 end
      pct=value/pt['max']
      
      draw_ring(cr,pct,pt)
   end
   
   -- Check that Conky has been running for at least 5s

   if conky_window==nil then return end
   local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
   
   local cr=cairo_create(cs)   
   
   local updates=conky_parse('${updates}')
   update_num=tonumber(updates)
   
   if update_num>5 then
      for i in pairs(settings_table) do
         setup_rings(cr,settings_table[i])
      end
   end
   
   draw_clock_hands(cr,70,70)
end
conkyrc配置如下:

代码: 全选

alignment bottom_right
background yes
double_buffer yes

border_width 1
default_color white
default_outline_color white
default_shade_color white

draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no

use_xft yes
xftfont 明黑 Mono:size=10

gap_x 15
gap_y 15

minimum_size 166
maximum_width 132

net_avg_samples 2
cpu_avg_samples 2
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_colour hotpink
own_window_class Conky
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_page

stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none

show_graph_scale no
show_graph_range no

# -- Lua Load -- #
lua_load ~/.scripts/rings.lua
lua_draw_hook_pre clock_rings

TEXT










${scroll 22  $nodename-$kernel}
效果如下:
Screenshot.png
想在圈上加刻度,还无从着手。。
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: ^_^,圈圈终于全部搞定了

#2

帖子 qy117121 » 2011-04-07 18:45

:em11
颜色再改下就更好看了
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
联系:

Re: ^_^,圈圈终于全部搞定了

#3

帖子 月下叹逍遥 » 2011-04-07 18:46

不错,不错 :em01
浮生七十今三十,从此凄惶未可知
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: ^_^,圈圈终于全部搞定了

#4

帖子 tenzu » 2011-04-07 18:48

看不懂 :em20
jtshs256
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X

Re: ^_^,圈圈终于全部搞定了

#5

帖子 jtshs256 » 2011-04-07 18:50

还以为是opera…… :em06
躺平
lubcat
帖子: 2061
注册时间: 2010-09-27 12:59

Re: ^_^,圈圈终于全部搞定了

#6

帖子 lubcat » 2011-04-07 18:54

不错。
生活里,有很多转瞬即逝,像在车站的告别,刚刚还相互拥抱,转眼已各自天涯。很多时候,你不懂,我也不懂,就这样,说着说着就变了,听着听着就倦了,看着看着就厌了,跟着跟着就慢了,走着走着就散了,爱着爱着就淡了,想着想着就算了。
头像
peteryeh64
论坛版主
帖子: 9386
注册时间: 2008-12-20 15:43
系统: 家kubuntu20.04
来自: 心靈深處

Re: ^_^,圈圈终于全部搞定了

#7

帖子 peteryeh64 » 2011-04-07 19:38

:em11 ...NB...
[论坛版主行为规定]+[PITIVI簡易教程]+[ubuntu裝迅雷]
[releases.ubuntu.com]+[cdimage.ubuntu.com]+[old-releases.ubuntu.com]
[學ubuntu必須拜讀懶蝸牛"笨兔兔的故事"=viewtopic.php?f=112&t=162040][Linux明日的希望在中國]
jtshs256
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X

Re: ^_^,圈圈终于全部搞定了

#8

帖子 jtshs256 » 2011-04-07 19:40

好抽象…… :em06
躺平
头像
gdgglhy
帖子: 440
注册时间: 2010-04-23 12:19
系统: arch

Re: ^_^,圈圈终于全部搞定了

#9

帖子 gdgglhy » 2011-04-07 20:35

:em06 我的好丑
Screenshot-1.png
头像
karllv
帖子: 632
注册时间: 2008-12-04 17:23

Re: ^_^,圈圈终于全部搞定了

#10

帖子 karllv » 2011-04-07 21:10

gdgglhy 写了::em06 我的好丑
Screenshot-1.png
各有各的好
头像
onshoestring
论坛版主
帖子: 4666
注册时间: 2009-09-06 5:53

Re: ^_^,圈圈终于全部搞定了

#11

帖子 onshoestring » 2011-04-07 21:35

还不错,就是看是时候还要数是第几个圈,会不会数错?
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: ^_^,圈圈终于全部搞定了

#12

帖子 susbarbatus » 2011-04-07 22:16

不实用,也就拿来连连技术,装装B什么的
沉迷将棋中……
头像
karllv
帖子: 632
注册时间: 2008-12-04 17:23

Re: ^_^,圈圈终于全部搞定了

#13

帖子 karllv » 2011-04-07 22:34

susbarbatus 写了:不实用,也就拿来连连技术,装装B什么的
:em06
头像
Ubuntu与Linux
帖子: 1211
注册时间: 2010-06-09 19:57

Re: ^_^,圈圈终于全部搞定了

#14

帖子 Ubuntu与Linux » 2011-04-08 11:08

求壁纸阿 :em05
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
联系:

Re: ^_^,圈圈终于全部搞定了

#15

帖子 月下叹逍遥 » 2011-04-08 11:10

:em01
浮生七十今三十,从此凄惶未可知
回复