Conky! It’s awesome!!

I was talking about conky about being a light-weight system monitor but it is much more than that! It makes you feel much more cool than you actually are. Believe me, I know how it feels;-)

So this is my first Conky and I admit it is not entirely mine. It is basically a cut-and-paste job with some tweaking of other good Conkies. I ‘stole’ from so many places that I actually do not remember where from but three people who need to be credited are
Kaivalagi and VastOne from Ubuntuforum and Kevin Purdy of lifehacker for an old post on Conkies.

Here are my screenshots:
Conky1 http://bit.ly/agF8Z8
Conky2 http://bit.ly/aFdr0Z
Desktop http://bit.ly/9nofbV

These are Kaivalagi’s scripts that you need to have.
http://ubuntuforums.org/showthread.php?p=6097476

Follow his instructions on registering with xoap.weather.com for an id, here. http://ubuntuforums.org/showthread.php?t=869328

Now, go ahead and copy the following code in a text file in your home directory and save it as .conkyrc_system.

use_xft yes
xftfont verdana:size=10
override_utf8_locale yes
alignment bottom_left
xftalpha 0.9
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
draw_shades no
draw_outline no
draw_borders no
stippled_borders 10
border_outer_margin 10
border_width 1
default_shade_color grey
default_outline_color black
default_color white
use_spacer none
no_buffers yes
uppercase no
color1 6694B2
gap_x 5
gap_y 8

TEXT

${font Arial:size=18}${color Tan1}Senthil’s ${color Ivory}Linux
${voffset -90}
${color DimGray}
${font}

${font Arial:bold:size=10}${color Tan1}SYSTEM ${color DarkSlateGray} ${hr 2}
$font${color DimGray}$sysname $kernel $alignr $machine
AMD Athlon 64 X2 Dual Core +3800 $alignr${freq_g cpu0}Ghz
NVidia GeForce 7300 LE GPU $alignr${nvidia gpufreq}Mhz
NVidia GeForce 7300 LE Memory $alignr${nvidia memfreq}Mhz
Uptime $alignr${uptime}
Core 1: ${freq 1} MHz
${cpu cpu1}% ${color 597DB2}${cpubar cpu1}$color
Core 2: ${freq 2} MHz
${cpu cpu2}% ${color 597DB2}${cpubar cpu2}$color

RAM $alignc $mem / $memmax $alignr $memperc%
$membar
Swap $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar}

10.10 ${fs_type} (Root): ${fs_free_perc /}% ${color FFFF33} ${fs_bar 6 /}$color
NTFS (Software): ${fs_free_perc /media/Software}% ${color FFFF33} ${fs_bar 6 /media/Software}$color
NTFS (Research): ${fs_free_perc /media/New Volume}% ${color FFFF33} ${fs_bar 6 /media/New Volume}$color

${font Arial:bold:size=10}${color Tan1}TOP MEM USERS${color DarkSlateGray}${hr 2}
${color DimGray}$font${top_mem name 1}${alignr}${top mem 1} %
$font${top_mem name 2}${alignr}${top mem 2} %
$font${top_mem name 3}${alignr}${top mem 3} %

${font Arial:bold:size=10}${color Tan1}TOP PROCESSES${color DarkSlateGray}${hr 2}
${color DimGray}$font${top name 1} ${alignc}${top pid 1} ${alignr}${top cpu 1}.%
${top name 2} ${alignc}${top pid 2} ${alignr}${top cpu 2}.%
${top name 3} ${alignc}${top pid 3} ${alignr}${top cpu 3}.%

${font Arial:bold:size=10}${color Tan2}NETWORK ${color DarkSlateGray}${hr 2}
$font${color DimGray}IP on eth1 $alignr ${addr eth1}
Download Speed: $alignr${downspeed eth1}/s

——End of Code——————————————————————-

And copy the following code and save it as .conkyrc_misc.(this is a fullstop!)

# maintain spacing between certain elements
use_spacer yes

# set to yes if you want conky to be forked in the background
background no

use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono-10
#xftfont Andale Mono-9
#xftfont Clean-8
#xftfont cubicfive10:pixelsize=8
#xftfont squaredance10:pixelsize=14
#xftfont swf!t_v02:pixelsize=10

# Text alpha when using Xft
xftalpha 1
mail_spool $MAIL

# Update interval in seconds
update_interval 4.0

# Create own window instead of using desktop (required in nautilus)
own_window no

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

# Minimum size of text area
minimum_size 280 5

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no # amplifies text

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
border_margin 9

# border width
border_width 1

# Default colors and also border colors, grey90 == #e5e5e5
default_color grey90
default_shade_color black
default_outline_color DarkGrey

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

# Gap between borders of screen and text
gap_x 24
gap_y 24

# Subtract file system buffers from used memory?
no_buffers yes

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

maximum_width 300

TEXT

${hr 2}${color}${font}
${color1}${font Terminus:style=Bold:size=10}Now Playing ${font}
${color1}${execp conkyGuayadeque –template=~/conkyGuayadeque.template}
${color2} ${font verdana:size=14}${time %A %b %d %Y}
${voffset -2} ${font Radio Space:size=25}${time %I:%M}${time %P}${offset 50}
${font verdana:size=14}${color1}bsvelan@gmail.com ${hr 2}${color}${font}
${color F8DF58}${font FreeSans:size=14}Inbox${font}$alignr ${execpi 15 python ~/gmail_parser.py XXXXX@gmail.com PASSWORD 3}
${hr 2}${color}${font}
${color F8DF58}${font FreeSans:size=14}Google Reader${font}
${color2}${execi 300 conkyGoogleReader -S -u XXXXXX@gmail.com -p PASSWORD| fold -s -w44}
${hr 2}${color}${font}
${color F8DF58}${font FreeSans:size=14}College Park Weather
${font}${color lightgrey}Temp: ${execi 1800 conkyForecast –location=USMD0100 –datatype=HT –imperial}
Winds: ${execi 1800 conkyForecast –location=USMD0100 –datatype=WS}
Precip: ${execi 1800 conkyForecast –location=USMD0100 –datatype=PC}

———-End of Code—————————————————————–

Now create conkyForecast.template on your home directory:
${image [–datatype=WI –imperial] -p 12,0 -s 90×90}${goto 120}${color2}${font Zekton:size=20}[–datatype=DW –imperial –shortweekday –startday=0]:${color6} [–datatype=HT –imperial]
${goto 120}${voffset -10}${font Zekton:bold:size=9}${color2}Apparent Temp: ${color6}[–datatype=LT –imperial –night]${font}
${goto 120}${color2}Mín: ${color6}[–startday=0 –datatype=LT –imperial –night] ${color2}Max: ${color9}[–startday=0 –datatype=HT –imperial –night]
${goto 10}${voffset 10}${font Zekton:bold:size=11} ${color7}[–datatype=CC –imperial]${color}${font}
${goto 10}${voffset 3}${color7}Visibility:${color8} [–datatype=VI –imperial]
${goto 10}${voffset 3}${color7}Dew Pnt.: ${color8}[–datatype=DP –imperial]${color}
${goto 10}${voffset 3}${color7}Pressure: ${color8}[–datatype=BR –imperial] – [–datatype=BD –imperial]${color}
${goto 10}${voffset 3}${color7}Humidity: ${color8}[–datatype=HM –imperial] ${color7}UV: ${color8}[–datatype=UI –imperial] – ${color8}[–datatype=UT –imperial]
${goto 15}${voffset 5}${color8}${font SunNMoon:size=50}n${font}${goto 70}${voffset -38}${font Arrows:size 20}${color3}b${color8}${font}[–datatype=SR –imperial]
${goto 75}${color0}D-L: [–datatype=DL –imperial]
${goto 70}${font Arrows:size 20}${color1}h${color8}${font}[–datatype=SS –imperial]${color}
${image [–datatype=MI –imperial] -p 173,170 -s 55×55}
${goto 15}${font DejaVu Sans Mono:bold:size=7}W:[–datatype=LU –imperial] -=- C:[–datatype=LF –imperial]${font}
${image [–datatype=BI –imperial] -p 280,6 -s 45×45}
${goto 280}${voffset -195}${color7}(${color8}[–datatype=WA –imperial]°${color7}) ${color8}[–datatype=WD –imperial]
${goto 300}${voffset 5}${color8}[–datatype=WS –imperial]
${voffset -110}${goto 380}${color2}[–datatype=DW –imperial –shortweekday –startday=1]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=1]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=1]${goto 480}${color2}[–datatype=DW –imperial –shortweekday –startday=2]:${color1}[–datatype=HT –imperial–hideunits –hidedegreesymbol –startday=2]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=2]${goto 580}${color2}[–datatype=DW –imperial –shortweekday –startday=3]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=3]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=3]
${image [–datatype=WI –imperial –startday=1] -p 380,0 -s 50×50}${image [–datatype=WI –imperial –startday=2] -p 480,0 -s 50×50}${image [–datatype=WI –imperial –startday=3] -p 580,0 -s 50×50}
${voffset 40}${goto 380}${color7}Sun:${color3}[–datatype=SR –imperial –startday=1]${goto 480}${color7}Sun:${color3}[–datatype=SR –imperial –startday=2]${goto 580}${color7}Sun:${color3}[–datatype=SR –imperial –startday=3]
${goto 380}${color7} :${color1}[–datatype=SS –imperial –startday=1]${color}${goto 480}${color7} :${color1}[–datatype=SS –imperial –startday=2]${color}${goto 580}${color7} :${color1}[–datatype=SS –imperial –startday=3]${color}
${goto 380}${color7}D-L:${color8}[–datatype=DL –imperial –startday=1]${color}${goto 480}${color7}D-L:${color8}[–datatype=DL –imperial –startday=2]${color}${goto 580}${color7}D-L:${color8}[–datatype=DL –imperial –startday=3]${color}
${voffset 10}${color8}${goto 280}${hr 2}${color}
${voffset 10}${goto 280}${color2}[–datatype=DW –imperial –shortweekday –startday=4]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=4]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=4]${goto 380}${color2}[–datatype=DW –imperial –shortweekday –startday=5]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=5]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=5]${goto 480}${color2}[–datatype=DW –imperial –shortweekday –startday=6]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=6]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=6]${goto 580}${color2}[–datatype=DW –imperial –shortweekday –startday=7]:${color1}[–datatype=HT –imperial –hideunits –hidedegreesymbol –startday=7]${color}/${color7}[–datatype=LT –imperial –hideunits –hidedegreesymbol –startday=7]
${image [–datatype=WI –imperial –startday=4] -p 280,140 -s 50×50}${image [–datatype=WI –imperial –startday=5] -p 380,140 -s 50×50}${image [–datatype=WI –imperial –startday=6] -p 480,140 -s 50×50}${image [–datatype=WI –imperial –startday=7] -p 580,140 -s 50×50}
${voffset 45}${goto 280}${color7}Sun:${color3}[–datatype=SR –imperial –startday=4]${goto 380}${color7}Sun:${color3}[–datatype=SR –imperial –startday=5]${goto 480}${color7}Sun:${color3}[–datatype=SR –imperial –startday=6]${goto 580}${color7}Sun:${color3}[–datatype=SR –imperial –startday=7]
${goto 280}${color7} :${color1}[–datatype=SS –imperial –startday=4]${color}${goto 380}${color7} :${color1}[–datatype=SS –imperial –startday=5]${color}${goto 480}${color7} :${color1}[–datatype=SS –imperial –startday=6]${color}${goto 580}${color7} :${color1}[–datatype=SS –imperial –startday=7]${color}
${goto 280}${color7}D-L:${color8}[–datatype=DL –imperial –startday=4]${color}${goto 380}${color7}D-L:${color8}[–datatype=DL –imperial –startday=5]${color}${goto 480}${color7}D-L:${color8}[–datatype=DL –imperial –startday=6]${color}${goto 580}${color7}D-L:${color8}[–datatype=DL –imperial –startday=7]${color}
Then create conkyGuayadeque.template in your home directory:
${color1}Title: ${color2}[–datatype=TI –maxlength=32]
${color1}Artist: ${color2}[–datatype=AR –maxlength=32]
${color1}Album: ${color2}[–datatype=AL –maxlength=30]
${color1}Position: ${color2}[–datatype=PT] – [–datatype=LE] – [–datatype=PP]%
${execibar 1 conkyGuayadeque –datatype=PP}
${color1}Status: ${color2}[–datatype=ST]
Create gmail_parser.py on your home directory:
## check-gmail.py — A command line util to check GMail -*- Python -*-
## modified to display mailbox summary for conky
# ======================================================================
# Copyright (C) 2006 Baishampayan Ghose
# Modified 2008 Hunter Loftis
# Time-stamp: Mon Jul 31, 2006 20:45+0530
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
# ======================================================================
import sys
import urllib # For BasicHTTPAuthentication
import feedparser # For parsing the feed
from textwrap import wrap
uname = sys.argv[1]
password = sys.argv[2]
maxlen = sys.argv[3]
urllib.FancyURLopener.prompt_user_passwd = lambda self, host, realm: (uname, password)
def auth():
”’The method to do HTTPBasicAuthentication”’
opener = urllib.FancyURLopener()
f = opener.open(_URL)
feed = f.read()
return feed
def readmail(feed, maxlen):
”’Parse the Atom feed and print a summary”’
atom = feedparser.parse(feed)
print ‘${color1} %s new email(s)\n’ % (len(atom.entries))
for i in range(min(len(atom.entries), maxlen)):
print ‘ ${color2}%s’ % atom.entries[i].title
#uncomment the following line if you want to show the name of the sender
#print ‘ ${color2}%s’ % atom.entries[i].author
if len(atom.entries) > maxlen:
print ‘ ${color}more…’
if __name__ == “__main__”:
f = auth() # Do auth and then get the feed
readmail(f, int(maxlen)) # Let the feed be chewed by feedparser
Also make sure you install feedparser: sudo apt-get install python-feedparser

Now create a directory in your home directory called .conky and save the two conky scripts there.

Important: Make sure you also have a copy of the conkyForecast.config on your home directory with all your details on it and also enter your details in the conkyForecast.config in /usr/share/conkyforecast/conkyForecast.config.

Now, test the two conky scripts by calling them, from terminal. (Assuming you have Conky or else install by sudo apt-get install conky)

conky -c /home/HOMEDIRECTORYNAME/.conky/.conkyrc_system &
conky -c /home/HOMEDIRECTORYNAME/.conky/.conkyrc_misc
Make sure everything works. Now write a bash script as below:
#!/bin/bash
conky -c /home/senthil/.conky/.conkyrc_system &
conky -c /home/senthil/.conky/.conkyrc_misc
And save it as conky_start.sh
Make it executable:
>chmod u+x ./conky_start.sh
Enter it on to your $PATH variable:
>PATH=$PATH:/home/HOMEDIRECTORYNAME/conky_start.sh
Now, make an alias entry by opening your .bashrc file in your home directory. Inside the .bashrc file add the following line:
alias conky_start=’conky_start.sh’
And save the file.
Now entering conky_start inside the terminal should start the conky scripts. If you want you can make the script run at start-up by adding to start-up applications.
Have fun and feel free to tweak the Conkies!!
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s