Conky Tips and Tricks

VastOne

Very nice Sector11!

Well done on creating this Child Board as well

I use gpick to help me with colors when I am developing something and need to match a color exactly.  It has saved me a few times! I like gpick because it allows you to find the color with a click of a mouse outside of the application
VSIDO      VSIDO Change Blog    

    I dev VSIDO

Sector11

Oh ... gpick ... I'll have to check that out.
Thanks for the tip.
Stay Home

Sector11

I'd be remiss if I didn't give everyone the full story or at least a fairly good running break down of what this is and how it came about.

We can all thank GrouchyGaijin for this!

I love it when someone says "Nope, not possible" and the answer is "Oh yea, watch this!" type of thing.

This started when GrouchyGaijin asked stinkeye this question regarding the "start stop conky" script (ssc.sh)

Quote from: GrouchyGaijinCool idea. Thanks for sharing. I have a question though, does the toggle script allow you to kill the conkies one at a time or is it all or nothing?
stinkeye responded:
Quote from: stinkeyeScripts been around a while. Not my idea.
All or nuttin'. Go hard or go home. ;)

A little while later GrouchyGaijin came back with:
Quote from: GrouchyGaijinFor what it is worth, I wrote a script that will find the PID of a particular conky, then kill it.

I'm sure this could be done more efficiently. But this works on my system.

#!/bin/bash
##This is something like the 5th script I've ever written ##                     
var1=$(ps xu | grep calendar-conky | grep -v grep | awk '{ print $2 }')
echo "$var1"
kill $var1


Change calendar-conky to the name of your conkyrc file.
Then, make a launcher, put it in a quick list or whatever.

arclance piped up:
Quote from: arclanceWhy not use?

pkill -f "conky.*-c.*calendar-conky"
That will kill conky process running with the "calendar-conky" .conkyrc.
It should also not kill certain text editors if you have your .conkyrc open in them.

Can you see where this is going?

After a discussion between arclance and stinkeye, about it not working with a conky in a terminal stinkeye has a version that will work with his demo conky in a terminal:
Quote from: stinkeyeCould't find a solution so I added a sed command to change
background yes
to
background no
in any pasted in configs.

#!/bin/bash
## click to start, click to stop

if pgrep -f "conky -c /home/glen/conky/configs/demo-conkyrc"
then
pkill -xf "conky -c /home/glen/conky/configs/demo-conkyrc"
else
[B]sed -i 's/background yes/background no/g' /home/glen/conky/configs/demo-conkyrc &[/B]
gnome-terminal -e "conky -c /home/glen/conky/configs/demo-conkyrc"
fi

From GrouchyGaijin's "oh yea, watch this post!" I started playing ... incorporating things as it happened.

All my conkys start with "conky -c /path/to/the/conkyrc", I don't run conkys in a terminal, start them yes, run them no!

I played with this a lot yesterday getting "ERROR" here an "Oops!" there, but not before one tweak restarted my entire session.
Now that was an Oops!

The second last line is the fix it was:
"conky -c $1"

Here's the 'first' working version, - "SUPER" script
that requires two clicks, or twice in a terminal:

ggsia <<-- the bash script  for GrouchyGaijin, Stinkeye and arclance
#!/bin/bash
## Original idea by: GrouchyGaijin
## This idea by: Stinkeye - Jan 2013
## With another tweak by: arclance
## Final tweak by: Sector11
## click to start, click to re-start

if pgrep -f "conky -c $1"
then
pkill -xf "conky -c $1"
else
conky -c "$1"
fi


Terminal output
sector11 @ sector11
21 Jan 13 | 09:29:06 ~
         $ ggsia /media/5/Conky/S11_VSIDO_v9.conkyrc
18708
sector11 @ sector11
21 Jan 13 | 09:29:48 ~
         $ ggsia /media/5/Conky/S11_VSIDO_v9.conkyrc
Conky: forked to background, pid is 19627
sector11 @ sector11
21 Jan 13 | 09:29:50 ~
         $
Conky: desktop window (260) is root window
Conky: window type - normal
Conky: drawing to created window (0x1c00001)
Conky: drawing to double buffer
gathering data with curl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 71036  100 71036    0     0  81086      0 --:--:-- --:--:-- --:--:--   99k
not checking for alerts
processing complete

sector11 @ sector11
21 Jan 13 | 09:30:06 ~
         $


Stopped it and started it like it was meant to do!
but it took one to kill it, one to start it

Thank you GrouchyGaijin, stinkeye & arclance

I didn't stop there ... I have another version of ssc.sh that uses "exit" .... hmmmmmmmmm!!!

So here it is, the new improved ggsia that is even better, this is for "conky addicts", because sometimes just "saving a conky" isn't enough, you need to kill it and restart it!

If you are developing a conky and
  • have not started it yet, this will start it.
  • if it is already running, this script will kill it and restart it 2 seconds later

    ggsia - Super script #2
    #!/bin/bash
    ## Original idea by: GrouchyGaijin
    ## This idea by: Stinkeye - Jan 2013
    ## With another tweak by: arclance
    ## Final tweak by: Sector11
    ## click to start, click to stop & re-start

    if pgrep -f "conky -c $1"
    then
    pkill -xf "conky -c $1"
    (sleep 2s && conky -c "$1") &
    exit
    else
    conky -c "$1"
    exit
    fi


    Nice stuff guys!

    stinkeye points out a weakness of the above above a question:

    HA!!!!  jedi has compition!
    Along comes: CapMan

    Quote from: stinkeyeHi Sector11,
    just a bit confused as to what the $1 variable is
    and how to use the script.
    Do I just add the path to a conkyrc as a variable to the script?

    It may appear I know what I'm doing but I'm essentially a copy and paste man.
    CapMan :P

    $1 for a bash script is a command line variable.

    stinki
    #!/bin/bash
    echo $1 $2


    sector11 @ sector11
    21 Jan 13 | 11:52:44 ~
             $ stinki something
    something
    sector11 @ sector11
    21 Jan 13 | 11:52:46 ~
             $ stinki something else
    something else
    sector11 @ sector11
    21 Jan 13 | 11:52:50 ~
             $ stinki Hi stinkeye
    Hi stinkeye
    sector11 @ sector11
    21 Jan 13 | 11:54:16 ~
             $


    To continue: 
    Yea, me too, I gotta use that line, CapMan sounds like a superhero!
    Maybe change it to C&PDude so as not to interfere with any © you may have.

    The top of 90% of my conkys have something like this:
    # killall conky && conky -c /media/5/Conky/S11_VSIDO_v9.conkyrc &

    I copy that line - less the hash - to kill all conkys and restart the one I'm working on.  BUT it does what you said a while back:
    Quote from: stinkeyeAll or nuttin'. Go hard or go home. ;)

    So now at the top of my conkys I'll do:
    # ggsia /media/5/Conky/S11_VSIDO_v9.conkyrc

    then I'll pull a CapMan in the terminal
    sector11 @ sector11
    21 Jan 13 | 11:25:16 ~
             $ ggsia /media/5/Conky/S11_VSIDO_v9.conkyrc


    Like I said earlier in this post,
  • if the conky is not running that script will start it,
  • if it is running, it will kill it, wait 2 seconds and restart it.

    Perfect for editing!

    Now to do a search and replace on "all files" in my conky directories:
    Search: "# killall conky && conky -c"
    Replace: "# ggsia"

    Hmmmm, that will take a while, I'll probably have to watch a movie.

    Thanks GrouchyGaijin ǝʎǝʞuıʇs sʞuɐɥʇ & arclance
Stay Home

Sector11

#18
easysid came up with a full screen conky and posted it over on CrunchBang, complete with a link to the wallpaper.

Screenshot:

He calles it: Cubes

It re-kindled something I had started but never completed.

I've been playing with full screen conkys for a bit and over time I found a way to do it without a single ${voffset}.

Why? - because I can. - it also controls the real conky window size better. An opinion.

His first command ${voffset 590}\ prints to the bottom of the screen then he uses a negative voffset to bring it up
Then two positive voffsets in a row to move text down again ... and it continues.
Conky is printing all over the place

There are 1001 ways of doing things, what follows is just other way.
It's all a matter of personal choice

so.....

A bit more work but I find if I set the lines first the conky code is easy to add in.

Line 6 uses the small font last the ${goto} places it properly:
L 6\
${goto 570}L 6 plus\
${goto 350}${font OCR A Extended:bold:pixelsize=12}L 6
${font}L 7${goto 350}L 7${goto 940}L 7

... and doesn't turn the font off until the beginning of line 7

Line 11 does the same with larger font but with a twist:
${goto 350}L 11\
${goto 940}L 11\
${goto 730}${font OCR A Extended:bold:pixelsize=24}L 11${font OCR A Extended:pixelsize=1}
${font}${goto 350}L 12${goto 940}L 12

  • large font used last, ${goto} places it properly, then
  • a really small 1 pixelsize font to bring Line 12 back in line
  • turn the tiny font off at the start of line 12

    What is important: I show the font used because of what is below TEXT
    xftfont OCR A Extended:bold:pixelsize=18
    TEXT
    L 1 = time H:M${goto 930}${time %H:%M}
    L 2 = time x\
    ${goto 930}${font OCR A Extended:bold:pixelsize=16}${time %x}
    ${font}L 3\
    ${goto 350}L 3\
    ${goto 570}L 3\
    ${goto 930}L 3
    L 4${goto 350}L 4${goto 570}L 4
    L 5${goto 350}L 5${goto 570}L 5
    L 6\
    ${goto 570}L 6 plus\
    ${goto 350}${font OCR A Extended:bold:pixelsize=12}L 6
    ${font}L 7${goto 350}L 7${goto 940}L 7
    L 8${goto 350}L 8${goto 940}L 8
    ${goto 350}L 9${goto 940}L 9
    ${goto 350}L 10${goto 730}L 10${goto 940}L 10
    ${goto 350}L 11\
    ${goto 940}L 11\
    ${goto 730}${font OCR A Extended:bold:pixelsize=24}L 11${font OCR A Extended:pixelsize=1}
    ${font}${goto 350}L 12${goto 940}L 12
    ${goto 730}L 13${goto 940}L 13
    ${goto 940}L 14
    ${goto 940}L 15
    ${goto 940}L 16
    ${goto 940}L 17
    ${goto 520}L 18${goto 940}L 18
    ${goto 520}L 19
    ${goto 520}L 20
    ${goto 520}L 21
    ${goto 520}L 22
    ${goto 520}L 23
    ${goto 520}L 24
    ${goto 520}L 25
    ${goto 520}L 26
    ${goto 520}L 27
    ${goto 520}L 28
    ${goto 520}L 29


    ${goto 200}L 32
    ${goto 200}L 33
    ${goto 200}L 34
    ${goto 200}L 35
    ${goto 200}L 36
    ${goto 200}L 37
    ${goto 200}L 38
    ${goto 200}L 39
    ${goto 200}L 40
    ${goto 200}L 41
    ${goto 200}L 42


    Like I said - another option.

    Something else you might find interesting:




    • xftfont OCR A Extended:bold:pixelsize=18, and
    • xftfont OCR A Extended:bold:size=18
         
    do not produce the same font output
Stay Home

Sector11

A new weather conky with an old favourite; conkyForecast.

For years I have known about the '--night' option, never really used it before now.

       

Some things explained.  While developing this (killing and restarting conky a lot) I did not force a cache '--refresh' so as to use the info that was here locally as much as possible, no sense in flooding weather·com with requests for weather in the development stage.  After all this is now working free.  This morning with I booted up I saw there were some errors, I has forgotten to add the '--refetch' option to the command to get the weather:
${execpi 1800 conkyForecast --refetch --hideunits --template=/media/5/Conky/templates/cF-2013.template}


1. Under NOW - 1019.0 = barometer and the 2 is the UV index
Below that is a small 'steady' pretty self explanatory.

2. Under 'steady' is the wind direction ENE and 10km/h - I'm not showing units because this is my conky I know the units it's using (km/h | °C | etc).

3. Under Forecast and Tonight are the forecast high and low temperatures for today and that sequence is repeated with the temperatures in the lower portion of the forecast.  I have put them closer to the centre, in the lower section, as I plan on adding the sunrise and sunset time in there as well

4. Drawn first the VSIDO orb sits behind the 'moon' as it shows it's phases.  The orb will not be seen during a full moon and will be 100% visible during a new moon, this Sunday.

5. I am using ${if_match} statements to get rid of displays of 'N/A' and or '0%' with the 'chance of precipitation' option.  I picked up that little gem from PetroDawg just recently. Thanks PetroDawg.  I'm using ${if_match} in other places as well.

6. On the left is last nights capture.  Notice the line:


Sunrise 06.19   08:09:44   Sunset 19:55


While sunrise and sunset are true conkyForecast options, that number in the middle is using a program that comes with conkyForecast; conkyForecast-SunsetSunriseCountdown.py.  It calculates the time left to sundown or sunrise, whichever is coming next.  It's grey because the sun has set and will rise in 8 hours 9 minutes and 44 seconds.

Some may argue that it should be yellow to indicate that the sun will rise in that time.  That's an option too, I chose to indicate the sun's position with the colour not the action that will happen. As you see in this mornings shot on the right, there is 10:22:26 left before sunset, the yellow indicating the sun is up.

Not finished yet, still have some things I want to do.

Oh yea, I added my OpenBox menu in there just because.  Optical illusion - does it seem to get narrower at the bottom?
Stay Home

jedi

Wow Sector11!!!  That is awesome work!  8)
Forum Netiquette

"No matter how smart you are you can never convince someone stupid that they are stupid."  Anonymous

Sector11

Thatks jedi ... felt a bit strange using conkyForecast again for a major conky.

Main thing is my wife likes it.  She has this fixation on the weather lately.
Stay Home

jedi

Hmmmm.  Wishful thinking on my part; Wife, Conky, Happy,  nahhhhhh!!!  Never gonna happen.  :'(
Forum Netiquette

"No matter how smart you are you can never convince someone stupid that they are stupid."  Anonymous

Sector11

  :D  :D  :D  :D

You need to build a conky that would interest her!

  • The Shoe Store Conky,
  • The Ultimate Recipe Conky,
  • The My Husband Can't Play With Conky Anymore Conky
    - - - scratch that last one!
Stay Home

VastOne

#24
This How To will setup a conky that will grab your gmail from google and rss feeds from google reader and display it on your desktop. This is what it will look like



Save everything to /home/yourusername

Step 1

Copy this and save it as .conkyrc2 or whatever you want it to be named

# .conkyrc2 - Edited from various examples across the 'net
# Used by VastOne on #!

# Create own window instead of using desktop (required in nautilus)
#own_window yes
#own_window_type normal
#own_window_transparent no
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# fiddle with window
use_spacer right

# Use Xft?
use_xft yes
xftfont Liberation Sans:size=16
xftalpha 0.9
text_buffer_size 4096

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 336 400
maximum_width 336
#maximum_width 1024

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no
own_window_argb_visual yes
own_window_type normal
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window yes
own_window_transparent yes
own_window_class conky-semi

# Stippled borders?
stippled_borders 0

# border margins
# border_margin 0

# border width
border_width 1

# Default colors and also border colors
#default_color grey
#color2=white
# color3=grey
#default_shade_color black
#default_outline_color grey
# own_window_colour 070809

# Text alignment, other possible values are commented
#alignment top_middle
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 1
gap_y 74

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer none
## ${color sky blue}${time %a %b %d %Y}       ${color #dfdfdf}${time %I:%M}${time %P}
# ${image /home/vastone/images/debian2.png -s 40x40 -p 211,195}
# ${image /home/vastone/images/debian3.png -s 125x30 -p 140,198}
TEXT

${color 7D8C93}             ${time %I:%M}${time %P}
${color 7D8C93}         ${voffset 5}${time %a %b %d %Y}
${color 7D8C93}${voffset 5}Gmail  - ${execpi 15 python ~/gmail_parser.py yourgmailname yourgmailpassword 3}

${color 7D8C93}RSS${font}
${color 7D8C93}${voffset 11}${execi 60 python ~/conkyGoogleReader.py -S -u yourgmail@gmail.com -p yourgmailpasswd| fold -s -w35}


Note - the yourgmailname and yourgmailpassword needs to be changed.  This yourgmailname, is not the complete email address, just the name.  For me it is vastone, since my address is vastone @ gmail dot com

Step 2

Download the attached gmail_parser.py

Make it executable,  in terminal run

chmod +x gmail_parser.py

Step 3

In terminal

sudo apt-get install python-feedparser

Step 4

Download the attached conkyGoogleReader.py

Make it executable,  in terminal run

chmod +x conkyGoogleReader.py

Step 5

You should now be able to start this conky this way

conky -c /home/yourusername/.conkyrc2

Let me know how it goes, good luck!
VSIDO      VSIDO Change Blog    

    I dev VSIDO

jedi

Thanks VastOne, had the gmail_parser, but for some reason I'd missed out on the rss feed one.  Got it now!  Thanks a lot...
Forum Netiquette

"No matter how smart you are you can never convince someone stupid that they are stupid."  Anonymous

falldown


lwfitz

Don't Be A Dick!

Sector11

#28

If you need an explanation of what is what ... it's here someplace ... I'll find it or explain again.  ;)

Conky:
# killall conky && conky -c /media/5/Conky/ConkyForecast_2013 &
# ${font DS\-Digital:bold:size=24}
# OS: ${pre_exec lsb_release -d | cut -c14-50}

###  Begin Window Settings  ##################################################
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type normal
own_window_transparent no ##yes
#own_window_hints below,skip_taskbar,skip_pager
own_window_colour 000000
own_window_class Conky
own_window_title Tiempo!

# Use the Xdbe extension? (eliminates flicker)
# It is highly recommended to use own window with this one
# so double buffer won't be so big.
double_buffer yes

### ARGB can be used for real transparency
### NOTE that a composite manager is required for real transparency.
### This option will not work as desired (in most cases) in conjunction with
### own_window_type normal
# own_window_argb_visual yes # Options: yes or no

### When ARGB visuals are enabled, this use this to modify the alpha value
### Use: own_window_type normal
### Use: own_window_transparent no
### Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
# own_window_argb_value 255

minimum_size 340 0  ##420 420   ## width, height
maximum_width 340     ##420       ## width

gap_x 0 ### left &right
gap_y 100 ### up & down

alignment tm #ml
####################################################  End Window Settings  ###
###  Font Settings  ##########################################################
# Use Xft (anti-aliased font and stuff)
use_xft yes
xftfont Monofur:bold:size=12
#xftfont White Rabbit:size=9

# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Alpha of Xft font. Must be a value at or between 1 and 0 ###
xftalpha 1
# Force UTF8? requires XFT ###
override_utf8_locale yes

uppercase no

######################################################  End Font Settings  ###
###  Color Settings  #########################################################
draw_shades yes
default_shade_color black

draw_outline no # amplifies text if yes
default_outline_color black

default_color DCDCDC #220 220 220 Gainsboro
color0 48D1CC # 72 209 204    MediumTurquoise
color1 778899 #119 136 153 LightSlateGray
color2 FF8C00 #255 140   0 DarkOrange
color3 7FFF00 #127 255   0 Chartreuse
color4 FFA07A #255 160 122 LightSalmon
color5 FFDEAD #255 222 173 NavajoWhite
color6 00BFFF #  0 191 255 DeepSkyBlue
color7 00FFFF #  0 255 255 Cyan
color8 FFFF00 #255 255   0 Yellow
color9 FF0000 #255   0   0 Red
#####################################################  End Color Settings  ###
###  Borders Section  ########################################################
draw_borders no
# Stippled borders?
stippled_borders 0
# border margins
border_inner_margin 5
border_outer_margin 0
# border width
border_width 0
# graph borders
draw_graph_borders yes #no
#default_graph_size 15 40
#####################################################  End Borders Secton  ###
###  Miscellaneous Section  ##################################################
# Boolean value, if true, Conky will be forked to background when started.
background yes

# Adds spaces around certain objects to stop them from moving other things
# around, this only helps if you are using a mono font
# Options: right, left or none
use_spacer none

# Default and Minimum size is 256 - needs more for single commands that
# "call" a lot of text IE: bash scripts
text_buffer_size 6144

# Subtract (file system) buffers from used memory?
no_buffers yes

# change GiB to G and MiB to M
short_units yes

# Like it says, ot pads the decimals on % values
# doesn't seem to work since v1.7.1
pad_percents 2

# Imlib2 image cache size, in bytes. Default 4MiB Increase this value if you use
# $image lots. Set to 0 to disable the image cache.

imlib_cache_size 0

#   Maximum size of user text buffer, i.e. layout below TEXT line in config file
#  (default is 16384 bytes)
# max_user_text 16384

# Desired output unit of all objects displaying a temperature. Parameters are
# either "fahrenheit" or "celsius". The default unit is degree Celsius.
# temperature_unit Fahrenheit

##############################################  End Miscellaneous Section  ###
###  LUA Settings  ###########################################################
## Above and After TEXT - requires a composite manager or blinks.
##
# lua_load /media/5/Conky/LUA/draw-bg.lua
#TEXT
# ${lua conky_draw_bg 125 0 0 0 0 0x000000 0.2}
#
## ${lua conky_draw_bg corner_radius x_position y_position width height color alpha}
##
## OR Both above TEXT (No composite manager required - no blinking!)
#
#--------------------------------
#lua_load /media/5/Conky/LUA/draw-bg.lua
#lua_draw_hook_pre draw_bg 20 0 0 0 0 0x000000 0.2
#lua_draw_hook_post draw_bg 20 0 0 0 0 0x000000 0.2
#
# TEXT
# ${lua conky_draw_bg 20 0 0 0 0 0x000000 0.2}
##
#
############### V9000 ########################################################
#starts the lua weather data gathering function, call once at top of conkyrc
lua_load ~/v9000/v9000.lua
lua_draw_hook_post weather
lua_load /media/5/Conky/templates/cF-2013.template.lua
#######################################################  End LUA Settings  ###

update_interval 1

TEXT
${image /media/5/Conky/images/yellow_1.png -p 169,152 -s 1x378}\
${image /media/5/Conky/images/yellow_1.png -p 1,530 -s 340x1}\
${image /media/5/Conky/images/CanAr_Roundel_2.png -p 258,18 -s 83x83}\
${execpi 1800 conkyForecast --refetch --hideunits --template=/media/5/Conky/templates/cF-2013.template}


conkyForecast template: cF-2013.template
${font monofur:bold:size=9}   NOW           Forecast       Tonight${alignr}[--datatype=MP]${font}
[--datatype=BR] ${color2}${if_match "[datatype=UI]" == "N/A"}${else}[--datatype=UI]${endif}${goto 90}${color7}${if_match "[datatype=PC --startday=0]" == "N/A"}${else}${if_match "[datatype=PC --startday=0]" == "0%"}${else}[datatype=PC --startday=0]${endif}${endif}${goto 180}${if_match "[datatype=PC --night --startday=0]" == "N/A"}${else}${if_match "[datatype=PC --night --startday=0]" == "0%"}${else}[datatype=PC --night --startday=0]${endif}${endif}
${font monofur:bold:size=9}${color5}${if_match "[datatype=BD]" == "N/A"}${else}[--datatype=BD]${endif}${color}${font}

[--datatype=WD]${goto 55}[--datatype=HT]
[--datatype=WS]${goto 55}${color2}[--datatype=LT]${goto 122}${color2}${if_match "[--datatype=HT --startday=0]" == "N/A"}${else}[--datatype=HT --startday=0]${endif}${goto 210}${color7}[--datatype=LT --startday=0]${color}${font monofur:pixelsize=0}
${image [--datatype=WI] -p 0,20 -s 80x80}
${image [--datatype=WI --startday=0] -p 86,20 -s 80x80}
${image [--datatype=WI --startday=0 --night] -p 173,20 -s 80x80}
${image [--datatype=MI] -p 259,20 -s 80x80}
${font}Dew Pt [--datatype=DP]${goto 102}Hum [--datatype=HM]${goto 175}Rain ${color7}${if_match "[datatype=PC --startday=1]" == "N/A"}0%${else}[--datatype=PC --startday=1]${endif}${color}${goto 255}Vis [--datatype=VI]
${color5}Sunrise [datatype=SR]${goto 145}${if_match "${execpi 1 conkyForecast-SunsetSunriseCountdown -t}"=="Sunrise"}${color1}${execpi 1 conkyForecast-SunsetSunriseCountdown}${else}${color5}${execpi 1 conkyForecast-SunsetSunriseCountdown}${endif}${alignr 5}${color}Sunset [datatype=SS]${font monofur:pixelsize=4}

${font monofur:bold:size=16}${color6}${goto 50}[--datatype=DW --shortweekday --startday=1]${goto 230}[--datatype=DW --shortweekday --startday=2]${color}${font monofur:bold:size=11}${goto 5}${color5}[--datatype=SR --startday=1]${goto 130}${color}[--datatype=SS --startday=1]${goto 185}${color5}[--datatype=SR --startday=2]${goto 310}${color}[--datatype=SS --startday=2]${font}
${color7}${if_match "[datatype=PC --startday=1]" == "N/A"}${else}${if_match "[datatype=PC --startday=1]" == "0%"}${else}[datatype=PC --startday=1]${endif}${endif}${goto 90}${if_match "[datatype=PC --startday=1 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=1 --night]" == "0%"}${else}[datatype=PC --startday=1 --night]${endif}${endif}${goto 178}${if_match "[datatype=PC --startday=2]" == "N/A"}${else}${if_match "[datatype=PC --startday=2]" == "0%"}${else}[datatype=PC --startday=2]${endif}${endif}${goto 266}${if_match "[datatype=PC --startday=2 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=2 --night]" == "0%"}${else}[datatype=PC --startday=2 --night]${endif}${endif}${color}

${color5}${goto 70}[--datatype=DL --startday=1]${goto 242}[--datatype=DL --startday=2]
${goto 60}${color2}[--datatype=HT --startday=1]${goto 95}${color7}[--datatype=LT --startday=1]${goto 233}${color2}[--datatype=HT --startday=2]${goto 270}${color7}[--datatype=LT --startday=2]${color}${font monofur:pixelsize=0}
${image [--datatype=WI --startday=1] -p 0,160 -s 80x80}
${image [--datatype=WI --startday=1 --night] -p 86,160 -s 80x80}
${image [--datatype=WI --startday=2] -p 173,160 -s 80x80}
${image [--datatype=WI --startday=2 --night] -p 258,160 -s 80x80}
${font}${font monofur:bold:size=16}${color6}${goto 50}[--datatype=DW --shortweekday --startday=3]${goto 230}[--datatype=DW --shortweekday --startday=4]${color}${font monofur:bold:size=11}${goto 5}${color5}[--datatype=SR --startday=3]${goto 130}${color}[--datatype=SS --startday=3]${goto 185}${color5}[--datatype=SR --startday=4]${goto 310}${color}[--datatype=SS --startday=4]${font}
${color7}${if_match "[datatype=PC --startday=3]" == "N/A"}${else}${if_match "[datatype=PC --startday=3]" == "0%"}${else}[datatype=PC --startday=3]${endif}${endif}${goto 90}${if_match "[datatype=PC --startday=3 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=3 --night]" == "0%"}${else}[datatype=PC --startday=3 --night]${endif}${endif}${goto 178}${if_match "[datatype=PC --startday=4]" == "N/A"}${else}${if_match "[datatype=PC --startday=4]" == "0%"}${else}[datatype=PC --startday=4]${endif}${endif}${goto 266}${if_match "[datatype=PC --startday=4 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=4 --night]" == "0%"}${else}[datatype=PC --startday=4 --night]${endif}${endif}${color}

${color5}${goto 70}[--datatype=DL --startday=3]${goto 242}[--datatype=DL --startday=4]
${goto 60}${color2}[--datatype=HT --startday=3]${goto 95}${color7}[--datatype=LT --startday=3]${goto 233}${color2}[--datatype=HT --startday=4]${goto 270}${color7}[--datatype=LT --startday=4]${color}${font monofur:pixelsize=0}
${image [--datatype=WI --startday=3] -p 0,256 -s 80x80}
${image [--datatype=WI --startday=3 --night] -p 86,256 -s 80x80}
${image [--datatype=WI --startday=4] -p 173,256 -s 80x80}
${image [--datatype=WI --startday=4 --night] -p 259,256 -s 80x80}
${font}${font monofur:bold:size=16}${color6}${goto 50}[--datatype=DW --shortweekday --startday=5]${goto 230}[--datatype=DW --shortweekday --startday=6]${color}${font monofur:bold:size=11}${goto 5}${color5}[--datatype=SR --startday=5]${goto 130}${color}[--datatype=SS --startday=5]${goto 185}${color5}[--datatype=SR --startday=6]${goto 310}${color}[--datatype=SS --startday=6]${font}
${color7}${if_match "[datatype=PC --startday=5]" == "N/A"}${else}${if_match "[datatype=PC --startday=5]" == "0%"}${else}[datatype=PC --startday=5]${endif}${endif}${goto 90}${if_match "[datatype=PC --startday=5 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=5 --night]" == "0%"}${else}[datatype=PC --startday=5 --night]${endif}${endif}${goto 178}${if_match "[datatype=PC --startday=6]" == "N/A"}${else}${if_match "[datatype=PC --startday=6]" == "0%"}${else}[datatype=PC --startday=6]${endif}${endif}${goto 266}${if_match "[datatype=PC --startday=6 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=6 --night]" == "0%"}${else}[datatype=PC --startday=6 --night]${endif}${endif}${color}

${color5}${goto 70}[--datatype=DL --startday=5]${goto 242}[--datatype=DL --startday=6]
${goto 60}${color2}[--datatype=HT --startday=5]${goto 95}${color7}[--datatype=LT --startday=5]${goto 233}${color2}[--datatype=HT --startday=6]${goto 270}${color7}[--datatype=LT --startday=6]${color}${font monofur:pixelsize=0}
${image [--datatype=WI --startday=5] -p 0,352 -s 80x80}
${image [--datatype=WI --startday=5 --night] -p 86,352 -s 80x80}
${image [--datatype=WI --startday=6] -p 173,352 -s 80x80}
${image [--datatype=WI --startday=6 --night] -p 259,352 -s 80x80}
${font}${font monofur:bold:size=16}${color6}${goto 50}[--datatype=DW --shortweekday --startday=7]${goto 230}[--datatype=DW --shortweekday --startday=8]${color}${font monofur:bold:size=11}${goto 5}${color5}[--datatype=SR --startday=7]${goto 130}${color}[--datatype=SS --startday=7]${goto 185}${color5}[--datatype=SR --startday=8]${goto 310}${color}[--datatype=SS --startday=8]${font}
${color7}${if_match "[datatype=PC --startday=7]" == "N/A"}${else}${if_match "[datatype=PC --startday=7]" == "0%"}${else}[datatype=PC --startday=7]${endif}${endif}${goto 90}${if_match "[datatype=PC --startday=7 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=7 --night]" == "0%"}${else}[datatype=PC --startday=7 --night]${endif}${endif}${goto 178}${if_match "[datatype=PC --startday=8]" == "N/A"}${else}${if_match "[datatype=PC --startday=8]" == "0%"}${else}[datatype=PC --startday=8]${endif}${endif}${goto 266}${if_match "[datatype=PC --startday=8 --night]" == "N/A"}${else}${if_match "[datatype=PC --startday=8 --night]" == "0%"}${else}[datatype=PC --startday=8 --night]${endif}${endif}${color}

${color5}${goto 70}[--datatype=DL --startday=7]${goto 242}[--datatype=DL --startday=8]
${goto 60}${color2}[--datatype=HT --startday=7]${goto 95}${color7}[--datatype=LT --startday=7]${goto 233}${color2}[--datatype=HT --startday=8]${goto 270}${color7}[--datatype=LT --startday=8]${color}${font monofur:pixelsize=0}
${image [--datatype=WI --startday=7] -p 0,449 -s 80x80}
${image [--datatype=WI --startday=7 --night] -p 86,449 -s 80x80}
${image [--datatype=WI --startday=8] -p 173,449 -s 80x80}
${image [--datatype=WI --startday=8 --night] -p 259,449 -s 80x80}${font}


LUA v9000template: cF-2013.template.lua
--[[
The latest script is a lua only weather script. aka: v9000
http://crunchbanglinux.org/forums/topic/16100/weather-in-conky/

the file:
http://dl.dropbox.com/u/19008369/v9000.tar.gz

mrppeachys LUA Tutorial
http://crunchbanglinux.org/forums/topic/17246/how-to-using-lua-scripts-in-conky/
]]
_G.weather_script = function()--#### DO NOT EDIT THIS LINE ##############
--#######################################################################
-- SET DEFAULTS ##########################################################
-- set defaults do not localise these defaults if you use a seperate display script
default_font="monofur" --font must be in quotes
default_font_size=18
default_color=0xffffff--white
default_alpha=1--fully opaque
default_image_width=50
default_image_height=50
-- ## New Options ###
default_face="bold"
-- "normal" for normal/normal
-- "bold" for normal/bold
-- "italic" for italic/normal
-- "bolditalic" for italic/bold
--END OF DEFAULTS #######################################################
--START OF WEATHER CODE -- START OF WEATHER CODE -- START OF WEATHER CODE

-- ### Today Moon
out({c=0x000000,a=1,x=286,y=31,fs=14,txt=moon_rise_24[1]})
  out({c=0x48D1CC,a=1,x=285,y=30,fs=14,txt=moon_rise_24[1]})
out({c=0x000000,a=1,x=286,y=111,fs=14,txt=moon_set_24[1]})
  out({c=0x48D1CC,a=1,x=285,y=110,fs=14,txt=moon_set_24[1]})

-- ### Forcast - Day numbers and Moon Rise Set times ####################

-- Day Numbers
-- left right
tdx= 100 tdxx=175
tdy=173 tdyy=96

-- Moon Rise Set
-- rise set | rise set
tmx= 5 tmx1=125   tmx2=185 tmx3=300
tmy=242 tmyy=96

-- ### DAY - 2 & 3 #############################################################
out({c=0x000000,a=1,x=tdx+1,y=tdy+1,txt=forecast_date[2]})
  out({c=0x00BFFF,a=1,x=tdx,y=tdy,txt=forecast_date[2]})
out({c=0x000000,a=1,x=tdx+tdxx+1,y=tdy+1,txt=forecast_date[3]})
  out({c=0x00BFFF,a=1,x=tdx+tdxx,y=tdy,txt=forecast_date[3]})
-- ### MOON day 2
out({c=0x000000,a=1,x=tmx+1,y=tmy+1,fs=14,txt=moon_rise_24[2]})
  out({c=0xDCDCDC,a=1,x=tmx,y=tmy,fs=14,txt=moon_rise_24[2]})
out({c=0x000000,a=1,x=tmx+tmx1+1,y=tmy+1,fs=14,txt=moon_set_24[2]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx1,y=tmy,fs=14,txt=moon_set_24[2]})
-- ### MOON day 3
out({c=0x000000,a=1,x=tmx2+1,y=tmy+1,fs=14,txt=moon_rise_24[3]})
  out({c=0xDCDCDC,a=1,x=tmx2,y=tmy,fs=14,txt=moon_rise_24[3]})
out({c=0x000000,a=1,x=tmx+tmx3+1,y=tmy+1,fs=14,txt=moon_set_24[3]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx3,y=tmy,fs=14,txt=moon_set_24[3]})

-- ### DAY - 4 & 5 #############################################################
out({c=0x000000,a=1,x=tdx+1,y=tdy+(tdyy*1)+1,txt=forecast_date[4]})
  out({c=0x00BFFF,a=1,x=tdx,y=tdy+(tdyy*1),txt=forecast_date[4]})
out({c=0x000000,a=1,x=tdx+tdxx+1,y=tdy+(tdyy*1)+1,txt=forecast_date[5]})
  out({c=0x00BFFF,a=1,x=tdx+tdxx,y=tdy+(tdyy*1),txt=forecast_date[5]})
-- ### MOON day 4
out({c=0x000000,a=1,x=tmx+1,y=tmy+(tmyy*1)+1,fs=14,txt=moon_rise_24[4]})
  out({c=0xDCDCDC,a=1,x=tmx,y=tmy+(tmyy*1),fs=14,txt=moon_rise_24[4]})
out({c=0x000000,a=1,x=tmx+tmx1+1,y=tmy+(tmyy*1)+1,fs=14,txt=moon_set_24[4]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx1,y=tmy+(tmyy*1),fs=14,txt=moon_set_24[4]})
-- ### MOON day 5
out({c=0x000000,a=1,x=tmx2+1,y=tmy+(tmyy*1)+1,fs=14,txt=moon_rise_24[5]})
  out({c=0xDCDCDC,a=1,x=tmx2,y=tmy+(tmyy*1),fs=14,txt=moon_rise_24[5]})
out({c=0x000000,a=1,x=tmx+tmx3+1,y=tmy+(tmyy*1)+1,fs=14,txt=moon_set_24[5]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx3,y=tmy+(tmyy*1),fs=14,txt=moon_set_24[5]})

-- ### DAY - 6 & 7 #############################################################
out({c=0x000000,a=1,x=tdx+1,y=tdy+(tdyy*2)+1,txt=forecast_date[6]})
  out({c=0x00BFFF,a=1,x=tdx,y=tdy+(tdyy*2),txt=forecast_date[6]})
out({c=0x000000,a=1,x=tdx+tdxx+1,y=tdy+(tdyy*2)+1,txt=forecast_date[7]})
  out({c=0x00BFFF,a=1,x=tdx+tdxx,y=tdy+(tdyy*2),txt=forecast_date[7]})
-- ### MOON day 6
out({c=0x000000,a=1,x=tmx+1,y=tmy+(tmyy*2)+1,fs=14,txt=moon_rise_24[6]})
  out({c=0xDCDCDC,a=1,x=tmx,y=tmy+(tmyy*2),fs=14,txt=moon_rise_24[6]})
out({c=0x000000,a=1,x=tmx+tmx1+1,y=tmy+(tmyy*2)+1,fs=14,txt=moon_set_24[6]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx1,y=tmy+(tmyy*2),fs=14,txt=moon_set_24[6]})
-- ### MOON day 7
out({c=0x000000,a=1,x=tmx2+1,y=tmy+(tmyy*2)+1,fs=14,txt=moon_rise_24[7]})
  out({c=0xDCDCDC,a=1,x=tmx2,y=tmy+(tmyy*2),fs=14,txt=moon_rise_24[7]})
out({c=0x000000,a=1,x=tmx+tmx3+1,y=tmy+(tmyy*2)+1,fs=14,txt=moon_set_24[7]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx3,y=tmy+(tmyy*2),fs=14,txt=moon_set_24[7]})

-- ### DAY - 8 & 9 #############################################################
out({c=0x000000,a=1,x=tdx+1,y=tdy+(tdyy*3)+1,txt=forecast_date[8]})
  out({c=0x00BFFF,a=1,x=tdx,y=tdy+(tdyy*3),txt=forecast_date[8]})
out({c=0x000000,a=1,x=tdx+tdxx+1,y=tdy+(tdyy*3)+1,txt=forecast_date[9]})
  out({c=0x00BFFF,a=1,x=tdx+tdxx,y=tdy+(tdyy*3),txt=forecast_date[9]})
-- ### MOON day 8
out({c=0x000000,a=1,x=tmx+1,y=tmy+(tmyy*3)+1,fs=14,txt=moon_rise_24[8]})
  out({c=0xDCDCDC,a=1,x=tmx,y=tmy+(tmyy*3),fs=14,txt=moon_rise_24[8]})
out({c=0x000000,a=1,x=tmx+tmx1+1,y=tmy+(tmyy*3)+1,fs=14,txt=moon_set_24[8]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx1,y=tmy+(tmyy*3),fs=14,txt=moon_set_24[8]})
-- ### MOON day 9
out({c=0x000000,a=1,x=tmx2+1,y=tmy+(tmyy*3)+1,fs=14,txt=moon_rise_24[9]})
  out({c=0xDCDCDC,a=1,x=tmx2,y=tmy+(tmyy*3),fs=14,txt=moon_rise_24[9]})
out({c=0x000000,a=1,x=tmx+tmx3+1,y=tmy+(tmyy*3)+1,fs=14,txt=moon_set_24[9]})
  out({c=0xB0C4DE,a=1,x=tmx+tmx3,y=tmy+(tmyy*3),fs=14,txt=moon_set_24[9]})

--#######################################################################
--END OF WEATHER CODE ----END OF WEATHER CODE ----END OF WEATHER CODE ---
--#######################################################################
end--of weather_display function do not edit this line ##################
--#######################################################################


Stay Home

Sector11

#29
    Are you like me and never remember dates?  Want to know how long it's been since an event?  Or how much longer until the big day?

    Will kaivalagi's "
conkymisc_1.06_all.deb" can help.  It's a bunch of python scripts ... I use them with VSIDO so trust me they are OK.
muawhahahaha

You'll end up with:

  • /usr/share/conkymisc/conkyDateDiff.py
  • /usr/share/conkymisc/conkyDateDiff.pyc
  • /usr/share/conkymisc/conkyDatetimeDiff.py
  • /usr/share/conkymisc/conkyDatetimeDiff.pyc
  • /usr/share/conkymisc/conkyDaysDiff.py
  • /usr/share/conkymisc/conkyDaysDiff.pyc
  • /usr/share/conkymisc/conkyLatLong.py
  • /usr/share/conkymisc/conkyLatLong.pyc
  • /usr/share/conkymisc/conkySlideshow.py
  • /usr/share/conkymisc/conkySlideshow.pyc
  • /usr/share/conkymisc/conkyText.py
  • /usr/share/conkymisc/conkyText.pyc

  • /usr/share/conkymisc/example/conkyDatetimeDiff.conkyrc
  • /usr/share/conkymisc/example/conkySlideshow.conkyrc
  • /usr/share/conkymisc/example/conkySlideshow.imagelist
  • /usr/share/conkymisc/example/conkySlideshow.template
  • /usr/share/conkymisc/example/conkyText.conkyrc
  • /usr/share/conkymisc/example/conkyText.template
  • /usr/share/conkymisc/example/conkyText.txt
I've used them all except for conkySlideshow - so if you feel daring.  :D

Anyway onto the date time reminders


On the left is the older conkyDatetimeDiff.py in action.  the seconds do want to work in examples 1 or 2 but starting in samples 7 and on they work just fine.

It's easy to use:
[/list] 20 Mar 13 | 09:51:32 ~
         $ conkyDatetimeDiff --help
Usage: conkyDatetimeDiff.py [options]

Options:
  -h, --help            show this help message and exit
  -s DATETIME, --startdatetime=DATETIME
                        [Mandatory] Start datetime to use for difference
                        output
  -e DATETIME, --enddatetime=DATETIME
                        End datetime to use for difference output, if omitted
                        then the current datetime is used.
  -i FORMAT, --inputformat=FORMAT
                        default:[%Y%m%d]Specify the format of the input date
                        time fields. See python docs for formatting options:
                        http://docs.python.org/library/datetime.html#strftime-
                        and-strptime-behavior
  -o OPTION, --outputformat=OPTION
                        default:[DIFF]Specify the format of the output date
                        time difference values, options are either DIFF,
                        YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS
  -S, --shortoutput     Specify if short output is required resulting in ':'
                        separated string values where complex or a number
                        where not rather than plain english
  -n, --displaynegatives
                        Specify if a negative value should be output, normally
                        only the positive time difference is displayed
  -v, --verbose         Request verbose output, not a good idea when running
                        through conky!
  --errorlogfile=FILE   If a filepath is set, the script appends errors to the
                        filepath.
  --infologfile=FILE    If a filepath is set, the script appends info to the
                        filepath.

20 Mar 13 | 10:16:51 ~
         $


The conky for that display on the left:
# killall conky && conky -c /media/5/Conky/conkyDatetimeDiff.conkyrc &
# conky configuration - edited by kaivalagi
# tweaked by Sector11

###  Begin Window Settings  ##################################################
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,skip_taskbar,skip_pager
# own_window_colour brown
own_window_class Conky
own_window_title Dates

# Use the Xdbe extension? (eliminates flicker)
# It is highly recommended to use own window with this one
# so double buffer won't be so big.
double_buffer yes

### ARGB can be used for real transparency
### NOTE that a composite manager is required for real transparency.
### This option will not work as desired (in most cases) in conjunction with
### own_window_type normal
### own_window_argb_visual yes

### When ARGB visuals are enabled, this use this to modify the alpha value
### Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
# # own_window_argb_value 0

minimum_size 500 0    ## width, height
maximum_width 500       ## width, usually a good idea to equal minimum width

gap_x 10 # left-right
gap_y 10 # up-down

alignment top_left
###################################################  End Window Settings  ###
###  Font Settings  ##########################################################
# Use Xft (anti-aliased font and stuff)
use_xft yes
xftfont Andale Mono:bold:size=10

# Alpha of Xft font. Must be a value at or between 1 and 0 ###
xftalpha 1
# Force UTF8? requires XFT ###
override_utf8_locale yes

uppercase no
######################################################  End Font Settings  ###
###  Color Settings  #########################################################
draw_shades yes # amplifies text if yes
default_shade_color 000000

draw_outline no # amplifies text if yes
default_outline_color 000000

#default_color 000000 #  0   0   0 Black
default_color DCDCDC #220 220 220 Gainsboro
color0 8FBC8F #143 188 143 DarkSeaGreen
color1 778899 #119 136 153 LightSlateGray
color2 FF8C00 #255 140   0 DarkOrange
color3 7FFF00 #127 255   0 Chartreuse
color4 FFA07A #255 160 122 LightSalmon
color5 FFDEAD #255 222 173 NavajoWhite
color6 00BFFF #  0 191 255 DeepSkyBlue
color7 00FFFF #  0 255 255 Cyan
color8 FFFF00 #255 255   0 Yellow
color9 B22222 #178  34  34 FireBrick
#####################################################  End Color Settings  ###
###  Borders Section  ########################################################
draw_borders no
# Stippled borders?
stippled_borders 0
# border margins
border_inner_margin 10
border_outer_margin 0
# border width
border_width 0
# graph borders
draw_graph_borders no
#####################################################  End Borders Secton  ###
###  Miscellaneous Section  ##################################################

# yes
background yes

# Adds spaces around certain objects to stop them from moving other things
# around, this only helps if you are using a mono font
# Options: right, left or none
use_spacer none

# Default and Minimum size is 256 - needs more for single commands that
# "call" a lot of text IE: bash scripts
text_buffer_size 512

# Subtract (file system) buffers from used memory?
no_buffers yes

# change GiB to G and MiB to M
short_units yes

# Like it says, ot pads the decimals on % values
# doesn't seem to work since v1.7.1
pad_percents 2

##############################################  End Miscellaneous Section  ###
###  LUA Settings  ###########################################################
## Above and After TEXT - requires a composite manager or blinks.
##
## lua_load /media/5/Conky/LUA/draw-bg.lua
## TEXT
## ${lua conky_draw_bg 10 0 0 0 0 0x000000 0.2}
## ${lua conky_draw_bg corner_radius x_position y_position width height color alpha}
##
##
## OR Both above TEXT (No composite manager required - no blinking!)
lua_load /media/5/Conky/LUA/draw-bg.lua
lua_draw_hook_pre draw_bg 15 0 0 0 0 0x000000 0.2
##
#######################################################  End LUA Settings  ###

# The all important - How often conky refreshes.
# If you have a "Crey" try: 0.2 - smokin' - but watch the CPU useage go UP!
##update_interval 84600 ## or 1 then testing
update_interval 1 ## or 1 then testing

## box chars ─ plus ─ works on #! Statler
## Inspired by Arpinux, Box Chars by Aphelion & Sector11
## http://crunchbanglinux─fr.org/forum/viewtopic.php?pid=15355#p15355
## not with all fonts... test first .. these work:
## xftfont monospace:size=8.5
## xftfont DejaVu Sans Mono:size=8.5

## │ ─ ┌ ┬ ┐ └ ┴ ┘ ├ ┼ ┤
## ║ ═ ╔ ╦ ╗ ╚ ╩ ╝ ╠ ╬ ╣

## ↑ ↓ → ← ↔ ► ◄ ▲ ▼ « »
## ░  ▒  ▓ ☺ ☻ ♥ ♦ ♣ ♠
## • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
## ¼ ½ ¾ ® ©

#  M&P: 24/10/58: ${execi 600 conkyDateDiff 19581024} or ${color0}${execi 600 conkyDaysDiff 19581024}
#  P02: 30/06/30: ${execi 600 conkyDateDiff 19300630} or ${color0}${execi 600 conkyDaysDiff 19300630}

TEXT
1) Just a start datetime so defaults all
(i.e. a PAST date): 20111225 (seconds do not work)
${exec conkyDatetimeDiff -s 20111225}

2) Same as above but with short output option:
   20111225 -S
${exec conkyDatetimeDiff -s 20111225 -S}

3) Days difference from new year of 2000 to now:
   20000101 -o DAYS
${exec conkyDatetimeDiff -s 20000101 -o DAYS}

4) same but with end date and in seconds:
${exec conkyDatetimeDiff -s 20100101 -e 20110401 -o SECONDS} (does not count down/up)

5) Or how about weeks:
${exec conkyDatetimeDiff -s 20100101 -e 20110401 -o WEEKS}

6) Or months:
${exec conkyDatetimeDiff -s 20100101 -e 20110401 -o MONTHS}

7) How about a different datetime format giving date and time
   (spaces so quotes needed!):
   -s "12/02/2009 18:25:12" -i "%d/%m/%Y %H:%M:%S"
${exec conkyDatetimeDiff -s "12/02/2009 18:25:12" -i "%d/%m/%Y %H:%M:%S"}

8) How about the short form of it (above):
${exec conkyDatetimeDiff -s "12/02/2009 18:25:12" -i "%d/%m/%Y %H:%M:%S" -S}

9) Just a time, the date element is auto filled rather than
   left to the default of the start of time (1900 in this
   case), -n option gives the same: -s 18:25:12 -i %H:%M:%S
${exec conkyDatetimeDiff -s 18:25:12 -i %H:%M:%S}

10) and between two times: s 18:25:12 -e 21:05:14 -i %H:%M:%S
${exec conkyDatetimeDiff -s 18:25:12 -e 21:05:14 -i %H:%M:%S}

11) Just for kicks added a month number on the front to show
    the diversity of input allowed:
    -s 02-18:25:12 -i %m-%H:%M:%S
${exec conkyDatetimeDiff -s 02-18:25:12 -i %m-%H:%M:%S}

${color5}${alignc}============================
${alignc}${color}Using Nº7 as a sample and assuning I was born at
${alignc}10:13:46 on 12 May 1949

${alignc}${color5}${exec conkyDatetimeDiff -s "12/05/1949 10:13:46" -i "%d/%m/%Y %H:%M:%S"}

${color}I don't think so, at my age I count by decades because 6.3
sounds younger than 63 years old

This is just too much of a reminder:
${alignc}${color5}${exec conkyDatetimeDiff -s "12/05/1949 10:13:46" -i "%d/%m/%Y %H:%M:%S"}
${alignc}${color5}${exec conkyDatetimeDiff -s "12/05/1949 10:13:46" -i "%d/%m/%Y %H:%M:%S" -S}
${alignc}${color5}


An on the right we have the newer versions of: conkyDateDiff.py and conkyDaysDiff.py in action.  This is use a whole bunch.

They are SUPER easy to use:
20 Mar 13 | 11:25:04 ~
         $ conkyDaysDiff --help
Usage: conkyDaysDiff <startdate> [<enddate>]
  If no end date given it is assumed to be today.

  examples:

    $ conkyDaysDiff 20080105 20091225
    720

20 Mar 13 | 11:25:12 ~
         $ conkyDateDiff --help
Usage: conkyDateDiff <startdate> [<enddate>]
  If no end date given it is assumed to be today.

  examples:

    $ conkyDateDiff 20080105 20091225
    1 year, 11 months, 20 days

20 Mar 13 | 11:25:20 ~
         $


The conky that did the display on the right:
# To use #! in a conky use: ${exec echo '#!'}
# killall conky && conky -c /media/5/Conky/Dates.conky &
# by Sector11

###  Begin Window Settings  ##################################################
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,skip_taskbar,skip_pager
# own_window_colour brown
own_window_class Dates
own_window_title Dates

# Use the Xdbe extension? (eliminates flicker)
# It is highly recommended to use own window with this one
# so double buffer won't be so big.
double_buffer yes

### ARGB can be used for real transparency
### NOTE that a composite manager is required for real transparency.
### This option will not work as desired (in most cases) in conjunction with
### own_window_type normal
### own_window_argb_visual yes

### When ARGB visuals are enabled, this use this to modify the alpha value
### Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
# # own_window_argb_value 0

#minimum_size 50 0    ## width, height
#maximum_width 50       ## width, usually a good idea to equal minimum width

gap_x 10 # left-right
gap_y 10 # up-down

alignment top_right
###################################################  End Window Settings  ###
###  Font Settings  ##########################################################
# Use Xft (anti-aliased font and stuff)
use_xft yes
xftfont Andale Mono:bold:size=12

# Alpha of Xft font. Must be a value at or between 1 and 0 ###
xftalpha 1
# Force UTF8? requires XFT ###
override_utf8_locale yes

uppercase no
######################################################  End Font Settings  ###
###  Color Settings  #########################################################
draw_shades yes # amplifies text if yes
default_shade_color 000000

draw_outline no # amplifies text if yes
default_outline_color 000000

#default_color 000000 #  0   0   0 Black
default_color DCDCDC #220 220 220 Gainsboro
color0 8FBC8F #143 188 143 DarkSeaGreen
color1 778899 #119 136 153 LightSlateGray
color2 FF8C00 #255 140   0 DarkOrange
color3 7FFF00 #127 255   0 Chartreuse
color4 FFA07A #255 160 122 LightSalmon
color5 FFDEAD #255 222 173 NavajoWhite
color6 00BFFF #  0 191 255 DeepSkyBlue
color7 00FFFF #  0 255 255 Cyan
color8 FFFF00 #255 255   0 Yellow
color9 B22222 #178  34  34 FireBrick
#####################################################  End Color Settings  ###
###  Borders Section  ########################################################
draw_borders no
# Stippled borders?
stippled_borders 0
# border margins
border_inner_margin 10
border_outer_margin 0
# border width
border_width 0
# graph borders
draw_graph_borders no
#####################################################  End Borders Secton  ###
###  Miscellaneous Section  ##################################################

# yes
background yes

# Adds spaces around certain objects to stop them from moving other things
# around, this only helps if you are using a mono font
# Options: right, left or none
use_spacer none

# Default and Minimum size is 256 - needs more for single commands that
# "call" a lot of text IE: bash scripts
text_buffer_size 512

# Subtract (file system) buffers from used memory?
no_buffers yes

# change GiB to G and MiB to M
short_units yes

# Like it says, ot pads the decimals on % values
# doesn't seem to work since v1.7.1
pad_percents 2

##############################################  End Miscellaneous Section  ###
###  LUA Settings  ###########################################################
## Above and After TEXT - requires a composite manager or blinks.
##
## lua_load /media/5/Conky/LUA/draw-bg.lua
## TEXT
## ${lua conky_draw_bg 10 0 0 0 0 0x000000 0.2}
## ${lua conky_draw_bg corner_radius x_position y_position width height color alpha}
##
##
## OR Both above TEXT (No composite manager required - no blinking!)
lua_load /media/5/Conky/LUA/draw-bg.lua
lua_draw_hook_pre draw_bg 15 0 0 0 0 0x000000 0.2
##
#######################################################  End LUA Settings  ###

# The all important - How often conky refreshes.
# If you have a "Crey" try: 0.2 - smokin' - but watch the CPU useage go UP!
##update_interval 84600 ## or 1 then testing
update_interval 1 ## or 1 then testing

## box chars ─ plus ─ works on #! Statler
## Inspired by Arpinux, Box Chars by Aphelion & Sector11
## http://crunchbanglinux─fr.org/forum/viewtopic.php?pid=15355#p15355
## not with all fonts... test first .. these work:
## xftfont monospace:size=8.5
## xftfont DejaVu Sans Mono:size=8.5

## │ ─ ┌ ┬ ┐ └ ┴ ┘ ├ ┼ ┤
## ║ ═ ╔ ╦ ╗ ╚ ╩ ╝ ╠ ╬ ╣

## ↑ ↓ → ← ↔ ► ◄ ▲ ▼ « »
## ░  ▒  ▓ ☺ ☻ ♥ ♦ ♣ ♠
## • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
## ¼ ½ ¾ ® ©

#  M&P: 24/10/58: ${execi 600 conkyDateDiff 19581024} or ${color0}${execi 600 conkyDaysDiff 19581024}
#  P02: 30/06/30: ${execi 600 conkyDateDiff 19300630} or ${color0}${execi 600 conkyDaysDiff 19300630}

TEXT

The Mayans said the world will end on ${color5}21 Dec 2012
${color}That was ${color6}${execi 600 conkyDaysDiff 20121221} ${color}days ago and we are still here.
Or ${color5}${execi 600 conkyDateDiff 20121221} ${color}- doomsday my butt!


${color5}5 May 1646: ${color6}${execi 600 conkyDateDiff 16460505} or ${color0}${execi 600 conkyDaysDiff 16460505} days.
${color}Charles I surrenders to the Scottish Army at Newark

${color5}2 Feb 1709: ${color6}${execi 600 conkyDateDiff 17090202} or ${color0}${execi 600 conkyDaysDiff 17090202} days.
${color}Alexander Selkirk rescued from shipwreck
on a desert island, inspiring the book
Robinson Crusoe (published in 1719)
by Daniel Defoe

${alignc}${color5}=======================================
${alignc}${color}Unwittingly I selected two dates where
${alignc}months and days are the same....
${alignc}Be careful the format is: YYYYMMDD
${alignc}${color5}=======================================

${color5}30 Mar 1867:${color6} ${execi 600 conkyDateDiff 18670330} or ${color0}${execi 600 conkyDaysDiff 18670330} days.
${color}USA buys Alaska from Russia

${color5}6 Dec 1917: ${color6}${execi 600 conkyDateDiff 19171206} or ${color0}${execi 600 conkyDaysDiff 19171206} days.
${color}Halifax (Nova Scotia) Explosion, one of the
world's largest artificial non-nuclear explosions
to date: a ship loaded with wartime explosives
blew up after a collision, obliterating buildings
and structures within two square kilometres
of the explosion

${alignc}${color5}======================================
${alignc}${color}Sector11
AA: ${color5}15/01/86: ${color6}${execi 600 conkyDateDiff 19860115} or ${color0}${execi 600 conkyDaysDiff 19860115} days.
${color}BD: ${color5}12/05/49: ${color6}${execi 600 conkyDateDiff 19490512} or ${color0}${execi 600 conkyDaysDiff 19490512} days.

${alignc}${color}And ${color5}12 May 2525 ${color}is:

${alignc}${color6}${execi 600 conkyDateDiff 25250512} ${color}into the future.
${alignc}That's another ${color0}${execi 600 conkyDaysDiff 25250512} ${color}days to go!
${alignc}I'll be ${color6}${execi 600 conkyDateDiff 19490512 25250512}${color} years old or ${color0}${execi 600 conkyDaysDiff 19491205 25250512} ${color}days.
${alignc}Doubt I'll be here for that!
${alignc}But just think, I'd sober for:
${alignc}${color5}${execi 600 conkyDateDiff 19860115 25251205} ${color}or ${color0}${execi 600 conkyDaysDiff 19860115 25251205} days.
Stay Home