SEARCH

Enter your search query in the box above ^, or use the forum search tool.

You are not logged in.

#7026 2014-02-03 10:35:53

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Didier-T and I were wondering if it's possible to add a graphical effect in the Flip-Flap lua clock; we mean the real movement of "Flip-Flap" like the old clock ?

Wow, that would be amazing! I was wondering the very same thing yesterday while checking a few FlipFlap clocks.

Offline

Be excellent to each other!

#7027 2014-02-03 11:30:46

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Anyone has these scripts?

http://ubuntuforums.org/showthread.php? … ost8782789

I don't want to join the Ubuntu forum just for this.

Offline

#7028 2014-02-03 11:38:55

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

ragamatrix wrote:

Hello;
@mrpeachy I've got 2 little questions:
In the chronograph.lua script I think I got a little bug with febuary month... ?--> http://s8.postimg.org/agwcd5pc1/bug_feb.jpg
Didier-T and I were wondering if it's possible to add a graphical effect in the Flip-Flap lua clock; we mean the real movement of "Flip-Flap" like the old clock ? http://pix.tdct.org/upload/original/1391419999.jpg big_smile

I have help for the first.  This works fine: 2014_02_03_08_17_51_352x352_Sector11.jpg

chrono_mix.lua

--[[ multiple analogue clocks by mrpeachy - 18 Jun 2012
 21 Jun 2012 - Chronograph modifications by Sector11
 22 Jun 2012 - again with mrpeachy's help day names, numbers and month names
 23 Jun 2012 - crono.lua by mrprachy - modified by Sector11 23/24 Jun 2012
 24 Jun 2012 - crono_mix - combination of Cronograph.lua and modified crono.lua

use in conkyrc

lua_load /path/crono_mix.lua
lua_draw_hook_pre main
TEXT


-- INDEX (use find with):

-- ###### 12 OR 24 CLOCK FACE
-- SET BORDER OPTIONS ######  ALL CLOCKS

-- ### START CLOCK A ######################################
-- MARKS AROUND CLOCK A -- Large Main 24 HR Clock
-- CLOCK A HOUR HAND
-- CLOCK A MINUTE HAND SETUP
-- CLOCK A SECOND HAND SETUP
-- CLOCK A ###### 24 HR TIME

-- ### START DIAL B ### Top - Week Day Names Dial #########
-- ### START DIAL C ### Right - Month Names Dial ##########
-- ### START DIAL D ### Left - Day Numbers Dial ###########

-- ### START CLOCK E ######################################
-- MARKS AROUND CLOCK E -- Bottom - 12 HR Clock
-- CLOCK E HOUR HAND
-- CLOCK E MINUTE HAND SETUP
-- CLOCK E SECOND HAND SETUP
-- CLOCK E ###### 12 HR TIME
]]

--[[ TO GET MONTH NAME WHER THE HOUR # IS FOR THAT MONTH
 mrpeachy wrote:

    the numbers are drawn using a for loop somewhere, like this

    for i=1,12 do
    calculate position of number
    move_to(x,y)
    show_text(i)
    end

    change it to something like this

    for i=1,12 do
    calculate position of number
      if i==month_number then
      move_to(x,y)
      show_text(month_number)
      else
      move_to(x,y)
      show_text(i)
      end
    end ]]


require 'cairo'

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)
cr = cairo_create(cs)
local extents=cairo_text_extents_t:create()
tolua.takeownership(extents)
-- ### SETTINGS AREA ######################################
-- ###### 12 OR 24 CLOCK FACE #############################
local clock_type_A=24 -- Large Main 24 HR Clock
local clock_type_E=12 -- Bottom - 12 HR Clock

-- ###### CLOCK SETTINGS ##################################
-- SET BORDER OPTIONS FOR "CLOCKS" ########################
local clock_border_width=0
-- set color and alpha for clock border
local cbr,cbg,cbb,cba=1,1,1,1  -- full opaque white
-- gap from clock border to minute marks
local b_to_m=1

-- ########################################################
-- ### START CLOCK A ######################################
-- MARKS AROUND CLOCK A -- Large Main 24 HR Clock
local number_marks_A=24
-- set mark length
local m_length_A=0
-- set mark width
local m_width_A=0
-- set mark line cap type
local m_cap=CAIRO_LINE_CAP_ROUND
-- set mark color and alpha,red blue green alpha
local mr,mg,mb,ma=1,1,1,1-- opaque white
-- SETUP HOUR HANDS
-- CLOCK A HOUR HAND
-- set length of hour hand
hh_length_A=130
-- set hour hand width
hh_width_A=3
-- set hour hand line cap
hh_cap=CAIRO_LINE_CAP_ROUND
-- set hour hand color
hhr,hhg,hhb,hha=1,1,1,1-- fully opaque white
-- SETUP MINUTE HANDS
-- CLOCK A MINUTE HAND SETUP
-- set length of minute hand
mh_length_A=145
-- set minute hand width
mh_width_A=2
-- set minute hand line cap
mh_cap=CAIRO_LINE_CAP_ROUND
-- set minute hand color
mhr,mhg,mhb,mha=1,1,1,1-- fully opaque white
-- SETUP SECOND HANDS
-- CLOCK A SECOND HAND SETUP
-- set length of seconds hand
sh_length_A=160
-- set hour hand width
sh_width_A=1
-- set hour hand line cap
sh_cap=CAIRO_LINE_CAP_ROUND
-- set seconds hand color
shr,shg,shb,sha=1,0,0,1-- fully opaque red
-- CLOCK A ###### 24 HR TIME
-- CLOCK SETTINGS
clock_radius=200
clock_centerx=175
clock_centery=175
-- DRAWING CODE
-- DRAW BORDER
cairo_set_source_rgba (cr,cbr,cbg,cbb,cba)
cairo_set_line_width (cr,clock_border_width)
cairo_arc (cr,clock_centerx,clock_centery,clock_radius,0,2*math.pi)
cairo_stroke (cr)
-- DRAW MARKS
-- stuff that can be moved outside of the loop, needs only be set once
-- calculate end and start radius for marks
m_end_rad=clock_radius-b_to_m
m_start_rad=m_end_rad-m_length_A
-- set line cap type
cairo_set_line_cap  (cr, m_cap)
-- set line width
cairo_set_line_width (cr,m_width_A)
-- set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
-- START LOOP FOR HOUR MARKS
for i=1,number_marks_A do
-- drawing code using the value of i to calculate degrees
-- calculate start point for 12/24 hour mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*(360/number_marks_A))
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- set start point for line
cairo_move_to (cr,clock_centerx+x,clock_centery+y)
-- calculate end point for 12/24 hour mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*(360/number_marks_A))
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- set path for line
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- draw the line
cairo_stroke (cr)
end-- of for loop
-- HOUR MARKS
-- TIME CALCULATIONS CLOCK A
if clock_type_A==12 then
hours=tonumber(os.date("%I"))
-- convert hours to seconds
h_to_s=hours*60*60
elseif clock_type_A==24 then
hours=tonumber(os.date("%H"))
-- convert hours to seconds
h_to_s=hours*60*60
end
minutes=tonumber(os.date("%M"))
-- convert minutes to seconds
m_to_s=minutes*60
-- get current seconds
seconds=tonumber(os.date("%S"))
-- DRAW HOUR HAND
-- get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
-- calculate degrees for each second
hsec_degs=hsecs*(360/(60*60*clock_type_A))-- use equation ~ eliminate decimals
-- set radius to calculate hand points
radius=hh_length_A
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of hour hand
point=(math.pi/180)*hsec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes and draw line
cairo_set_line_width (cr,hh_width_A)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap  (cr, hh_cap)
cairo_stroke (cr)
-- DRAW MINUTE HAND
-- get minutes and seconds just as seconds
msecs=m_to_s+seconds
-- calculate degrees for each second
msec_degs=msecs*0.1
-- set radius to calculate hand points
radius=mh_length_A
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of minute hand
point=(math.pi/180)*msec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes and draw line
cairo_set_line_width (cr,mh_width_A)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap  (cr, mh_cap)
cairo_stroke (cr)
--[[ DRAW SECOND HAND
-- calculate degrees for each second
sec_degs=seconds*6
-- set radius to calculate hand points
radius=sh_length_A
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of seconds hand
point=(math.pi/180)*sec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes
cairo_set_line_width (cr,sh_width_A)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap  (cr, sh_cap)
cairo_stroke (cr) ]]
-- POSITION FOR TEXT HOUR NUMBERS
local center_x=175
local center_y=175
local radius=160
-- FONT
cairo_select_font_face (cr, "CorporateMonoExtraBold", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 10)
cairo_set_source_rgba (cr,1,1,1,1)
-- TABLE OF TEXT -- in order
text_days={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23",}
for i=1,24 do
-- OUTTER POINTS POSTION FOR TEXT
local point=(math.pi/180)*((360/24)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
-- CALCULATE CENTRE OF TEXT
local text=text_days[i]--gets text from table
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
-- INNER POINTS POSITION, radius smaller than text circle
local radius=150
for i=1,24 do
local point=(math.pi/180)*((360/24)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
cairo_arc (cr,center_x+x,center_y+y,1,0,2*math.pi)
cairo_stroke (cr)
end
-- ### END CLOCK A ########################################

-- ########################################################
-- ### START DIAL B ### Top - Week Day Names Dial #########
-- days of week
-- positioning
local center_x=175
local center_y=95
local radius=50
cairo_select_font_face (cr, "CorporateMonoExtraBold", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 10)
cairo_set_source_rgba (cr,1,1,1,1)
-- table holds text you want to see in order
text_days={"SUN","MON","TUE","WED","THR","FRI","SAT",}
-- draw days
local tx_deg=30
for i=1,7 do
start=((360/7)*(i-1))-(tx_deg/2)
circlewriting (text_days[i], "CorporateMonoExtraBold", 10, radius, center_x, center_y, {0xffffff,1}, start, start+tx_deg)
end
--draw points, radius smaller than text circle

local radius=45
for i=1,7 do
local point=(math.pi/180)*((360/7)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
cairo_arc (cr,center_x+x,center_y+y,1,0,2*math.pi)
cairo_stroke (cr)
end
--draw hand pointing to current day
local hand_length=40--radius for this calculation
local day_number=tonumber(os.date("%w"))
local point=(math.pi/180)*((360/7)*(day_number))
local x=0+hand_length*(math.sin(point))
local y=0-hand_length*(math.cos(point))
cairo_move_to (cr,center_x,center_y)
cairo_line_to (cr,center_x+x,center_y+y)
cairo_stroke (cr)
-- ### END CLOCK B ########################################

-- ########################################################
-- ### START DIAL C ### Right - Month Names Dial ##########
-- DIAL POSITION FOR TEXT
local center_x=260
local center_y=175
local radius=45
cairo_select_font_face (cr, "CorporateMonoExtraBold", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 10)
cairo_set_source_rgba (cr,1,1,1,1)
-- table holds text you want to see in order
text_days={"DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV",}
-- draw days
local tx_deg=20
for i=1,12 do
start=((360/12)*(i-1))-(tx_deg/2)
circlewriting (text_days[i], "CorporateMonoExtraBold", 10, radius, center_x, center_y, {0xffffff,1}, start, start+tx_deg)
end
--draw points, radius smaller than text circle

local radius=40
for i=1,12 do
local point=(math.pi/180)*((360/12)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
cairo_arc (cr,center_x+x,center_y+y,1,0,2*math.pi)
cairo_stroke (cr)
end
--draw hand pointing to current day
local hand_length=35 --radius for this calculation
local day_number=tonumber(os.date("%m"))
local point=(math.pi/180)*((360/12)*(day_number))
local x=0+hand_length*(math.sin(point))
local y=0-hand_length*(math.cos(point))
cairo_move_to (cr,center_x,center_y)
cairo_line_to (cr,center_x+x,center_y+y)
cairo_stroke (cr)
-- ### END CLOCK C ########################################

-- ### 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
local center_x=95
local center_y=175
local radius=50
cairo_select_font_face (cr, "CorporateMonoExtraBold", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 8)
cairo_set_source_rgba (cr,1,1,1,1)
for i=1,number_days do
-- OUTTER POINTS POSTION FOR TEXT
local point=(math.pi/180)*((360/number_days)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
-- CALCULATE CENTRE OF TEXT
local text=i
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
-- INNER POINTS POSITION, radius smaller than text circle
local radius=40
for i=1,number_days do
local point=(math.pi/180)*((360/number_days)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
cairo_arc (cr,center_x+x,center_y+y,1,0,2*math.pi)
cairo_stroke (cr)
end
-- DRAW HAND -- snaps to current DAY
local this_day=tonumber(os.date("%d"))
local hand_length=35--radius for this calculation
local point=(math.pi/180)*((360/number_days)*(this_day-1))
local x=0+hand_length*(math.sin(point))
local y=0-hand_length*(math.cos(point))
cairo_move_to (cr,center_x,center_y)
cairo_line_to (cr,center_x+x,center_y+y)
cairo_stroke (cr)
-- ### END CLOCK D ########################################

-- ########################################################
-- ### START CLOCK E ######################################
-- MARKS AROUND CLOCK E -- Bottom - 12 HR Clock
local number_marks_E=12
-- set mark length
local m_length_E=0
-- set mark width
local m_width_E=0
-- set mark line cap type
local m_cap=CAIRO_LINE_CAP_ROUND
-- set mark color and alpha,red blue green alpha
local mr,mg,mb,ma=1,1,0,1-- opaque white
-- SETUP HOUR HAND
-- CLOCK E HOUR HAND
-- set length of hour hand
hh_length_E=22
-- set hour hand width
hh_width_E=4
-- set hour hand line cap
hh_cap=CAIRO_LINE_CAP_ROUND
-- set hour hand color
hhr,hhg,hhb,hha=0.3,  0.6,  0.9  ,1 -- fully opaque lightblue
-- SETUP MINUTE HAND
-- CLOCK E MINUTE HAND SETUP
-- set length of minute hand
mh_length_E=37
-- set minute hand width
mh_width_E=2
-- set minute hand line cap
mh_cap=CAIRO_LINE_CAP_ROUND
-- set minute hand color
mhr,mhg,mhb,mha=0.0,  0.6,  0.9  ,1 -- fully opaque lightblue
-- SETUP SECOND HAND
-- CLOCK E SECOND HAND SETUP
-- set length of seconds hand
sh_length_E=40
-- set hour hand width
sh_width_E=1
-- set hour hand line cap
sh_cap=CAIRO_LINE_CAP_ROUND
-- set seconds hand color
shr,shg,shb,sha=1,0,0,1 -- fully opaque red
-- CLOCK E ###### 12 HR TIME
-- CLOCK SETTINGS
clock_radius=45
clock_centerx=175
clock_centery=260
-- DRAWING CODE
-- DRAW BORDER
cairo_set_source_rgba (cr,cbr,cbg,cbb,cba)
cairo_set_line_width (cr,clock_border_width)
cairo_arc (cr,clock_centerx,clock_centery,clock_radius,0,2*math.pi)
cairo_stroke (cr)
-- DRAW MARKS
-- stuff that can be moved outside of the loop, needs only be set once
-- calculate end and start radius for marks
m_end_rad=clock_radius-b_to_m
m_start_rad=m_end_rad-m_length_E
-- set line cap type
cairo_set_line_cap  (cr, m_cap)
-- set line width
cairo_set_line_width (cr,m_width_E)
-- set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
-- START LOOP FOR SECOND MARKS
for i=1,number_marks_E do
-- drawing code using the value of i to calculate degrees
-- calculate start point for 12/24 hour mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*(360/number_marks_E))
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- set start point for line
cairo_move_to (cr,clock_centerx+x,clock_centery+y)
-- calculate end point for 12/24 hour mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*(360/number_marks_E))
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- set path for line
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- draw the line
cairo_stroke (cr)
end-- of for loop
-- TIME CALCULATIONS CLOCK E
if clock_type_E==12 then
hours=tonumber(os.date("%I"))
-- convert hours to seconds
h_to_s=hours*60*60
elseif clock_type_E==24 then
hours=tonumber(os.date("%H"))
-- convert hours to seconds
h_to_s=hours*60*60
end
minutes=tonumber(os.date("%M"))
-- convert minutes to seconds
m_to_s=minutes*60
-- get current seconds
seconds=tonumber(os.date("%S"))
-- DRAW HOUR HAND
-- get hours minutes seconds as just seconds and draw it
hsecs=h_to_s+m_to_s+seconds
-- calculate degrees for each second
hsec_degs=hsecs*(360/(60*60*clock_type_E))-- use equation ~ eliminate decimals
-- set radius to calculate hand points
radius=hh_length_E
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of minute hand
point=(math.pi/180)*hsec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes and draw line
cairo_set_line_width (cr,hh_width_E)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap  (cr, hh_cap)
cairo_stroke (cr)
-- DRAW MINUTE HAND
-- get minutes and seconds as seconds
msecs=m_to_s+seconds
-- calculate degrees for each second
msec_degs=msecs*0.1
-- set radius to calculate hand points
radius=mh_length_E
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of minute hand
point=(math.pi/180)*msec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes and draw line
cairo_set_line_width (cr,mh_width_E)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap  (cr, mh_cap)
cairo_stroke (cr)
-- DRAW SECOND HAND
-- calculate degrees for each second
sec_degs=seconds*6
-- set radius to calculate hand points
radius=sh_length_E
-- set start line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
-- calculate coordinates for end of seconds hand
point=(math.pi/180)*sec_degs
x=0+radius*(math.sin(point))
y=0-radius*(math.cos(point))
-- describe the line we will draw
cairo_line_to (cr,clock_centerx+x,clock_centery+y)
-- set up line attributes
cairo_set_line_width (cr,sh_width_E)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap  (cr, sh_cap)
cairo_stroke (cr)
-- POSITION FOR TEXT HOUR NUMBERS
local center_x=175
local center_y=260
local radius=45
-- FONT
cairo_select_font_face (cr, "CorporateMonoExtraBold", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 10)
cairo_set_source_rgba (cr,1,1,1,1)
-- TABLE OF TEXT -- in order
--text_days={"12","01","02","03","04","05","06","07","08","09","10","11",}
-- FOR A 12 HOUR CLOCK WITH THE NUMBERS 13-00
text_days={"00","13","14","15","16","17","18","19","20","21","22","23",}
for i=1,12 do
-- OUTTER POINTS POSTION FOR TEXT
local point=(math.pi/180)*((360/12)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
-- CALCULATE CENTRE OF TEXT
local text=text_days[i]--gets text from table
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
-- INNER POINTS POSITION, radius smaller than text circle
local radius=32
for i=1,12 do
local point=(math.pi/180)*((360/12)*(i-1))
local x=0+radius*(math.sin(point))
local y=0-radius*(math.cos(point))
cairo_arc (cr,center_x+x,center_y+y,1,0,2*math.pi)
cairo_stroke (cr)
end
-- ### END CLOCK E ########################################

-- ########################################################
end-- end main function

function circlewriting(text, font, fsize, radi, horiz, verti, text_color, start, finish)
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
cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fsize)
cairo_set_source_rgba (cr,rgb_to_r_g_b(text_color));
local inum=string.len(text)
local deg=(finish-start)/(inum)
local r2d=(math.pi/180)
	for i=1,inum do
	local cha=string.sub(text,i,i)
	local interval=(r2d*(start+(deg*(i-1))))
	local txs=0+radi*(math.sin(interval))
	local tys=0-radi*(math.cos(interval))
	cairo_move_to (cr, txs+horiz, tys+verti);
	cairo_rotate (cr, interval)
	cairo_show_text (cr, cha)
	cairo_stroke (cr)
	cairo_rotate (cr, -interval)
	end
end--of function

For the flip-flap - nice idea, but I can't help there.


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7029 2014-02-03 11:58:23

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

Snap wrote:

Anyone has these scripts?

http://ubuntuforums.org/showthread.php? … ost8782789

I don't want to join the Ubuntu forum just for this.

I tried that a long time ago.  Nice stuff ... wlourf writes some really great stuff.

Calendar Wheel at wlourf's blog.

I'm a member at Ubuntu, just for conky, and I hate how I have to jump through hoops to sign in every time I go.

Here's the files: calendar_wheel_1.3a.tar.gz and calendar_wheel_1.4.1.tar.gz

Enjoy ...


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7030 2014-02-03 12:00:47

ragamatrix
#! Junkie
From: Earth
Registered: 2012-12-05
Posts: 286

Re: Conky v1.9 Thread

Sector11
Thanks for the part of your code, I just replace this

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

in mine and now it's correct !

Offline

#7031 2014-02-03 12:41:50

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

ragamatrix wrote:

Sector11
Thanks for the part of your code, I just replace this
{snip}
in mine and now it's correct !

More than welcome my friend.  We help each other, we all gain.


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7032 2014-02-03 14:24:27

mrpeachy
20% cooler
From: The Everfree Forest
Registered: 2009-11-08
Posts: 3,460

Re: Conky v1.9 Thread

ah yes, its one of those really strange leap years when February has 56 days!
nothing wrong with the code at all  O:)   ]:D

Offline

#7033 2014-02-03 14:34:28

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

Now that's a quote that should go down in conky/lua history.
lol  lol 56 days  lol  lol

On 03 Feb 2014 mrpeachy wrote:

ah yes, its one of those really strange leap years when February has 56 days!
nothing wrong with the code at all  O:)   ]:D


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7034 2014-02-04 00:23:13

foxanthony
New Member
Registered: 2014-02-03
Posts: 1

Re: Conky v1.9 Thread

I figured a couple of things out that I couldn't find with Google, so I thought I'd share them:

VLC artist & title in Conky: There's a way to do this with xlsclients, but I found that when I used a different desktop from the one that VLC was playing on this information would disappear from Conky. Using qdbus solves that.

${exec qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep "xesam:artist:" | cut -c -14 --complement | cut -c 1-75 | tr -d '\200-\377'}

This is for the artist. For the title change "xesam:artist:" to "xesam:title:" and the cut that immediately follows that will need to be -13 instead of -14. The next cut limits the length to 75 characters and the final tr removes non-ascii characters, I have some classical pieces that need those two edits.

The other thing I figured out, with a ton of help from unix.stackexchange, is DSP load. If you don't know what that is, it probably doesn't apply to you. It's digital signal processing and in audio production it generally matters more than cpu load. If Jack is your audio server, then this is very much worth having.

All Conky needs is:

${tail /tmp/buffer 1 1}

But you need to have a script running that runs jack_cpu_load, and puts the relevant data into stdbuf:

#! /bin/bash

# DSP output script to use in Conky

stdbuf -oL jack_cpu_load | grep --line-buffered "jack DSP load" | stdbuf -oL cut -d' ' -f4 | stdbuf -oL sed -e 's/.\{4\}$//' | while read line; do echo "$line" > /tmp/buffer; done &

Just put that in your autostart and you're good to go. I hope this helps some people out.

Offline

#7035 2014-02-04 08:34:33

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

@ foxanthony

Cool! Thank you.  The VLC part is very interesting, but the DSP load part is already a must have for me. Great stuff!

Offline

#7036 2014-02-04 08:49:10

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Sector11 wrote:
Snap wrote:

Anyone has these scripts?

http://ubuntuforums.org/showthread.php? … ost8782789

I don't want to join the Ubuntu forum just for this.

I tried that a long time ago.  Nice stuff ... wlourf writes some really great stuff.

Thanks a bunch, Sector11!

Yes, I'm exploring the wlourf stuff lately. Actually, I'm starting to discover the conky and lua geniuses out there... Hi, mrpeachy!  cool

I'm a member at Ubuntu, just for conky, and I hate how I have to jump through hoops to sign in every time I go.

Aaaah.... the price to pay to be the real conkyman. LOL.

Last edited by Snap (2014-02-04 08:49:24)

Offline

#7037 2014-02-04 11:55:39

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

This might sound stupid, but.... I'd like to recover the plain default #! conky for nostalgic/historical purposes. When I started messing around with conkys I fully modified it and now it's a totally different thing. I'd like to have it as stock as part of my (constantly growing) conkys collection.

Is it available anywhere in the forum?

Thanks.

Offline

#7038 2014-02-04 14:36:56

dk75
#! Junkie
Registered: 2012-06-14
Posts: 250

Re: Conky v1.9 Thread

/etc/conky/conky.conf

# Conky, a system monitor, based on torsmo
#
# Any original torsmo code is licensed under the BSD license
#
# All code written since the fork of torsmo is licensed under the GPL
#
# Please see COPYING for details
#
# Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
# Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

alignment top_left
background no
border_width 1
cpu_avg_samples 2
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 DejaVu Sans Mono:size=12
gap_x 5
gap_y 60
minimum_size 5 5
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_class Conky
own_window_type desktop
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no

TEXT
${scroll 16 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
$hr
${color grey}Name              PID   CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

Debian Sid (Minted) x86_64/3.12-10, Conky 2.0_pre, Xorg 7.7/1.15.0, KDE 4.11.5, Intel X3100
Lenovo T61, HITACHI HTS722010K9SA00 100GB, WDC_WD5000BEVT 500GB
Linux user No.: 483055 | Conky Pitstop

Offline

#7039 2014-02-04 17:01:48

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

@ dk75  lol lol lol

I was just going to say, maybe not on the forums but it is in: /etc/conky/conky.conf

snip

But that's the "installed" conky default that conky uses if ~/.conkyrc doesn't exist.  However I think Snap wanted the default #! conky  ...

#! Default out of the box conky: /etc/skel/.conkyrc

Last edited by Sector11 (2014-02-04 17:02:19)


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7040 2014-02-04 23:07:04

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

That's it! The #! one. Not the fugly "your conky doesn't work, buddy" emergency conky.  tongue

Thanks, Sector11.

Offline

#7041 2014-02-04 23:46:02

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

Snap wrote:

That's it! The #! one. Not the fugly "your conky doesn't work, buddy" emergency conky.  tongue

Thanks, Sector11.

lol lol lol lol lol Love that description

... my "default" ~/.conkyrc aka: your conky doesn't work, buddy conky: 2014_02_04_20_31_06_253x764_Sector11.jpg


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7042 2014-02-04 23:56:40

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Hey, nice idea. It's a minor punishment for you conky code mistakes. Gonna edit mine.

Hey, what about a "your conky doesn't work, buddy" conky contest. LOL

Of course they must be acceptably crude, ugly and punishing.  tongue

Last edited by Snap (2014-02-04 23:57:09)

Offline

#7043 2014-02-05 03:11:13

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

Snap wrote:

Hey, nice idea. It's a minor punishment for you conky code mistakes. Gonna edit mine.

Hey, what about a "your conky doesn't work, buddy" conky contest. LOL

Of course they must be acceptably crude, ugly and punishing.  tongue

It has evolved from:

You got this conky by Error

404: Conky not found

to simply: Wrong conky

Because while the first is correct, it's my error ... not conkys...
The second is wrong, it is a conky ...
Simple and to the point.

No need for a contest, I've seen (and created) crude, ugly and punishing conkys over the years.  big_smile


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

#7044 2014-02-05 04:07:59

mrpeachy
20% cooler
From: The Everfree Forest
Registered: 2009-11-08
Posts: 3,460

Re: Conky v1.9 Thread

Sector11 wrote:

No need for a contest, I've seen (and created) crude, ugly and punishing conkys over the years.  big_smile

LOL

Offline

#7045 2014-02-05 08:11:40

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

I've seen (and created) crude, ugly and punishing conkys over the years.

I'm a conky rookie, but I think I can do that too. LOL

Offline

#7046 2014-02-05 09:29:02

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Screenshot_02052014_10_15_18_AM.jpg

Offline

#7047 2014-02-05 12:21:37

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Is it possible to make conky to do do a smooth scrolling?

${scroll xx whatever} actually scrolls something but isn't smooth because of the update interval. I tried even 0.01 sec and runs fast but laggy kinda flickering. I guess conky is not fast enough because in theory (correct me if I'm wrong) 24 fps should make a smooth to the eye kinda movie sort of image. That's 0.04 sec, but as I said, even setting update to 0.01 which is 100 fps looks sluggy.

Any script or something for this? It's nothing really important, but I'm so curious.

Thanks in advance.

Last edited by Snap (2014-02-05 12:23:10)

Offline

#7048 2014-02-05 12:45:31

Snap
#! Die Hard
Registered: 2013-10-22
Posts: 567

Re: Conky v1.9 Thread

Yet another question. This time about the alpha of the displayed text.

The top text row displays the text with the alpha set here:

use_xft yes
xftfont rieslin:size=12
xftalpha 0.2

2014_02_05_1391603193_305x89_scrot.png

But the bottom row displays it all solid without any alpha. Of course it's the same color. How to make the whole text having the same transparency?

PS, I forgot the code:

${voffset 650}${offset 65}${color2}${time %A}, ${time %d} ${time  %B} ${time %Y}
${goto 80}${font rieslin:size=16}${color2}${time %H:%M}

Last edited by Snap (2014-02-05 12:50:28)

Offline

#7049 2014-02-05 13:35:29

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

That's using an existing conky  ... 2 points for effort.

Me ... I wouldn't bother ... well maybe ... I would:
2014_02_05_10_17_35_223x529_Sector11.jpg
... move a few conky commands around ...  lol  lol  lol


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

Be excellent to each other!

#7050 2014-02-05 13:55:05

Sector11
#!'er to BL'er
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 15,667
Website

Re: Conky v1.9 Thread

@ Snap
Someone did a writeup on that someplace ... can't remember who - where.

I think it goes like this - you set the alpha here above TEXT, where it should be:

use_xft yes
xftfont rieslin:size=12
xftalpha 0.2

and then here:

${voffset 650}${offset 65}${color2}${time %A}, ${time %d} ${time  %B} ${time %Y}
${goto 80}${font rieslin:size=16}${color2}${time %H:%M}

... you changed it: the size is different.

Only "rieslin:size=12" will have alpha set.

BTW: you can convert 4 conky commands into 1:

${time %A, %d %B %Y}

Also just a tip - before you get real comfortable with that ${offset} command please read: goto/offset/voffset and Spacing in Conky. I've seen many people get tripped up with that one.  Certainly it has it's use, but you should be aware of it's main weakness.


·  ↓   ↓   ↓   ↓   ↓   ↓  ·
BunsenLabs Forums now Open for Registration
·  ↑   ↑   ↑   ↑   ↑   ↑  · BL ModSquad

Offline

Board footer

Powered by FluxBB

Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.
Server: acrobat

Debian Logo