My Conky Implementation


This is a screenshot of my conky implementation, complete with today’s news and weather.

Conky is a great, uh, well … how do we describe this software? To call it a computer status checker is about as accurate as calling a “blog” a “web log” (its intended meaning, I know, but I think long ago that people have come to realize that few people care about the minutae of people’s private lives (except maybe their friends and relatives) and that most of the better blogs have something to write about that is more worldly — but I digress).

That is to say, though I believe its intent was to regale the end user on the minute workings of their computer, I (and many others) have made it describe more worldly things also. Granted, it is a great way of checking on things like network traffic. If you are not using the Internet, and there is still traffic, for example, that would raise an eyebrow. I also use it to monitor disk usage on the many devices that are mounted on my machine. I also monitor the top processes, RAM usage, and swap usage. For these bits of information, it updates every 5 seconds. The config file was an amalgam of many different config files from around the ‘net, most of the interesting ones residing at the Conky website.

Now for the worldly bits. I use it to give a brief rundown of some RSS feeds. For me, up until now, they consist of news and local weather. This was actually the most fun to configure, since I got to see how it takes input from external scripts (which I mostly had to write).

The two news feeds were from CBC News and 680 Radio News. Both feeds were given four headlines each and their own color scheme. The Environment Canada weather seemed to want its own color scheme – pink.

There is one more that I have added, not depicted in the illustration, which is a Fortune command. I used

fortune -s -n 65

to restrict the output to 65 characters, avoiding the risk of making conky expand beyond that.

To see the conky output on a computer desktop, especially when it comes to things like RSS feeds, you need to pass the text through several programs. It’s something a “joe user” never really appreciates: 1) the RSS is downloaded; 2) it passes through a shell script; 3) the shell script passes it through several sed processes to get rid of things like XML tags and HTML escape characters; 4) the lines of newly-parsed text are passed through a “head” command to get the first few desired lines; 5) some of those first few desired lines are way too long, causing conky to widen itself to take up too much of the desktop — So, it is passed through a Perl script to split each line of text into a character array, and to mercilessly chop off text at the 65th character before inserting a newline; then 7) it is sent to Conky which then adds font detail and colour. Then, 8) the finished product is then sent to the screen. These 8 steps all happen in a fraction of a second.