Monday, February 14, 2011

I love Conky

Okay, I realise that this is probably the millionth post on the Internet about Conky, but I just want to shout it out there: I love Conky. Conky is an incredibly customisable system monitor that allows you to display pretty much any value on your system, let it be the current track playing on your xmms2, audacious, or mpd media player, the temperature of various thermal sensors in your computer, the disk i/o, graphs, rings, or bars of your cpu, memory, disk, or network consumption... if they don't provide an option for it natively, you can always devise a method of your own by ways of the ${exec} variable coupled with a custom script. Let me just show you my desktop as of this moment:


In case you're wondering what the font was, I'm a huge fan of the Inconsolata fixed-width font. The weather data comes from a script that I made myself, mostly because I didn't know about the ${weather} option until it was too late... Oops. In any case, what it does is parse out a specific web page on the data from a weather site every 10 minutes. Overkill? Probably. Anyway, here's my .conkyrc:

# Conky sample configuration#
# the list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
# set to yes if you want Conky to be forked in the background
background no
# 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-*-*-*-*-*-*-*
# Use Xft?
use_xft yes
# Xft font when Xft is enabled
xftfont Inconsolata:size=10
# Text alpha when using Xft
xftalpha 0.8
# Print everything to stdout?
# out_to_console no
# MPD host/port
# mpd_host localhost
# mpd_port 6600
# mpd_password tinker_bell
# Print everything to console?
# out_to_console no
# mail spool
mail_spool $MAIL
# Update interval in seconds
update_interval 5.0
# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0
# Create own window instead of using desktop (required in nautilus)
own_window yes
# If own_window is yes, you may use type normal, desktop or override
own_window_type desktop
# If own_window_transparent is set to no, you can set the background colour here
own_window_colour 000000
# If own_window is yes, these window manager hints may be used
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_hints undecorated,below
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Minimum size of text area
minimum_size 1415 16
# Draw shades?
draw_shades yes
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Draw borders around graphs
draw_graph_borders no
# Stippled borders?
stippled_borders 1
# border margins
border_margin 4
# border width
border_width 1
# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color black
dexter_client no
dexter_server no
# config file for libdexter (default search path: $HOME/.dexterrc; /etc/libdexter/dexter.conf)
dexter_config
# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right
#alignment none
# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 12
gap_y 12
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase yes
# 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 no
# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer no
# Allow each port monitor to track at most this many connections (if 0 or not set, default is 256)
#max_port_monitor_connections 256
# Maximum number of special things, e.g. fonts, offsets, aligns, etc.
#max_specials 512
# Maximum size of buffer for user text, i.e. below TEXT line.
#max_user_text 16384
# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument
# stuff after 'TEXT' will be formatted on screen
TEXT
$time | MAIL: ${texeci 120 python ~/.gmail.py} | WEATHER: ${texeci 300 wget -O - 'http://www.accuweather.com/m/en-us/US/MO/Saint+Louis/Quick-Look.aspx' | grep CurrentTemp | perl -ne 'chomp; /([\d]+)\&deg/; print $1;print "F";'} | UL: ${upspeedgraph eth1 12,100} DL: ${downspeedgraph eth1 12,100} | MEM: $memperc% ${memgraph 12,100} | CPU0: ${cpu cpu1}% ${cpugraph cpu0 12,100} CPU1: ${cpu cpu2}% ${cpugraph cpu1 12,100} | BATT: ${battery_percent}% | FREE: ${fs_free /}
view raw gistfile1.conky hosted with ❤ by GitHub


Also, user chorny has provided me with a bit of help on the Pastebin API. Apparently uploading to pastebin is as simple as installing the App::Nopaste library from CPAN, something that I didn't know anything about. You can also install it as a cli command by running
sudo apt-get install nopaste
on Ubuntu.

I'm also on the market for a new keyboard because I'm really not a very big fan of the one on my Thinkpad, it's a bit cramped. I realise that Thinkpad keyboards are some of the best on the market, but I'm fairly sure that this one was not famed for its keyboard. All kinds of gunk keeps getting stuck between the keys, thankfully whenever I want to do some serious typing I switch over to my MacBook Pro, whose concave keys I find marvelous. I don't think I'd ever want to move to a Unibody model because I love this keyboard so much. Anyway, I'm thinking of buying a Das Keyboard Ultimate Silent for several reasons:
  1. A regular Das Keyboard is too loud, I wouldn't be able to do any typing during the wee hours
  2. I like the idea of having actual key-switches instead of plastic domes, plastic domes are mushy and feel like pudding
  3. It's unmarked, so I get serious geek cred for being able to type on an unmarked keyboard, and I don't have to deal with the OCD stress of using a Dvorak layout with a QWERTY layout marked on my keys.
Alright, back to studying! English exam tomorrow at 8h, AP Chem the day after that at 12h. Wish me luck!

No comments:

Post a Comment