Page 2009 of 2284 FirstFirst ... 1009150919091959199920072008200920102011201920592109 ... LastLast
Results 20,081 to 20,090 of 22835

Thread: Post your .conkyrc files w/ screenshots

  1. #20081
    Join Date
    Dec 2011
    Location
    Atlanta, Georgia USA
    Beans
    49
    Distro
    Xubuntu

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by mrpeachy View Post
    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%.
    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%.

    So, once again... Thank You!!!

  2. #20082
    Join Date
    Oct 2009
    Location
    Under a rock
    Beans
    Hidden!

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by 42dorian View Post
    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

  3. #20083
    Join Date
    Apr 2007
    Beans
    195

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by mrpeachy View Post
    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 I've been focussing on the physical world the past little while and neglected the coded world entirely

    But, Awesome none the less, sir! Easy to find for everyone now!

  4. #20084
    Join Date
    Dec 2011
    Location
    Atlanta, Georgia USA
    Beans
    49
    Distro
    Xubuntu

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by mrpeachy View Post
    @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?

  5. #20085
    Join Date
    Jul 2008
    Beans
    70

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by mrpeachy View Post
    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


    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
    Linux...The mistress we all left Windows for

  6. #20086
    Join Date
    Dec 2011
    Location
    Atlanta, Georgia USA
    Beans
    49
    Distro
    Xubuntu

    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.

    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. Otherwise I'll get bored and start over.

    Tips, suggestions and/or comments are welcome.

    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
    Attached Images Attached Images
    Last edited by stylintile; June 22nd, 2012 at 07:57 PM. Reason: edited blink timer and meter rings to cure an error.

  7. #20087
    Join Date
    Jan 2008
    Beans
    130

    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?

  8. #20088
    Join Date
    Oct 2009
    Location
    Under a rock
    Beans
    Hidden!

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by davesbrain View Post
    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/

  9. #20089
    Join Date
    Jan 2008
    Beans
    130

    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.

  10. #20090
    Join Date
    Oct 2009
    Location
    Under a rock
    Beans
    Hidden!

    Re: Post your .conkyrc files w/ screenshots

    Quote Originally Posted by davesbrain View Post
    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

Page 2009 of 2284 FirstFirst ... 1009150919091959199920072008200920102011201920592109 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •