Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
mrpeachy
seems that you have discovered the power of tables and for loops!
i would recommend moving some lines out of the for loops though
Thank you for the tips.
After I got it looking the way I wanted originally I had over 6000 lines of code in there and my cpu was running almost 15%.:-k
Then I got to the loops and tables section of your tutorial and cut out a LOT of lines. After I posted that, I figured out how to modify your calendar function to show the next months calendar. Now I think I have all unnecessary stuff moved out of the loops.
Still a work in progress , and I will repost the lua after a little cleaning up but, long story short:
From over 6000 lines to (currently) 2043, and cpu from 15% to around 7%.\\:D/
So, once again... Thank You!!!
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
42dorian
why don't you put it in your sig along side your blog link?
that is/was a good idea
my blog hasnt been updated in a very long time
there you go, along with some other stuff
v
@stylintile
you are welcome
im pondering a new section on io operations and string editing
lets see if i can muster the willpower to do it :)
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
mrpeachy
that is/was a good idea
my blog hasnt been updated in a very long time
there you go, along with some other stuff
v
Awesome! Now, some day I'm going to get up the concentration long enough to actually READ the damned thing :P I've been focussing on the physical world the past little while and neglected the coded world entirely :P
But, Awesome none the less, sir! Easy to find for everyone now!
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
mrpeachy
@stylintile
you are welcome
im pondering a new section on io operations and string editing
lets see if i can muster the willpower to do it :)
I promise to wait patiently ... (--toe tapping--) ... (--sigh--) ... are you done yet?:biggrin:
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
mrpeachy
one way would be
Code:
jerusalem_hours=conky_parse("${tztime Asia/Jerusalem %l}")
jerusalem_minutes=conky_parse("${tztime Asia/Jerusalem %M}")
jerusalem_seconds=conky_parse("${tztime Asia/Jerusalem %S}")
although i am sure there is a native lua way to do the same thing
i would have to look it up however
then just take the clock code and repeat it 4 times, should be easy enough
here is some clock code i wrote repeated 4 times, local time, jerusalem, london and paris
http://s10.postimage.org/v6d6s7gat/S...7_20_35_51.jpg
and here is the code that gave the above
Code:
--[[multiple analogue clocks by mrpeachy
in conkyrc
lua_load /path/clock.lua
lua_draw_hook_pre main
TEXT
]]
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)
--#########################################################################################################
--CLOCK SETTINGS
--set border options
clock_border_width=2
--set color and alpha for clock border
cbr,cbg,cbb,cba=1,1,1,1--full opaque white
--gap from clock border to hour marks
b_to_m=5
--set mark length
m_length=10
--set mark line width
m_width=3
--set mark line cap type
m_cap=CAIRO_LINE_CAP_ROUND
--set mark color and alpha,red blue green alpha
mr,mg,mb,ma=1,1,1,1--opaque white
--seconds hand setup
--set length of seconds hand
sh_length=50
--set hand width
sh_width=1
--set hand line cap
sh_cap=CAIRO_LINE_CAP_ROUND
--set seconds hand color
shr,shg,shb,sha=1,0,0,1--fully opaque red
--minues hand setup
--set length of minutes hand
mh_length=50
--set hand width
mh_width=3
--set hand line cap
mh_cap=CAIRO_LINE_CAP_ROUND
--set minute hand color
mhr,mhg,mhb,mha=1,1,1,1--fully opaque white
--hour hand setup
--set length of hour hand
hh_length=30
--set hand width
hh_width=5
--set hand line cap
hh_cap=CAIRO_LINE_CAP_ROUND
--set hour hand color
hhr,hhg,hhb,hha=1,1,1,1--fully opaque white
--CURRENT TIME
clock_radius=60
clock_centerx=100
clock_centery=100
--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
--set line cap type
cairo_set_line_cap (cr, m_cap)
--set line width
cairo_set_line_width (cr,m_width)
--set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
--start for loop
for i=1,12 do
--drawing code uisng the value of i to calculate degrees
--calculate start point for 12 oclock mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*30)
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 oclock mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*30)
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###########################
hours=tonumber(os.date("%I"))--12 hour clock
--convert hours to seconds
h_to_s=hours*60*60
minutes=tonumber(os.date("%M"))
--convert minutes to seconds
m_to_s=minutes*60
--get current seconds
seconds=tonumber(os.date("%S"))
--draw hours hand ############################
--get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
--calculate degrees for the hand each second
hsec_degs=hsecs*(360/(60*60*12))--im using an equation instead of typing the calculation straight in because the result of 360/43200 gave us decimal places
--set radius we will use to calculate hand points
radius=hh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap (cr, hh_cap)
cairo_stroke (cr)
--draw minutes hand
--get minutes and seconds just as seconds
msecs=m_to_s+seconds
--calculate degrees for the hand each second
msec_degs=msecs*0.1
--set radius we will use to calculate hand points
radius=mh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap (cr, mh_cap)
cairo_stroke (cr)
--draw seconds hand #############################
--calculate degrees for the hand each second
sec_degs=seconds*6
--set radius we will use to calculate hand points
radius=sh_length
--set our starting 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)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap (cr, sh_cap)
cairo_stroke (cr)
--###################################################
--ALTERNATE TIME 1 ##################################
--CLOCK SETTINGS
clock_radius=60
clock_centerx=240
clock_centery=100
--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
--set line cap type
cairo_set_line_cap (cr, m_cap)
--set line width
cairo_set_line_width (cr,m_width)
--set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
--start for loop
for i=1,12 do
--drawing code uisng the value of i to calculate degrees
--calculate start point for 12 oclock mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*30)
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 oclock mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*30)
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###########################
hours=tonumber(conky_parse("${tztime Asia/Jerusalem %l}"))
--convert hours to seconds
h_to_s=hours*60*60
minutes=tonumber(conky_parse("${tztime Asia/Jerusalem %M}"))
--convert minutes to seconds
m_to_s=minutes*60
--get current seconds
seconds=tonumber(conky_parse("${tztime Asia/Jerusalem %S}"))
--draw hours hand ############################
--get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
--calculate degrees for the hand each second
hsec_degs=hsecs*(360/(60*60*12))--im using an equation instead of typing the calculation straight in because the result of 360/43200 gave us decimal places
--set radius we will use to calculate hand points
radius=hh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap (cr, hh_cap)
cairo_stroke (cr)
--draw minutes hand
--get minutes and seconds just as seconds
msecs=m_to_s+seconds
--calculate degrees for the hand each second
msec_degs=msecs*0.1
--set radius we will use to calculate hand points
radius=mh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap (cr, mh_cap)
cairo_stroke (cr)
--draw seconds hand #############################
--calculate degrees for the hand each second
sec_degs=seconds*6
--set radius we will use to calculate hand points
radius=sh_length
--set our starting 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)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap (cr, sh_cap)
cairo_stroke (cr)
--###################################################
--ALTERNATE TIME 2 ##################################
--CLOCK SETTINGS
clock_radius=60
clock_centerx=380
clock_centery=100
--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
--set line cap type
cairo_set_line_cap (cr, m_cap)
--set line width
cairo_set_line_width (cr,m_width)
--set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
--start for loop
for i=1,12 do
--drawing code uisng the value of i to calculate degrees
--calculate start point for 12 oclock mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*30)
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 oclock mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*30)
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###########################
hours=tonumber(conky_parse("${tztime Europe/London %l}"))
--convert hours to seconds
h_to_s=hours*60*60
minutes=tonumber(conky_parse("${tztime Europe/London %M}"))
--convert minutes to seconds
m_to_s=minutes*60
--get current seconds
seconds=tonumber(conky_parse("${tztime Europe/London %S}"))
--draw hours hand ############################
--get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
--calculate degrees for the hand each second
hsec_degs=hsecs*(360/(60*60*12))--im using an equation instead of typing the calculation straight in because the result of 360/43200 gave us decimal places
--set radius we will use to calculate hand points
radius=hh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap (cr, hh_cap)
cairo_stroke (cr)
--draw minutes hand
--get minutes and seconds just as seconds
msecs=m_to_s+seconds
--calculate degrees for the hand each second
msec_degs=msecs*0.1
--set radius we will use to calculate hand points
radius=mh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap (cr, mh_cap)
cairo_stroke (cr)
--draw seconds hand #############################
--calculate degrees for the hand each second
sec_degs=seconds*6
--set radius we will use to calculate hand points
radius=sh_length
--set our starting 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)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap (cr, sh_cap)
cairo_stroke (cr)
--###################################################
--ALTERNATE TIME 2 ##################################
--CLOCK SETTINGS
clock_radius=60
clock_centerx=520
clock_centery=100
--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
--set line cap type
cairo_set_line_cap (cr, m_cap)
--set line width
cairo_set_line_width (cr,m_width)
--set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
--start for loop
for i=1,12 do
--drawing code uisng the value of i to calculate degrees
--calculate start point for 12 oclock mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*30)
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 oclock mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*30)
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###########################
hours=tonumber(conky_parse("${tztime Europe/Paris %l}"))
--convert hours to seconds
h_to_s=hours*60*60
minutes=tonumber(conky_parse("${tztime Europe/Paris %M}"))
--convert minutes to seconds
m_to_s=minutes*60
--get current seconds
seconds=tonumber(conky_parse("${tztime Europe/Paris %S}"))
--draw hours hand ############################
--get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
--calculate degrees for the hand each second
hsec_degs=hsecs*(360/(60*60*12))--im using an equation instead of typing the calculation straight in because the result of 360/43200 gave us decimal places
--set radius we will use to calculate hand points
radius=hh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap (cr, hh_cap)
cairo_stroke (cr)
--draw minutes hand
--get minutes and seconds just as seconds
msecs=m_to_s+seconds
--calculate degrees for the hand each second
msec_degs=msecs*0.1
--set radius we will use to calculate hand points
radius=mh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap (cr, mh_cap)
cairo_stroke (cr)
--draw seconds hand #############################
--calculate degrees for the hand each second
sec_degs=seconds*6
--set radius we will use to calculate hand points
radius=sh_length
--set our starting 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)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap (cr, sh_cap)
cairo_stroke (cr)
--###################################################
--#########################################################################################################
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
end-- end main function
sorry for taking so long to reply. that helped a treat. thanks very much :D :D
1 Attachment(s)
Re: Post your .conkyrc files w/ screenshots
It's me again.
I made a couple of minor changes. Changed the Ubuntu plaque, and replaced most of the line borders with rectangles, cleaned up the code to get rid of excess comments, made the changes recommended by mrpeachy, and re-indexed. It even makes a little more sense to me now. :D
I'm only posting the lua and screenshot for the right monitor since nothing else has been changed (yet). However, I'm sure I'll come up with something. :-k Otherwise I'll get bored and start over.
Tips, suggestions and/or comments are welcome. :biggrin:
text.lua:
Code:
--this is a lua script for use in conky
require 'cairo'
require 'imlib2'
--===========================
-- Index
--===========================
-- 1) Functions
-- 1a) Main
-- 1b) Terminal Command
-- 1c) Picture Display
-- 1d) Color Conversion
-- 1e) Text Display
-- 1f) Lines (Borders) Display
-- 1g) Background Rings (ringout)
-- 1h) Meter Rings (ringout2)
-- 1i) Meter Rings (ringout3)
-- 1j) Rectangles (unfilled)
-- 1k) Rectangles (filled)
-- 2) Borders (Lines & Rectangles)
-- 2a) Holidays
-- 2b) Special Days
-- 2c) Schedule
-- 2d) To Do
-- 2e) System Information Top
-- 2f) System Information Bottom
-- 2g) Rhythmbox
-- 2h) Sobriety
-- 2i) Fortune
-- 2j) Meters
-- 2k) Logo
-- 2l) Date & Time
-- 2m) Meters: Horizontal Lines
-- 3) Rings
-- 3a) Eye blink
-- 3b) Ubuntu Logo
-- 3c) clock background
-- 3d) Meter Backgrounds (Background)
-- 3e) Meters Rings (Foreground)
--============================================
-- Text Output
--============================================
-- 4) Holidays
-- 5) Special Days
-- 6) Schedule
-- 7) To Do
-- 8) System Information
-- 8a)Variables (Top Half)
-- 8b) Variables (Bottom Half)
-- 8c)Display
-- 8c) Display (Top)
-- 8c1)Top Headers
-- 8c2)Top Labels
-- 8c3)Top Info (Column 1)
-- 8c4)Top Info (Column 2)
-- 8c5)Top Info (Column 3)
-- 8d)Display (Bottom)
-- 8d1)Bottom Labels
-- 8d2)Bottom Info (Column 1)
-- 8d3)Bottom Info (Column 2)
-- 8d4)Bottom Info (Column 3)
-- 8d5)Bottom Info (Column 4)
-- 9) Rhythmbox
-- 9a) Top Curlique
-- 9b) Bottom Curlique
-- 9c) Bottom Curlique (Running)
--10) Sobriety
--11) Eye Blink
--12) Fortune
--13) Logo Text
--14) Meters Text
-- 14a)Variables
-- 14b)Labels
-- 14c)Info
--15) Calendar
-- 15a)Month Display
-- 15b)Calendar Function (Current Month)
-- 15c)Next Month Calendar Function
-- 15d)Next Month Calendar (Month Name Display)
--16) Clock
--17) Clock Numbers
--18) End of Script
--===========================
-- 1) Functions
--===========================
-----------
-- 1a) 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)
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
if updates>5 then
-----------------------
-- 1b) Terminal Command
-----------------------
function os.capture(cmd, raw)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
if raw then return s end
s = string.gsub(s, '^%s+', '')
s = string.gsub(s, '%s+$', '')
s = string.gsub(s, '[\n\r]+', ' ')
return s
end
-----------------------
-- 1c) Picture Display
-----------------------
function image(im)
x=nil
x=(im.x or 0)
y=nil
y=(im.y or 0)
w=nil
w=(im.w or 0)
h=nil
h=(im.h or 0)
file=nil
file=tostring(im.file)
if file==nil then print("set image file") end
---------------------------------------------
local show = imlib_load_image(file)
if show == nil then return end
imlib_context_set_image(show)
if tonumber(w)==0 then
width=imlib_image_get_width()
else
width=tonumber(w)
end--if
if tonumber(h)==0 then
height=imlib_image_get_height()
else
height=tonumber(h)
end--if
imlib_context_set_image(show)
local scaled=imlib_create_cropped_scaled_image(0, 0, imlib_image_get_width(), imlib_image_get_height(), width, height)
imlib_free_image()
imlib_context_set_image(scaled)
imlib_render_image_on_drawable(x, y)
imlib_free_image()
show=nil
end--function image ###
--===========================
--Color conversion
--===========================
local function col(c,a)
return ( (c/0x10000) % 0x100)/255,( (c/0x100) % 0x100)/255,(c % 0x100)/255,1
end--local function
-------------------
-- 1d) Text Display
-------------------
function out(tx)--Text--###
c=nil
c=(tx.c or 0xffffff)
a=nil
a=(tx.a or 1)
f=nil
f=(tx.f or "mono")
fs=nil
fs=(tx.fs or 12)
x=nil
x=(tx.x or 0)
y=nil
y=(tx.y or 0)
txt=nil
txt=(tx.txt or "set txt")
fw=nil
fw=(tx.fw or CAIRO_FONT_WEIGHT_NORMAL)
cairo_select_font_face (cr, f, CAIRO_FONT_SLANT_NORMAL, fw);
cairo_set_font_size (cr, fs)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,x,y)
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--function out--Text-- ###
------------------------------
-- 1e) Lines (Borders) Display
------------------------------
function lineout(ln)--Lines--###
c=nil
c=(ln.c or 0xffffff)
a=nil
a=(ln.a or 1)
lw=nil
lw=(ln.lw or 3)
lc=nil
lc=(ln.lc or CAIRO_LINE_CAP_BUTT)
strtx=nil
strtx=(ln.strtx or 0)
strty=nil
strty=(ln.strty or 0)
enx=nil
enx=(ln.enx or 50)
eny=nil
eny=(ln.eny or 50)
---------------------------------------
cairo_set_line_width (cr,lw)
cairo_set_line_cap (cr, lc)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,strtx,strty)
cairo_line_to (cr,enx,eny)
cairo_stroke (cr)
end--function lineout ###
-----------------------
-- 1f) Background Rings
-----------------------
function ringout(rn)--Background Rings--###
c=nil
c=(rn.c or 0xffffff)
a=nil
a=(rn.a or 1)
wid=nil
wid=(rn.wid or 3)
cx=nil
cx=(rn.cx or 100)
cy=nil
cy=(rn.cy or 100)
rad=nil
rad=(rn.rad or 50)
start=nil
start=(rn.start or 90)
endangle=nil
endangle=(rn.endangle or 90)
cmnd=nil
cmnd=(rn.cmnd or 75)
max_value=nil
max_value=(rn.max_value or 100)
---------------------------------------
cairo_set_line_width (cr,wid)
cairo_set_source_rgba (cr,col(c,a))
cairo_arc (cr,cx,cy,rad,(start-90)*(math.pi/180),((((cmnd/max_value)*((endangle)-(start))+(start))-90))*(math.pi/180))
cairo_stroke (cr)
end--function ringout ###
------------------
-- 1g) Meter Rings
------------------
function ringout2(rn2)--Meter Rings--###
c=nil
c=(rn2.c or 0xffffff)
a=nil
a=(rn2.a or 1)
wid=nil
wid=(rn2.wid or 3)
cx=nil
cx=(rn2.cx or 100)
cy=nil
cy=(rn2.cy or 100)
rad=nil
rad=(rn2.rad or 10)
start=nil
start=(rn2.start or 0)
endang=nil
endang=(rn2.endang or 360)
---------------------------------------
cairo_set_line_width (cr,wid)
cairo_set_source_rgba (cr,col(c,a))
cairo_arc (cr,cx,cy,rad,(start-90)*(math.pi/180),(endang-90)*(math.pi/180))
cairo_stroke (cr)
end--function ringout2 ###
------------------
-- 1h) Meter Rings
------------------
function ringout3(rn3)--Background Rings--###
c=nil
c=(rn3.c or 0xffffff)
a=nil
a=(rn3.a or 1)
wid=nil
wid=(rn3.wid or 3)
cx=nil
cx=(rn3.cx or 100)
cy=nil
cy=(rn3.cy or 100)
rad=nil
rad=(rn3.rad or 50)
start=nil
start=(rn3.start or 0)
endangle=nil
endangle=(rn3.endangle or 360)
cmnd=nil
cmnd=(rn3.cmnd or 75)
max_value=nil
max_value=(rn3.max_value or 100)
---------------------------------------
cairo_set_line_width (cr,wid)
cairo_set_source_rgba (cr,col(c,a))
cairo_arc_negative (cr,cx,cy,rad,(start-90)*(math.pi/180),((((cmnd/max_value)*((endangle)-(start))+(start))-90))*(math.pi/180))
cairo_stroke (cr)
end--function ringout3 ###
------------------
-- 1h) Rectangles
------------------
function rectout(rct)--Lines--###
c=nil
c=(rct.c or 0xffffff)
a=nil
a=(rct.a or 1)
lw=nil
lw=(rct.lw or 3)
tlx=nil
tlx=(rct.tlx or 100)
tly=nil
tly=(rct.tly or 100)
rec_width=nil
rec_width=(rct.rec_width or 50)
rec_height=nil
rec_height=(rct.rec_height or 50)
---------------------------------------
cairo_set_line_width (cr,lw)
cairo_rectangle (cr,tlx,tly,rec_width,rec_height)
cairo_set_source_rgba (cr,col(c,a))
cairo_stroke (cr)
end--function rectout ###
function frectout(frct)--Lines--###
c=nil
c=(frct.c or 0xffffff)
a=nil
a=(frct.a or 1)
lw=nil
lw=(frct.lw or 3)
tlx=nil
tlx=(frct.tlx or 100)
tly=nil
tly=(frct.tly or 100)
rec_width=nil
rec_width=(frct.rec_width or 50)
rec_height=nil
rec_height=(frct.rec_height or 50)
---------------------------------------
cairo_set_line_width (cr,lw)
cairo_rectangle (cr,tlx,tly,rec_width,rec_height)
cairo_set_source_rgba (cr,col(c,a))
cairo_fill (cr)
end--function frectout ###
--===========================
-- 2) Lines
--===========================
---------------
-- 2a) Holidays
---------------
lineout({strtx=5,enx=300,strty=43,eny=43,c=0x848484,a=1,lw=3})
lineout({strtx=299,enx=299,strty=42,eny=715,c=0x848484,a=1,lw=3})
lineout({strtx=5,enx=300,strty=716,eny=716,c=0x848484,a=1,lw=3})
-------------------
-- 2b) Special Days
-------------------
lineout({strtx=5,enx=300,strty=778,eny=778,c=0x848484,a=1,lw=3})
lineout({strtx=5,enx=300,strty=1013,eny=1013,c=0x848484,a=1,lw=3})
lineout({strtx=299,enx=299,strty=778,eny=1013,c=0x848484,a=1,lw=3})
---------------
-- 2c) Schedule
---------------
rectout({tlx=324,tly=43,rec_width=280,rec_height=212,c=0x848484,a=1,lw=3})
------------
-- 2d) To Do
------------
rectout({tlx=324,tly=296,rec_width=280,rec_height=177,c=0x848484,a=1,lw=3})
-----------------------------
-- 2e) System Information Top
-----------------------------
rectout({tlx=620,tly=43,rec_width=684,rec_height=132,c=0x848484,a=1,lw=3})
lineout({strtx=850,enx=850,strty=43,eny=176,c=0x848484,a=1,lw=3})
lineout({strtx=1117,enx=1117,strty=43,eny=176,c=0x848484,a=1,lw=3})
--------------------------------
-- 2f) System Information Bottom
--------------------------------
rectout({tlx=620,tly=202,rec_width=684,rec_height=85,c=0x848484,a=1,lw=3})
lineout({strtx=812,enx=812,strty=202,eny=288,c=0x848484,a=1,lw=3})
lineout({strtx=1015,enx=1015,strty=202,eny=288,c=0x848484,a=1,lw=3})
lineout({strtx=1155,enx=1155,strty=202,eny=288,c=0x848484,a=1,lw=3})
----------------
-- 2g) Rhythmbox
----------------
rectout({tlx=1321,tly=43,rec_width=279,rec_height=212,c=0x848484,a=1,lw=3})
----------------
-- 2g) Sobriety
----------------
rectout({tlx=1321,tly=296,rec_width=279,rec_height=177,c=0x848484,a=1,lw=3})
--------------
-- 2h) Fortune
--------------
rectout({tlx=323,tly=526,rec_width=1278,rec_height=55,c=0x848484,a=1,lw=3})
-------------
-- 2i) Meters
-------------
lineout({strtx=1619,enx=1925,strty=44,eny=44,c=0x848484,a=1,lw=3})
lineout({strtx=1621,enx=1621,strty=44,eny=1013,c=0x848484,a=1,lw=3})
lineout({strtx=1619,enx=1925,strty=1013,eny=1013,c=0x848484,a=1,lw=3})
-----------
-- 2j) Logo
-----------
lineout({strtx=709,enx=1220,strty=410,eny=410,c=0x395a62,a=1,lw=105})
rectout({tlx=706,tly=353,rec_width=514,rec_height=112,c=0xffffff,a=1,lw=2})
rectout({tlx=707,tly=354,rec_width=512,rec_height=110,c=0xf0f0f0,a=1,lw=2})
rectout({tlx=708,tly=355,rec_width=510,rec_height=108,c=0xdbdbdb,a=1,lw=2})
rectout({tlx=695,tly=342,rec_width=535,rec_height=133,c=0x848484,a=1,lw=5})
rectout({tlx=701,tly=348,rec_width=524,rec_height=121,c=0xb8b8b8,a=1,lw=5})
rectout({tlx=709,tly=356,rec_width=508,rec_height=106,c=0xb8b8b8,a=1,lw=2})
lineout({strtx=693,enx=710,strty=340,eny=357,c=0x000000,a=1,lw=0.5})
lineout({strtx=693,enx=710,strty=477,eny=460,c=0x000000,a=1,lw=0.5})
lineout({strtx=1216,enx=1233,strty=357,eny=340,c=0x000000,a=1,lw=0.5})
lineout({strtx=1216,enx=1233,strty=460,eny=477,c=0x000000,a=1,lw=0.5})
------------------
-- 2k) Date & Time
------------------
rectout({tlx=323,tly=630,rec_width=1278,rec_height=383,c=0x848484,a=1,lw=3})
-------------------------------
-- 2l) Meters: Horizontal Lines
-------------------------------
lineout({strtx=1688,enx=1925,strty=76,eny=76,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=90,eny=90,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=191,eny=191,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=205,eny=205,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=306,eny=306,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=320,eny=320,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=421,eny=421,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=435,eny=435,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=536,eny=536,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=550,eny=550,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=651,eny=651,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=665,eny=665,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=766,eny=766,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=780,eny=780,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=881,eny=881,c=0x2e434e,a=1,lw=10})
lineout({strtx=1688,enx=1925,strty=895,eny=895,c=0x2e434e,a=1,lw=10})
--===========================
-- 3) Rings
--===========================
----------------
-- 3a) Eye blink
----------------
ringout2({cx=1343,cy=404,wid=2,rad=6,c=0xb8b8b9,a=1,start=140,endang=220})--eye blink
ringout2({cx=1364,cy=404,wid=2,rad=6,c=0xb8b8b9,a=1,start=140,endang=220})--eye blink
ringout2({cx=1556,cy=404,wid=2,rad=6,c=0xb8b8b9,a=1,start=140,endang=220})--eye blink
ringout2({cx=1577,cy=404,wid=2,rad=6,c=0xb8b8b9,a=1,start=140,endang=220})--eye blink
ringout2({cx=1354,cy=410,wid=2,rad=25,c=0xb8b8b9,a=1,start=0,endang=360})--eye blink
ringout2({cx=1567,cy=410,wid=2,rad=25,c=0xb8b8b9,a=1,start=0,endang=360})--eye blink
------------------
-- 3b) Ubuntu Logo
------------------
ringout2({cx=1448,cy=824,wid=3,rad=121,c=0x848484,a=1,start=0,endang=360})--outer line
ringout2({cx=1448,cy=824,wid=90,rad=45,c=0x395a62,a=0.2,start=0,endang=360})--inner circle
ringout2({cx=1448,cy=824,wid=90,rad=45,c=0x395a62,a=0.2,start=0,endang=360})--inner circle
ringout2({cx=1448,cy=824,wid=26,rad=105,c=0x577d82,a=0.2,start=0,endang=360})--outer circle
ringout2({cx=1448,cy=824,wid=26,rad=105,c=0x577d82,a=0.2,start=0,endang=360})--outer circle
ringout2({cx=1448,cy=824,wid=18,rad=44,c=0xdcdcdc,a=1,start=100,endang=200})--white
ringout2({cx=1448,cy=824,wid=18,rad=44,c=0xf6973a,a=1,start=220,endang=320})--orange
ringout2({cx=1448,cy=824,wid=18,rad=44,c=0x232323,a=1,start=340,endang=440})--black
ringout2({cx=1483,cy=771,wid=20,rad=10,c=0xf6973a,a=1,start=0,endang=360})--orange
ringout2({cx=1483,cy=877,wid=20,rad=10,c=0x232323,a=1,start=0,endang=360})--black
ringout2({cx=1385,cy=824,wid=20,rad=10,c=0xdcdcdc,a=1,start=0,endang=360})--white
-----------------------
-- 3c) clock background
-----------------------
ringout2({cx=477,cy=824,wid=3,rad=123,c=0x848484,a=1,start=0,endang=360})
ringout2({cx=477,cy=824,wid=82,rad=50,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=82,rad=50,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=26,rad=106,c=0x577d82,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=26,rad=106,c=0x577d82,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=20,rad=10,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=18,rad=9,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=16,rad=8,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=14,rad=7,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=12,rad=6,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=10,rad=5,c=0x395a62,a=0.2,start=0,endang=360})
ringout2({cx=477,cy=824,wid=8,rad=4,c=0x395a62,a=0.2,start=0,endang=360})
------------------------
-- 3d) Meter backgrounds
------------------------
ringout2({cx=1689,cy=126,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=241,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=356,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=471,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=586,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=701,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=816,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=931,wid=10,rad=50,c=0x2d414a,a=1,start=60,endang=360})
ringout2({cx=1689,cy=126,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=241,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=356,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=471,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=586,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=701,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=816,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
ringout2({cx=1689,cy=931,wid=10,rad=35,c=0x2d414a,a=1,start=50,endang=360})
------------------
-- 3e) Meter Rings
------------------
ringout({cx=1689,cy=126,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${fs_used_perc /}"))})
ringout({cx=1689,cy=241,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${memperc}"))})
ringout({cx=1689,cy=356,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=4,cmnd=tonumber(conky_parse("${loadavg 1}"))})
ringout({cx=1689,cy=471,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=4,cmnd=tonumber(conky_parse("${loadavg 3}"))})
ringout({cx=1689,cy=586,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${cpu cpu1}"))})
ringout({cx=1689,cy=701,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${cpu cpu3}"))})
ringout({cx=1689,cy=816,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${upspeedf eth0}"))})
ringout({cx=1689,cy=931,wid=10,rad=50,c=0x75b3d1,a=1,start=60,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${upspeedf wlan0}"))})
ringout({cx=1689,cy=126,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${fs_used_perc /}"))})
ringout({cx=1689,cy=241,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${swapperc}"))})
ringout({cx=1689,cy=356,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=4,cmnd=tonumber(conky_parse("${loadavg 2}"))})
ringout({cx=1689,cy=471,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${cpu cpu0}"))})
ringout({cx=1689,cy=586,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${cpu cpu2}"))})
ringout({cx=1689,cy=701,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${cpu cpu4}"))})
ringout({cx=1689,cy=816,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${downspeedf eth0}"))})
ringout({cx=1689,cy=931,wid=10,rad=35,c=0x75b3d1,a=1,start=50,endangle=360,max_value=100,cmnd=tonumber(conky_parse("${downspeedf wlan0}"))})
--===========================
-- 4) Holidays
--===========================
out({x=15,y=37,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="2012 Holidays"})
-------------------
-- 1d) Text Display
-------------------
hdate=tonumber(os.date("%j"))--today is daynumb 172
--mthtable day of year as number. eg:January 1st is 1, and December 31st is 366 (in 2012)
holtable={1,16,24,33,43,45,51,51,52,71,77,92,97,99,100,
113,126,134,140,148,149,149,166,169,186,204,
247,253,255,260,261,272,282,290,294,305,309,
316,327,328,331,342,360,366}
holtableb={
"01-01 Sun New Year's Day",
"01-16 Mon Martin Luther King Day",
"01-24 Tue Belly Laugh Day",
"02-02 Thu Groundhog Day",
"02-12 Sun Lincoln's Birthday",
"02-14 Tue Valentine's Day",
"02-20 Mon Presidents Day",
"02-20 Mon Washington's Birthday",
"02-21 Tue Mardi Gras Carnival",
"03-11 Sun Daylight Saving (Start)",
"03-17 Sat St- Patrick's Day",
"04-01 Sun AprilFool's Day",
"04-06 Fri Good Friday",
"04-08 Sun Easter",
"04-09 Mon Easter Monday",
"04-22 Sun Earth Day",
"05-05 Sat Cinco de Mayo",
"05-13 Sun Mother's Day",
"05-19 Sat Armed Forces Day",
"05-27 Sun Pentecost",
"05-28 Mon Memorial Day",
"05-28 Mon Pentecost Monday",
"06-14 Thu Flag Day",
"06-17 Sun Father's Day",
"07-04 Wed Independence Day",
"07-22 Sun Parents' Day",
"09-03 Mon Labor Day",
"09-09 Sun Grandparents' Day",
"09-11 Tue Patriot Day",
"09-16 Sun Stepfamily Day",
"09-17 Mon Citizenship Day",
"09-28 Fri Native American Day",
"10-08 Mon Columbus Day",
"10-16 Tue Boss's Day",
"10-20 Sat Sweetest Day",
"10-31 Wed Halloween",
"11-04 Sun Daylight Saving (End)",
"11-11 Sun Veterans' Day",
"11-22 Thu Thanksgiving",
"11-23 Fri Black Friday",
"11-26 Mon Cyber Monday",
"12-07 Fri Pearl Harbor Remembrance Day",
"12-25 Tue Christmas Day",
"12-31 Mon New Year's Eve"
}
holentries=#holtable
cairo_set_font_size (cr, 14)
cairo_select_font_face (cr, "Ubuntu Mono", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
for i=1,tonumber(holentries) do
holdate=tonumber(holtable[i])
if
holdate < hdate
then
c=0x275166
elseif
holdate==hdate
then
c=0xffd700
else
c=0x75b3d1
end--if
y=60+((i-1)*14)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,10,y)
cairo_show_text (cr,holtableb[i])
cairo_stroke (cr)
end--for
--===========================
-- 5) SPECIAL DAYS
--===========================
out({x=15,y=770,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Special Days"})
--mthtable day of year as number. eg:January 1st is 1, and December 31st is 366 (in 2012)
specdaytable={3,6,24,48,139,177,204,224,268,290,310,313,326}
specdaytableb={
"01-03 Tue Cathy's AA Anniversary",
"01-06 Fri Nathan's Birthday",
"01-24 Tue My Birthday (1961)",
"02-17 Fri Don's Birthday (1952)",
"05-18 Fri Brittany's Graduation",
"06-25 Mon Tony's Birthday (1977)",
"07-22 Sun Tig's Birthday (1972)",
"08-11 Sat Pooh's Birthday (1970)",
"09-24 Mon Brittany's Birthday",
"10-16 Tue Cathy & Don's Anniversary",
"11-05 Mon My 2nd AA Anniversary (2010)",
"11-08 Thu Butch's Birthday (1953)",
"11-21 Wed Cathy's Birthday (1952)"
}
specdayentries=#specdaytable
cairo_set_font_size (cr, 14)
cairo_select_font_face (cr, "Ubuntu Mono", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
for i=1,tonumber(specdayentries) do
specdate=tonumber(specdaytable[i])
if
specdate < hdate
then
c=0x275166
elseif
specdate==hdate
then
c=0xffd700
else
c=0x75b3d1
end--if
y=795+((i-1)*14)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,10,y)
cairo_show_text (cr,specdaytableb[i])
cairo_stroke (cr)
end--for
--===========================
-- 6) Schedule
--===========================
out({x=335,y=37,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Schedule"})
scheduletable={
os.capture("sed -n '1p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '2p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '3p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '4p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '5p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '6p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '7p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '8p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '9p' /home/dale/Documents/schedule.txt"),
os.capture("sed -n '10p' /home/dale/Documents/schedule.txt")
}
c=0x75b3d1
a=1
numschedlinesc=tonumber(os.capture("sed -n '$=' /home/dale/Documents/schedule.txt"))
numschedlinesb=numschedlinesc-1
scheduleentries=#scheduletable
cairo_set_font_size (cr, 14)
cairo_select_font_face (cr, "Ubuntu Mono", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_source_rgba (cr,col(c,a))
for i=1,tonumber(scheduleentries) do
y=60+((i-1)*14)
cairo_move_to (cr,330,y)
cairo_show_text (cr,scheduletable[i])--(cr,datatableb[i].." "..datatable[i])
cairo_stroke (cr)
end--for
--===========================
-- 7)To Do
--===========================
-----------------------------
-- 7a) Variables (Text Calls)
-----------------------------
out({x=335,y=290,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="To Do"})
todotable={os.capture("sed -n '1p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '2p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '3p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '4p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '5p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '6p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '7p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '8p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '9p' /home/dale/Documents/todo.txt"),
os.capture("sed -n '10p' /home/dale/Documents/todo.txt")
}
c=0x75b3d1
a=1
todoentries=#todotable
cairo_set_font_size (cr, 14)
cairo_select_font_face (cr, "Ubuntu Mono", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_source_rgba (cr,col(c,a))
for i=1,tonumber(todoentries) do
y=313+((i-1)*14)
cairo_move_to (cr,330,y)
cairo_show_text (cr,todotable[i])
cairo_stroke (cr)
end--for
--===========================
-- 8) System Information
--===========================
---------------------------
-- 8a) Variables (Top Half)
---------------------------
freq=conky_parse("${freq_g}")
volume=conky_parse("${mixer}")
OpSys1=os.capture("cat /etc/issue.net")
OpSys2=os.capture("sed -n '82p' /boot/config-2.6.38-15-generic | cut -c 47-51")
kernel_name=os.capture("sed -n '5p' /usr/src/linux-headers-2.6.38-15-generic/Makefile | cut -c 8-35")
kernel=conky_parse("${kernel}")
conkyversion=conky_parse("${conky_version}")
denv1=os.capture("env | grep 'GDMSESSION' | cut -c12-")
denv2=os.capture("gnome-session --version | cut -c14-")
wmgr1=os.capture("wmctrl -m | grep 'Name' | cut -c7-")
wmgr2=os.capture("compiz --version | cut -c7-")
GWIP=conky_parse("${gw_ip}")
net_type=conky_parse("${wireless_mode wlan0}")
net_name=conky_parse("${wireless_essid wlan0}")
gateway=conky_parse("${gw_iface}")
sigqual=conky_parse("${wireless_link_qual wlan0}")
sigmax=conky_parse("${wireless_link_qual_max wlan0}")
sigperc=conky_parse("${wireless_link_qual_perc wlan0}")
------------------------------
-- 8b) Variables (Bottom Half)
------------------------------
cputemp1=os.capture("sensors | awk '/Core 0/{print $3}' | cut -c2-8")
cputemp2=os.capture("sensors | awk '/Core 1/{print $3}' | cut -c2-8")
cputemp3=os.capture("sensors | awk '/Core 2/{print $3}' | cut -c2-8")
cputemp4=os.capture("sensors | awk '/Core 3/{print $3}' | cut -c2-8")
fanspeed=os.capture("sensors | grep 'fan1' | cut -c 13-21")
uptime=conky_parse("${uptime_short}")
GPU=os.capture("sensors | grep 'temp1' | cut -c 15-21")
southbridge=os.capture("sensors | grep 'temp2' | cut -c 15-21")
systemp=os.capture("sensors | grep 'temp3' | cut -c 15-21")
totproc=conky_parse("${processes}")
runproc=conky_parse("${running_processes}")
topname1=conky_parse("${top name 1}")
topname2=conky_parse("${top name 2}")
topname3=conky_parse("${top name 3}")
topname4=conky_parse("${top name 4}")
topname5=conky_parse("${top name 5}")
topcpu1=conky_parse("${top cpu 1}")
topcpu2=conky_parse("${top cpu 2}")
topcpu3=conky_parse("${top cpu 3}")
topcpu4=conky_parse("${top cpu 4}")
topcpu5=conky_parse("${top cpu 5}")
topmemname1=conky_parse("${top_mem name 1}")
topmemname2=conky_parse("${top_mem name 2}")
topmemname3=conky_parse("${top_mem name 3}")
topmemname4=conky_parse("${top_mem name 4}")
topmemname5=conky_parse("${top_mem name 5}")
topmem1=conky_parse("${top_mem mem 1}")
topmem2=conky_parse("${top_mem mem 2}")
topmem3=conky_parse("${top_mem mem 3}")
topmem4=conky_parse("${top_mem mem 4}")
topmem5=conky_parse("${top_mem mem 5}")
--------------------
-- 8c) Display (Top)
--------------------
datayadd=12 -- y=datay+(dataadd*1) use 1 or more
datax=630
dataxadd1=228
dataxadd2=497
dataxadd3=191
datay=82 -- y=datay or
datayadd2=148
dataxadd4=395
dataxadd5=535
-------------------
-- 8c1) Top Headers
-------------------
out({x=datax,y=datay-45,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="System Information"})
out({x=datax+303,y=datay-45,c=0xffffff,a=1,f="Anonymous Pro",fs=10,txt="Home build with Intel(R) Core(TM) i5-2400 CPU running @"})
out({x=datax+595,y=datay-45,c=0xffffff,a=1,f="Anonymous Pro",fs=10,txt=freq.." GHz"})
out({x=datax,y=datay+114,c=0x75b3d1,a=1,f="Ubuntu",fs=21,txt="Temps & Performance"})
------------------
-- 8c2) Top Labels
------------------
out({x=datax+53,y=datay-10,c=0xffd700,a=1,f="Anonymous Pro",fs=20,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Hardware"})
out({x=datax+316,y=datay-10,c=0xffd700,a=1,f="Anonymous Pro",fs=20,fw=CAIRO_FONT_WEIGHT_BOLD,txt="System"})
out({x=datax+536,y=datay-10,c=0xffd700,a=1,f="Anonymous Pro",fs=20,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Network"})
---------------------------
-- 8c3) Top Info (Column 1)
---------------------------
out({x=datax,y=datay+(datayadd*1),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="MoBo:"})
out({x=datax+72,y=datay+(datayadd*1),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="MSI Z68MA-ED55 (MS-7676)"})
out({x=datax,y=datay+(datayadd*2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Installed Memory:"})
out({x=datax+185,y=datay+(datayadd*2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="8 GiB"})
out({x=datax,y=datay+(datayadd*3),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="HDD Size:"})
out({x=datax+173,y=datay+(datayadd*3),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="320 GiB"})
out({x=datax,y=datay+(datayadd*4),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Architecture:"})
out({x=datax+175,y=datay+(datayadd*4),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="x86_64"})
out({x=datax,y=datay+(datayadd*5),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="GPU:"})
out({x=datax+91,y=datay+(datayadd*5),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Integrated Sandy Bridge"})
out({x=datax,y=datay+(datayadd*6),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Audio Controller:"})
out({x=datax+145,y=datay+(datayadd*6),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Cougar Point"})
out({x=datax,y=datay+(datayadd*7),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Volume:"})
out({x=datax+182,y=datay+(datayadd*7),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=volume.."%"})
---------------------------
-- 8c4) Top Info (Column 2)
---------------------------
out({x=datax+(dataxadd1),y=datay+(datayadd),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Uptime:"})
out({x=datax+(dataxadd1)+209,y=datay+(datayadd),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=uptime})
out({x=datax+(dataxadd1),y=datay+(datayadd*2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="OS:"})
out({x=datax+(dataxadd1)+126,y=datay+(datayadd*2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=OpSys1})
out({x=datax+(dataxadd1)+225,y=datay+(datayadd*2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=OpSys2})
out({x=datax+(dataxadd1),y=datay+(datayadd*3),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Kernel Name:"})
out({x=datax+(dataxadd1)+106,y=datay+(datayadd*3),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=kernel_name})
out({x=datax+(dataxadd1),y=datay+(datayadd*4),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Kernel Version:"})
out({x=datax+(dataxadd1)+162,y=datay+(datayadd*4),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=kernel})
out({x=datax+(dataxadd1),y=datay+(datayadd*5),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Conky Version:"})
out({x=datax+(dataxadd1)+224,y=datay+(datayadd*5),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=conkyversion})
out({x=datax+(dataxadd1),y=datay+(datayadd*6),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Desktop Environment:"})
out({x=datax+(dataxadd1)+181,y=datay+(datayadd*6),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=denv1})
out({x=datax+(dataxadd1)+218,y=datay+(datayadd*6),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=denv2})
out({x=datax+(dataxadd1),y=datay+(datayadd*7),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Window Manager:"})
out({x=datax+(dataxadd1)+186,y=datay+(datayadd*7),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=wmgr1})
out({x=datax+(dataxadd1)+224,y=datay+(datayadd*7),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=wmgr2})
---------------------------
-- 8c5) Top Info (Column 3)
---------------------------
out({x=datax+(dataxadd2),y=datay+(datayadd),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Gateway IP:"})
out({x=datax+(dataxadd2)+109,y=datay+(datayadd),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=GWIP})
out({x=datax+(dataxadd2),y=datay+(datayadd*2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Network Type:"})
out({x=datax+(dataxadd2)+121,y=datay+(datayadd*2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=net_type})
out({x=datax+(dataxadd2),y=datay+(datayadd*3),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Network Name:"})
out({x=datax+(dataxadd2)+117,y=datay+(datayadd*3),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=net_name})
out({x=datax+(dataxadd2),y=datay+(datayadd*4),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Gateway Interface:"})
out({x=datax+(dataxadd2)+144,y=datay+(datayadd*4),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="eth0"})
out({x=datax+(dataxadd2),y=datay+(datayadd*5),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Wireless Quality:"})
out({x=datax+(dataxadd2)+154,y=datay+(datayadd*5),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=sigqual})
out({x=datax+(dataxadd2),y=datay+(datayadd*6),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Wireless Max:"})
out({x=datax+(dataxadd2)+154,y=datay+(datayadd*6),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=sigmax})
out({x=datax+(dataxadd2),y=datay+(datayadd*7),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Signal Strength:"})
out({x=datax+(dataxadd2)+146,y=datay+(datayadd*7),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=sigperc.."%"})
-----------------------
-- 8d) Display (Bottom)
-----------------------
---------------------
-- 8d1) Bottom Labels
---------------------
out({x=datax+76,y=datay+(datayadd2)-12,c=0xffd700,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU"})
out({x=datax+271,y=datay+(datayadd2)-12,c=0xffd700,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="MoBo"})
out({x=datax+430,y=datay+(datayadd2)-12,c=0xffd700,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Top CPU"})
out({x=datax+574,y=datay+(datayadd2)-12,c=0xffd700,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Top RAM"})
------------------------------
-- 8d2) Bottom Info (Column 1)
------------------------------
out({x=datax,y=datay+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU1 Temperature"})
out({x=datax+140,y=datay+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=cputemp1})
out({x=datax,y=datay+(datayadd2)+(datayadd),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU2 Temperature"})
out({x=datax+140,y=datay+(datayadd2)+(datayadd),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=cputemp2})
out({x=datax,y=datay+(datayadd2)+(datayadd*2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU3 Temperature"})
out({x=datax+140,y=datay+(datayadd2)+(datayadd*2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=cputemp3})
out({x=datax,y=datay+(datayadd2)+(datayadd*3),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU4 Temperature"})
out({x=datax+140,y=datay+(datayadd2)+(datayadd*3),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=cputemp4})
out({x=datax,y=datay+(datayadd2)+(datayadd*4),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU Fan Speed"})
out({x=datax+123,y=datay+(datayadd2)+(datayadd*4),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=fanspeed})
------------------------------
-- 8d3) Bottom Info (Column 2)
------------------------------
out({x=datax+(dataxadd3),y=datay+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="GPU Temp:"})
out({x=datax+(dataxadd3)+149,y=datay+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=GPU})
out({x=datax+(dataxadd3),y=datay+(datayadd)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Southbridge Temp:"})
out({x=datax+(dataxadd3)+149,y=datay+(datayadd)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=southbridge})
out({x=datax+(dataxadd3),y=datay+(datayadd*2)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="System Temp:"})
out({x=datax+(dataxadd3)+149,y=datay+(datayadd*2)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=systemp})
out({x=datax+(dataxadd3),y=datay+(datayadd*3)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Total Processes:"})
out({x=datax+(dataxadd3)+157,y=datay+(datayadd*3)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=totproc})
out({x=datax+(dataxadd3),y=datay+(datayadd*4)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=10,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Running Processes:"})
out({x=datax+(dataxadd3)+164,y=datay+(datayadd*4)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=runproc})
------------------------------
-- 8d4) Bottom Info (Column 3)
------------------------------
out({x=datax+(dataxadd4),y=datay+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topname1})
out({x=datax+(dataxadd4)+90,y=datay+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topcpu1})
out({x=datax+(dataxadd4),y=datay+(datayadd)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topname2})
out({x=datax+(dataxadd4)+90,y=datay+(datayadd)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topcpu2})
out({x=datax+(dataxadd4),y=datay+(datayadd*2)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topname3})
out({x=datax+(dataxadd4)+90,y=datay+(datayadd*2)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topcpu3})
out({x=datax+(dataxadd4),y=datay+(datayadd*3)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topname4})
out({x=datax+(dataxadd4)+90,y=datay+(datayadd*3)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topcpu4})
out({x=datax+(dataxadd4),y=datay+(datayadd*4)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topname5})
out({x=datax+(dataxadd4)+90,y=datay+(datayadd*4)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topcpu5})
------------------------------
-- 8d5) Bottom Info (Column 4)
------------------------------
out({x=datax+(dataxadd5),y=datay+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmemname1})
out({x=datax+(dataxadd5)+100,y=datay+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmem1})
out({x=datax+(dataxadd5),y=datay+(datayadd)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmemname2})
out({x=datax+(dataxadd5)+100,y=datay+(datayadd)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmem2})
out({x=datax+(dataxadd5),y=datay+(datayadd*2)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmemname3})
out({x=datax+(dataxadd5)+100,y=datay+(datayadd*2)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmem3})
out({x=datax+(dataxadd5),y=datay+(datayadd*3)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmemname4})
out({x=datax+(dataxadd5)+100,y=datay+(datayadd*3)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmem4})
out({x=datax+(dataxadd5),y=datay+(datayadd*4)+(datayadd2),c=0x75b3d1,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmemname5})
out({x=datax+(dataxadd5)+100,y=datay+(datayadd*4)+(datayadd2),c=0xb7b7b8,a=1,f="Anonymous Pro",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt=topmem5})
--===========================
-- 9) Rhythmbox
--===========================
out({x=1330,y=37,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Rhythmbox"})
rbox1=(conky_parse("${if_running rhythmbox}1${else}0${endif}"))
rbox2=tonumber(rbox1)
if
rbox2==0
then
out({x=1368,y=125,c=0x75b3d1,a=1,f="Ubuntu",fs=30,txt="Rhythmbox Is"})
out({x=1367,y=160,c=0x75b3d1,a=1,f="Ubuntu",fs=30,txt="Not Currently"})
out({x=1403,y=195,c=0x75b3d1,a=1,f="Ubuntu",fs=30,txt="Running"})
-------------------
-- 9a) Top Curlique
-------------------
ringout2({cx=1363,cy=70,wid=3,rad=15,c=0x848484,a=1,start=155,endang=420})
ringout2({cx=1557,cy=70,wid=3,rad=15,c=0x848484,a=1,start=300,endang=565})
ringout2({cx=1460,cy=70,wid=3,rad=15,c=0x848484,a=1,start=0,endang=360})
lineout({strtx=1369,enx=1454,strty=84,eny=56,c=0x848484,a=1,lw=3})
lineout({strtx=1466,enx=1551,strty=56,eny=84,c=0x848484,a=1,lw=3})
----------------------
-- 9b) Bottom Curlique
----------------------
ringout2({cx=1363,cy=230,wid=3,rad=15,c=0x848484,a=1,start=120,endang=385})
ringout2({cx=1557,cy=230,wid=3,rad=15,c=0x848484,a=1,start=335,endang=240})
ringout2({cx=1460,cy=230,wid=3,rad=15,c=0x848484,a=1,start=0,endang=360})
lineout({strtx=1369,enx=1454,strty=216,eny=244,c=0x848484,a=1,lw=3})
lineout({strtx=1466,enx=1551,strty=244,eny=216,c=0x848484,a=1,lw=3})
end--if
--------------------------------
-- 9c) Bottom Curlique (Running)
--------------------------------
if
rbox2==1
then
ringout2({cx=1363,cy=230,wid=3,rad=15,c=0x848484,a=1,start=155,endang=420})
ringout2({cx=1557,cy=230,wid=3,rad=15,c=0x848484,a=1,start=300,endang=565})
ringout2({cx=1460,cy=230,wid=3,rad=15,c=0x848484,a=1,start=0,endang=360})
lineout({strtx=1369,enx=1454,strty=244,eny=216,c=0x848484,a=1,lw=3})
lineout({strtx=1466,enx=1551,strty=216,eny=244,c=0x848484,a=1,lw=3})
end--if
--===========================
-- 10) Sobriety
--===========================
out({x=1330,y=289,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Sobriety"})
dayasnumber=os.date('%j')
years=os.date('%Y')-2010-1
dayssober=(years*365)+dayasnumber+25+31
yearssober=math.floor(dayssober/365)
monthssober=math.floor((dayssober-365)/30)
days=math.floor(dayssober-(yearssober*365)-(monthssober*30.4))
--------------------------------------------------------------------------------------------
out({x=1345,y=320,c=0x75b3d1,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="I have not had a drink since"})
out({x=1405,y=340,c=0xb7b7b8,a=1,f="Ubuntu",fs=20,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Nov.5,2010"})
out({x=1367,y=360,c=0x75b3d1,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="I have been sober for"})
out({x=1377,y=380,c=0xb7b7b8,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt=years.." Yr "..monthssober.." Mths "..days.." Days"})
out({x=1449,y=400,c=0x75b3d1,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="or"})
out({x=1390,y=420,c=0xb7b7b8,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt=dayssober.." Total Days!"})
out({x=1417,y=440,c=0x75b3d1,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="But now..."})
out({x=1344,y=460,c=0x00ff00,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="I'M ADDICTED TO CONKY!!!"})
out({x=1352,y=415,c=0xb8b8b9,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="."})
out({x=1351,y=427,c=0xb8b8b9,a=1,f="Ubuntu",fs=12,fw=CAIRO_FONT_WEIGHT_BOLD,txt="o"})
out({x=1565,y=415,c=0xb8b8b9,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="."})
out({x=1564,y=427,c=0xb8b8b9,a=1,f="Ubuntu",fs=12,fw=CAIRO_FONT_WEIGHT_BOLD,txt="o"})
--===========================
-- 11) Eye Blink
--===========================
update_num=tonumber(updates)
if update_num==nil then update_num=1 end
if (update_num % 10 == 0) then
reset_num=update_num
end--if
if reset_num==nil then reset_num=1 end
if
(reset_num >0)then
timer_num=tonumber(update_num-reset_num)
end--if
if
timer_num==1
or
timer_num==2
or
timer_num==4
or
timer_num==6
or
timer_num==7
or
timer_num==9
then
out({x=1336,y=412,c=0x00ff00,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="O O"})
out({x=1549,y=412,c=0x00ff00,a=1,f="Ubuntu",fs=18,fw=CAIRO_FONT_WEIGHT_BOLD,txt="O O"})
end--if
--===========================
-- 12) Fortune
--===========================
out({x=336,y=520,c=0x75b3d1,a=1,f="Ubuntu",fs=22,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Fortune"})
--===========================
-- 13) Logo Text
--===========================
out({x=744,y=432,c=0x848484,a=1,f="Caviar Dreams",fs=64,txt="Ubuntu 10.04.4"})
out({x=742,y=430,c=0xdbdbdb,a=1,f="Caviar Dreams",fs=64,txt="Ubuntu 10.04.4"})
--===========================
-- 14) Meters Text
--===========================
-----------------
-- 14a) Variables
-----------------
hddsize=os.capture("sed -n '303p' /home/dale/myconfig.txt | cut -c 31-34")
hddfree=conky_parse("${fs_free /}")
hddperc=conky_parse("${fs_used_perc /}")
homesize=conky_parse("${fs_size /}")
homefree=conky_parse("${fs_free /}")
homeperc=conky_parse("${fs_used_perc /}")
maxram=conky_parse("${memmax}")
freeram=conky_parse("${memfree}")
usedram=conky_parse("${memperc}")
swapsize=conky_parse("${swapmax}")
swapfree=conky_parse("${swapfree}")
swapperc=conky_parse("${swapperc}")
load1=conky_parse("${loadavg 1}")
load2=conky_parse("${loadavg 2}")
load3=conky_parse("${loadavg 3}")
cpuavg=conky_parse("${cpu cpu0}")
cpu1=conky_parse("${cpu cpu1}")
cpu2=conky_parse("${cpu cpu2}")
cpu3=conky_parse("${cpu cpu3}")
cpu4=conky_parse("${cpu cpu4}")
upeth=conky_parse("${upspeedf eth0}")
downeth=conky_parse("${downspeedf eth0}")
upwlan=conky_parse("${upspeedf wlan0}")
downwlan=conky_parse("${downspeedf wlan0}")
--------------
-- 14b) Labels
--------------
datax=1759
datay=123 -- y=datay or
datayadd=115 -- y=datay+(dataadd*1) use 1 or more
internet=(conky_parse("${if_up eth0}1${else}0${endif}"))
net1=tonumber(internet)
wireless=(conky_parse("${if_up wlan0}1${else}0${endif}"))
net2=tonumber(wireless)
out({x=datax-130,y=datay-84,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Meters"})
out({x=datax,y=datay,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Disk/Home"})
out({x=datax,y=datay+(datayadd),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="RAM/Swap"})
out({x=datax,y=datay+(datayadd*2),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Load 1 & 2"})
out({x=datax,y=datay+(datayadd*3),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Load 3 &"})
out({x=datax,y=datay+(datayadd*3)+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="CPU Avg."})
out({x=datax,y=datay+(datayadd*4),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="CPU 1 & 2"})
out({x=datax,y=datay+(datayadd*5),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="CPU 3 & 4"})
out({x=datax,y=datay+(datayadd*6),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Ethernet"})
if net1==1 then
out({x=datax,y=datay+(datayadd*6)+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Is"})
else
out({x=datax,y=datay+(datayadd*6)+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Is Not"})
end--if
out({x=datax,y=datay+(datayadd*6)+25+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Connected"})
out({x=datax,y=datay+(datayadd*7),c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Wireless"})
if net2==1 then
out({x=datax,y=datay+(datayadd*7)+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Is"})
else
out({x=datax,y=datay+(datayadd*7)+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Is Not"})
end--if
out({x=datax,y=datay+(datayadd*7)+25+25,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Connected"})
-------------------
-- 14c) Information
-------------------
datax=1725
datay=79 -- y=datay or
datayadd1=14 -- y=datay+(dataadd*1) use 1 or more
datayadd2=115 -- y=datay+(dataadd*1) use 1 or more
out({x=datax,y=datay,c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="HDD Size:"..hddsize.." Free:"..hddfree.." "..hddperc.."% Used"})
out({x=datax,y=datay+(datayadd1),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Home Size:"..homesize.." Free:"..homefree.." "..homeperc.."% Used"})
out({x=datax+15,y=datay+(datayadd2),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="RAM:"..maxram.." Free:"..freeram.." "..usedram.."% Used"})
out({x=datax+15,y=datay+(datayadd1)+(datayadd2),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Swap:"..swapsize.." Free:"..swapfree.." "..swapperc.."% Used"})
out({x=datax+45,y=datay+(datayadd2*2),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Load Avg. (1 Min.): "..load1})
out({x=datax+45,y=datay+(datayadd1)+(datayadd2*2),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Load Avg. (5 Min.): "..load2})
out({x=datax+45,y=datay+(datayadd2*3),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Load Avg. (15 Min.): "..load3})
out({x=datax+65,y=datay+(datayadd1)+(datayadd2*3),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU Avg. : "..cpuavg.."%"})
out({x=datax+65,y=datay+(datayadd2*4),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU 1: "..cpu1.."%"})
out({x=datax+65,y=datay+(datayadd1)+(datayadd2*4),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU 2: "..cpu2.."%"})
out({x=datax+65,y=datay+(datayadd2*5),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU 3: "..cpu3.."%"})
out({x=datax+65,y=datay+(datayadd1)+(datayadd2*5),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="CPU 4: "..cpu4.."%"})
out({x=datax+50,y=datay+(datayadd2*6),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Upspeed eth0: "..upeth.."KiB/s"})
out({x=datax+43,y=datay+(datayadd1)+(datayadd2*6),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Downspeed eth0: "..downeth.."KiB/s"})
out({x=datax+50,y=datay+(datayadd2*7),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Upspeed wlan0: "..upwlan.."KiB/s"})
out({x=datax+43,y=datay+(datayadd1)+(datayadd2*7),c=0xb7b7b8,a=1,f="Ubuntu",fs=9,fw=CAIRO_FONT_WEIGHT_BOLD,txt="Downspeed wlan0: "..downwlan.."KiB/s"})
--===========================
-- 15) Calendar
--===========================
out({x=335,y=624,c=0x75b3d1,a=1,f="Ubuntu",fs=22,txt="Date & Time"})
---------------------
-- 15a) Month Display
---------------------
month=conky_parse("${time %B}")
c=0xb7b7b8
a=1
-------------------------------
font="LCDMono";font_size=36;text=month;xpos=770;ypos=705;red,green,blue,alpha=184/255,184/255,185/255,1
font_slant=CAIRO_FONT_SLANT_NORMAL
font_face=CAIRO_FONT_WEIGHT_BOLD
----------------------------------
cairo_select_font_face (cr, font, font_slant, font_face);
cairo_set_font_size (cr, font_size)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,xpos,ypos)
cairo_show_text (cr,text)
cairo_stroke (cr)
-------------------------
-- 15b) Calendar Function
-------------------------
--title text color
tred,tgreen,tblue,talpha=184/255,184/255,185/255,1
--title text font
tfont="LCDMono"
--title text size
tfontsize=24
--###################################################
--main body text color
bred,bgreen,bblue,balpha=117/255,179/255,209/255,1
--main body text font
mfont="LCDMono"
--main body text size
mfontsize=24
--###################################################
--highlight text color
hred,hgreen,hblue,halpha=255/255,215/255,0/255,1
--highlight font
hfont="LCDMono"
--highlight size
hfontsize=24
--###################################################
--surrounding numbers 1=om, 0=off
surround=0
--surrounding dates text color
sred,sgreen,sblue,salpha=0.3,0.5,0.3,1
--surrounding font
sfont="LCDMono"
--surounding size
sfontsize=24
--###################################################
--indicator box enter 1 for box or 0 for no box
box=0
--use the following 2 numbers to adjust box position
xadjust=2.5
yadjust=4
--set the box dimensions
width=35
height=21
--box color
xred,xgreen,xblue,xalpha=1,0.2,0.8,1
--###################################################
--calendar this month ###############################
--###################################################
--position
across=665.5
down=765.5
--rotate - this will require repositioning above
rotate=0
--###################################################
--horizontal gap between dates
gaph=40
--###################################################
--gap between day titles and first line
gapt=35
--###################################################
--gap between calendar line
gapl=35
--###################################################
--spacer -- this can help with alignment enter 0, 1 space or 2 spaces between the ""
spacer=" "
--###################################################
--calendar calcs
year=os.date("%G")
today=tonumber(os.date("%d"))
t1 = os.time( { year=year,month=03,day=01,hour=00,min=0,sec=0} );
t2 = os.time( { year=year,month=02,day=01,hour=00,min=0,sec=0} );
feb=(os.difftime(t1,t2))/(24*60*60)
local monthdays={ 31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
local day=tonumber(os.date("%w"))+1
local day_num = today
local remainder=day_num % 7
start_day=day-(day_num % 7)
if start_day<0 then start_day=7+start_day end
month=os.date("%m")
mdays=monthdays[tonumber(month)]
mdaystm=mdays
x=mdays+start_day
dnum={}
dnumh={}
if mdays+start_day<36 then
dlen=35
plen=29
else
dlen=42
plen=36
end--if
for i=1,dlen do
if i<=start_day then dnum[i]=" "
else dn=i-start_day
if dn=="nil" then dn=0 end
if dn<=9 then dn=(spacer .. dn) end
if i>x then dn="" end
dnum[i]=dn
dnumh[i]=dn
if dn==(spacer .. today) or dn==today then
dnum[i]=""
end--if
if dn==(spacer .. today) or dn==today then
dnumh[i]=dn
place=i
else dnumh[i]=" "
end--if
end--if
end--for
--###################################################
cairo_rotate (cr,(math.pi/180)*(rotate))
--print calendar titles
--###################################################
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, tfontsize);
cairo_set_source_rgba (cr,tred,tgreen,tblue,talpha)
dys={"SU","MO","TU","WE","TH","FR","SA"}
--------------------------------
--use these settings to mess around with positioning
turn=0
ta=0
move=0
rot=0
--------------------------------
for i=1,7 do
cairo_move_to (cr, across+8+(gaph*(i-1)), down+(i*move))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dys[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
cairo_select_font_face (cr, mfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, mfontsize);
cairo_set_source_rgba (cr,bred,bgreen,bblue,balpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
cairo_select_font_face (cr, hfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, hfontsize);
cairo_set_source_rgba (cr,hred,hgreen,hblue,halpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnumh[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
--###################################################
if surround==1 then
thisstart=tonumber(start_day)+1
thisend=tonumber(start_day)+mdays
previous=tonumber(start_day)
nextmon=dlen-thisend
pmon=tonumber(month)-1
if pmon==0 then pmon=12 end
pmon=monthdays[pmon]
snum={}
for i=1,dlen do
snum[i]=""
end
for i=tonumber(thisend)+1,tonumber(thisend)+nextmon do
snum[i]=i-tonumber(thisend)
end
for i=1,previous do
snum[i]=pmon-(previous-(i))
end
cairo_select_font_face (cr, sfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, sfontsize);
cairo_set_source_rgba (cr,sred,sgreen,sblue,salpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, snum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
end--if
--box aound
if box==1 then
cairo_set_source_rgba (cr,xred,xgreen,xblue,xalpha)
cairo_set_line_width (cr,1)
if place>0 and place<8 then
cy=down+gapt
elseif
place>7 and place<15 then
cy=down+gapt+gapl
elseif
place>13 and place<23 then
cy=down+gapt+gapl+gapl
elseif
place>21 and place<29 then
cy=down+gapt+gapl+gapl+gapl
elseif
place>28 and place<36 then
cy=down+gapt+gapl+gapl+gapl+gapl
end--if place
placey=place %7
if placey==1 then
cx=across
elseif
placey==2 then
cx=across+(gaph*1)
elseif
placey==3 then
cx=across+(gaph*2)
elseif
placey==4 then
cx=across+(gaph*3)
elseif
placey==5 then
cx=across+(gaph*4)
elseif
placey==6 then
cx=across+(gaph*5)
elseif
placey==0 then
cx=across+(gaph*6)
end--if placey
cairo_rectangle (cr,cx-xadjust,cy+yadjust,width,-height)
cairo_stroke (cr)
end--if box
cairo_rotate (cr,(math.pi/180)*(rotate*-1))
--###################################################
--end of calendar
--###################################################
------------------------------------
-- 15c) Next Month Calendar Function
------------------------------------
--title text color
tred,tgreen,tblue,talpha=184/255,184/255,185/255,1
--title text font
tfont="LCDMono"
--title text size
tfontsize=24
--###################################################
--main body text color
bred,bgreen,bblue,balpha=117/255,179/255,209/255,1
--main body text font
mfont="LCDMono"
--main body text size
mfontsize=24
--###################################################
--highlight text color
hred,hgreen,hblue,halpha=117/255,179/255,209/255,1
--highlight font
hfont="LCDMono"
--highlight size
hfontsize=24
--###################################################
--surrounding numbers 1=om, 0=off
surround=0
--surrounding dates text color
sred,sgreen,sblue,salpha=0.3,0.5,0.3,1
--surrounding font
sfont="LCDMono"
--surounding size
sfontsize=24
--###################################################
--indicator box enter 1 for box or 0 for no box
box=0
--use the following 2 numbers to adjust box position
xadjust=2.5
yadjust=4
--set the box dimensions
width=35
height=21
--box color
xred,xgreen,xblue,xalpha=1,0.2,0.8,1
--###################################################
--calendar this month ###############################
--###################################################
--position
across=995
down=765.5
--rotate - this will require repositioning above
rotate=0
--###################################################
--horizontal gap between dates
gaph=40
--###################################################
--gap between day titles and first line
gapvar=tonumber(os.date("%m"))
if gapvar==6 then gapt=0 else gapt=35 end
--###################################################
--gap between calendar line
gapl=35
--###################################################
--spacer -- this can help with alignment enter 0, 1 space or 2 spaces between the ""
spacer=" "
--###################################################
--calendar calcs
year=os.date("%G")
today=tonumber(os.date("%d"))
t1 = os.time( { year=year,month=03,day=01,hour=00,min=0,sec=0} );
t2 = os.time( { year=year,month=02,day=01,hour=00,min=0,sec=0} );
feb=(os.difftime(t1,t2))/(24*60*60)
local monthdays={ 31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
local day=tonumber(os.date("%w"))+1
local day_num = today
local remainder=day_num % 7
month=tonumber(os.date("%m"))+1
dispmonth=month
if
dispmonth==7
then
start_day=7
elseif
dispmonth==8
then
start_day=3
elseif
dispmonth==9
then
start_day=6
elseif
dispmonth==10
then
start_day=1
elseif
dispmonth==11
then
start_day=4
elseif
dispmonth==12
then
start_day=6
else
start_day=7
end--if
--start_day=day-(day_num % 7)--Monday=1;Tuesday=2;Wednesday=3;Thursday=4;Friday=5;Saturday=6;Sunday=7
if start_day<0 then start_day=7+start_day end
mdays=monthdays[tonumber(month)]
mdaystm=mdays
x=mdays+start_day
dnum={}
dnumh={}
if mdays+start_day<36 then
dlen=35
plen=29
else
dlen=42
plen=36
end--if
for i=1,dlen do
if i<=start_day then dnum[i]=" "
else dn=i-start_day
if dn=="nil" then dn=0 end
if dn<=9 then dn=(spacer .. dn) end
if i>x then dn="" end
dnum[i]=dn
dnumh[i]=dn
if dn==(spacer .. today) or dn==today then
dnum[i]=""
end--if
if dn==(spacer .. today) or dn==today then
dnumh[i]=dn
place=i
else dnumh[i]=" "
end--if
end--if
end--for
--###################################################
cairo_rotate (cr,(math.pi/180)*(rotate))
--print calendar titles
--###################################################
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, tfontsize);
cairo_set_source_rgba (cr,tred,tgreen,tblue,talpha)
dys={"SU","MO","TU","WE","TH","FR","SA"}
--------------------------------
--use these settings to mess around with positioning
turn=0
ta=0
move=0
rot=0
--------------------------------
for i=1,7 do
cairo_move_to (cr, across+8+(gaph*(i-1)), down+(i*move))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dys[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
cairo_select_font_face (cr, mfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, mfontsize);
cairo_set_source_rgba (cr,bred,bgreen,bblue,balpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
cairo_select_font_face (cr, hfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, hfontsize);
cairo_set_source_rgba (cr,hred,hgreen,hblue,halpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnumh[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
--###################################################
if surround==1 then
thisstart=tonumber(start_day)+1
thisend=tonumber(start_day)+mdays
previous=tonumber(start_day)
nextmon=dlen-thisend
pmon=tonumber(month)-1
if pmon==0 then pmon=12 end
pmon=monthdays[pmon]
snum={}
for i=1,dlen do
snum[i]=""
end
for i=tonumber(thisend)+1,tonumber(thisend)+nextmon do
snum[i]=i-tonumber(thisend)
end
for i=1,previous do
snum[i]=pmon-(previous-(i))
end
cairo_select_font_face (cr, sfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, sfontsize);
cairo_set_source_rgba (cr,sred,sgreen,sblue,salpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, snum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end--for
end--for
end--if
--box aound
if box==1 then
cairo_set_source_rgba (cr,xred,xgreen,xblue,xalpha)
cairo_set_line_width (cr,1)
if place>0 and place<8 then
cy=down+gapt
elseif
place>7 and place<15 then
cy=down+gapt+gapl
elseif
place>13 and place<23 then
cy=down+gapt+gapl+gapl
elseif
place>21 and place<29 then
cy=down+gapt+gapl+gapl+gapl
elseif
place>28 and place<36 then
cy=down+gapt+gapl+gapl+gapl+gapl
end--if place
placey=place %7
if placey==1 then
cx=across
elseif
placey==2 then
cx=across+(gaph*1)
elseif
placey==3 then
cx=across+(gaph*2)
elseif
placey==4 then
cx=across+(gaph*3)
elseif
placey==5 then
cx=across+(gaph*4)
elseif
placey==6 then
cx=across+(gaph*5)
elseif
placey==0 then
cx=across+(gaph*6)
end--if placey
cairo_rectangle (cr,cx-xadjust,cy+yadjust,width,-height)
cairo_stroke (cr)
end--if box
cairo_rotate (cr,(math.pi/180)*(rotate*-1))
--###################################################
--end of calendar
--###################################################
------------------------------------------------
-- 15d) Next Month Calendar (Month Name Display)
------------------------------------------------
xstart=995
ystart=765.5
yadd=35
newmnth=tonumber(os.date("%m"))--current month number
if newmnth==06 then
out({x=xstart+100,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="July"})
elseif newmnth==07 then
out({x=xstart+80,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="August"})
elseif newmnth==08 then
out({x=xstart+55,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="September"})
elseif newmnth==09 then
out({x=xstart+70,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="October"})
elseif newmnth==10 then
out({x=xstart+62,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="November"})
else
out({x=xstart+68,y=ystart-61,c=0xb8b8b9,a=1,f="LCDMono",fs=36,fw=CAIRO_FONT_WEIGHT_BOLD,txt="December"})
end--if
--===========================
-- 16) Clock
--===========================
--###################################################
--CLOCK SETTINGS
clock_radius=120
clock_centerx=477
clock_centery=824
--12 or 24
clock_type=12
--how many marks around edge
number_marks=12
--set border options
clock_border_width=2
--set color and alpha for clock border
cbr,cbg,cbb,cba=77/255,121/255,117/255,1--full opaque white
--gap from clock border to hour marks
b_to_m=5
--set mark length
m_length=10
--set mark line width
m_width=3
--set mark line cap type
m_cap=CAIRO_LINE_CAP_ROUND
--set mark color and alpha,red blue green alpha
mr,mg,mb,ma=145/255,182/255,181/255,1--opaque white
-----seconds hand setup
--set length of seconds hand
sh_length=115
--set hand width
sh_width=1
--set hand line cap
sh_cap=CAIRO_LINE_CAP_ROUND
--set seconds hand color
shr,shg,shb,sha=183/255,183/255,184/255,1--fully opaque red
-----minues hand setup
--set length of minutes hand
mh_length=95
--set hand width
mh_width=3
--set hand line cap
mh_cap=CAIRO_LINE_CAP_ROUND
--set minute hand color
mhr,mhg,mhb,mha=132/255,132/255,132/255,1--fully opaque white
-----hour hand setup
--set length of hour hand
hh_length=75
--set hand width
hh_width=5
--set hand line cap
hh_cap=CAIRO_LINE_CAP_ROUND
--set hour hand color
hhr,hhg,hhb,hha=132/255,132/255,132/255,1--tan
--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
--set line cap type
cairo_set_line_cap (cr, m_cap)
--set line width
cairo_set_line_width (cr,m_width)
--set color and alpha for marks
cairo_set_source_rgba (cr,mr,mg,mb,ma)
--start for loop
for i=1,number_marks do
--drawing code uisng the value of i to calculate degrees
--calculate start point for 12 oclock mark
radius=m_start_rad
point=(math.pi/180)*((i-1)*(360/number_marks))
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 oclock mark
radius=m_end_rad
point=(math.pi/180)*((i-1)*(360/number_marks))
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##################################
if clock_type==12 then
hours=tonumber(os.date("%I"))--12 hour clock
--convert hours to seconds
h_to_s=hours*60*60
elseif clock_type==24 then
hours=tonumber(os.date("%H"))--24 hour clock
--convert hours to seconds
h_to_s=hours*60*60
end--if
minutes=tonumber(os.date("%M"))
--convert minutes to seconds
m_to_s=minutes*60
--get current seconds
seconds=tonumber(os.date("%S"))
--draw hours hand ###################################
--get hours minutes seconds as just seconds
hsecs=h_to_s+m_to_s+seconds
--calculate degrees for the hand each second
hsec_degs=hsecs*(360/(60*60*clock_type))--im using an equation instead of typing the calculation straight in because the result of 360/43200 gave us decimal places
--set radius we will use to calculate hand points
radius=hh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,hhr,hhg,hhb,hha)
cairo_set_line_cap (cr, hh_cap)
cairo_stroke (cr)
--draw minutes hand
--get minutes and seconds just as seconds
msecs=m_to_s+seconds
--calculate degrees for the hand each second
msec_degs=msecs*0.1
--set radius we will use to calculate hand points
radius=mh_length
--set our starting line coordinates, the center of the circle
cairo_move_to (cr,clock_centerx,clock_centery)
--calculate coordinates for end of minutes 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)
cairo_set_source_rgba (cr,mhr,mhg,mhb,mha)
cairo_set_line_cap (cr, mh_cap)
cairo_stroke (cr)
--draw seconds hand #################################
--calculate degrees for the hand each second
sec_degs=seconds*6
--set radius we will use to calculate hand points
radius=sh_length
--set our starting 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)
cairo_set_source_rgba (cr,shr,shg,shb,sha)
cairo_set_line_cap (cr, sh_cap)
cairo_stroke (cr)
--=========================
-- 17) Clock Numbers
--=========================
out({x=547,y=830,c=0xbdbdbd,a=1,f="Times New Roman",fs=24,fw=CAIRO_FONT_WEIGHT_BOLD,txt="3"})
out({x=471,y=902,c=0xbdbdbd,a=1,f="Times New Roman",fs=24,fw=CAIRO_FONT_WEIGHT_BOLD,txt="6"})
out({x=397,y=830,c=0xbdbdbd,a=1,f="Times New Roman",fs=24,fw=CAIRO_FONT_WEIGHT_BOLD,txt="9"})
out({x=465,y=756,c=0xbdbdbd,a=1,f="Times New Roman",fs=24,fw=CAIRO_FONT_WEIGHT_BOLD,txt="12"})
--=========================
-- 18) End of Script
--=========================
end-- if updates>5
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
end-- end main function
Re: Post your .conkyrc files w/ screenshots
Hello again conkyneers,
I was just wondering what the latest & greatest weather scripts are? Are the ones from TeoBigusGeekus still doing ok?
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
davesbrain
Hello again conkyneers,
I was just wondering what the latest & greatest weather scripts are? Are the ones from TeoBigusGeekus still doing ok?
you can find activity on those scripts here:
http://crunchbanglinux.org/forums/to...nwsweathercom/
Re: Post your .conkyrc files w/ screenshots
Cool thank you. I'll take a look in a minute. Also, why does my conky overheat my cpu? As soon as I start it, the temp skyrockets to the point of locking up everything. I have auto shutdown disabled in bios. 10.04.4 with conky 1.90. It's pretty much VinDSL's setup.
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
davesbrain
Cool thank you. I'll take a look in a minute. Also, why does my conky overheat my cpu? As soon as I start it, the temp skyrockets to the point of locking up everything. I have auto shutdown disabled in bios. 10.04.4 with conky 1.90. It's pretty much VinDSL's setup.
that may be a hard one to answer...
what kind of cpu usage % do you get with just conky running?
and how powerful is your 'puter?
are you sure that temps dont increase without having conky running? ...monitor them with sensors through a terminal