Conky revisited

It’s pefecting. And perfecting. And so it’s time to revisit my conky setup. From the conky github page, we read:

Conky is a free, light-weight system monitor for X, that displays any kind of information on your desktop.

It can display anything on your Linux (or *BSD) desktop; Your calendar(s), the weather, system information, text or fancy graphics. It can also be a simple, slim and non-intrusive line of information at the top of your desktop. Like on my system:


Conky is the text line on the top, starting with the time (22:32). The rest is my weechat communications hub (which is my first desktop out of the 5 desktops I normally have). The window manager is i3.


To get this conky line, you can use my conkyrc config file. Let’s go through it step-by-step:

The first part is the time and date and the week number in parenthesis (with the day number in the week – starting with monday – as the number after the period). The code goes like this:

${time %H:%M  %Y-%m-%d (%V.%u)}

Show time and date, week number and day number in the week


${execi 1800 /home/geir/bin/weather1no.rb} ${execi 1800 gcal -c | awk '/Moon/, /$/' | sed -e 's/^.*: //'}

Show the Moon phase (config in .gcalrc), “-” indicates a waning moon while “+” indicates a vexing moon.


C: ${if_match ${cpu cpu0}80}"\#ff0000"${else}"\#aaaaaa"${endif} }

Show CPU load (pad to two digits), system load and CPU temperature (color red if above 80 deg celsius)


M: ${if_match ${memperc}<10} ${endif}${memperc}% ${swapperc}%  D: ${fs_free_perc /}%

Memory usage (padded to two digits), Swap usage, Disk usage


IP: ${if_up wlan0}${addr wlan0} (${wireless_essid wlan0}${if_match ${wireless_link_qual_perc wlan0}<100} ${endif}${wireless_link_qual_perc wlan0}%) /dev/null; then echo "O"; else echo "X"; fi;}>

Show IP address, wifi essid and strength (if wifi). Print “” if the address can be reached (, and “” if not


${if_existing .mail.lock}.${else} ${endif}${exec echo `cat /home/geir/.mail2 | grep G`}  ${exec echo `cat /home/geir/.mail2 | grep A`}${if_existing .nomail} [NoMail]${endif}${if_existing .nonet} [NN]${endif}${if_existing} [NL]${endif}

Show a dot if the script mail_fetch.rb is running, a space if not. Content of local imap Maildir boxes that are watched by mail_fetch. Show ” [NoMail] ” if the NoMail directive is set via mail_fetch. Show ” [NN] ” if mail_fetch cannot get Net access. Show ” [NL] ” if mail_fetch fails to login to local or remote server.


V: ${texeci 3 /home/geir/bin/}${texeci 3 /home/geir/bin/}
L: ${texeci 10 xbacklight -get | awk '{print int($1)}'}
${battery_short BAT1}${if_match ${battery_percent BAT1}<6}  ${blink XXXXX} ${endif}${if_match ${battery_percent BAT1}<4}${execi 60 i3lock -c 000000 && sudo pm-suspend}${endif} " , "color" : ${if_match ${battery_percent BAT1}<5}"\#ff0000"${else}"\#dddddd"${endif} }

Show volume level (and “[Off] (from aumixer) if volume is off). Show LCD brightness level. Battery percentage and three spaces to pad the output from the right edge. Write out “XXXXX” if battery is below 6%. Suspend if battery is below 4%. The far right is reserved for the system tray (you see nm-applet residing there with the wifi link quality showing as an icon). Dropbox and other icons pop up there as needed.

I also have a more detailed system information conky on my desktop as well as my calendar for the next two weeks. Mora about those in a future post (maybe).

And when I thought I couldn’t get closer to Nerdvana

… doors started to open.

I have written about my technical setup before. But now, ladies and gentlemen, it is getting HOT. Like hard core porn hot.

The setup goes like this: Linux (Ubuntu 14.04) as the operating system (easy package management – it does the job well). No kludgey memory-hogging desktop environment, just a damn good Window Manager straight – the i3. Lean, mean, keyboard driven and very efficient. Check out my config here.

The i3 window manager in action

The i3 window manager in action

Adding a conky bar with essential info at the top of the screen. And the perfect e-mail setup for good measure.

The e-mail client, mutt

The e-mail client, mutt

I am a vi-guy to the core, and I prefer to use console tools as much as I can (urxvt is the terminal with zsh as the shell). With key bindings for everything and with minimal use of the mouse, I get the speed and efficiency I want.

I use VIM for almost all my text editing – from writing books and articles (with the added benefit of LaTeX) to writing hyperlists, all my e-mails… and this very blog post. I swear by mutt as the e-mail client. It spawns vim as the editor. Essential vim plugins are netdict, visincr and gundo.

Newsbeuter - the rss reader

Newsbeuter – the rss reader

I use newsbeuter for newsfeeds, irssi as the Internet Relay Chat client and mcabber for my facebook chat 🙂 Zathura is the pdf reader of choice.

Using irssi to chat

Using irssi to chat

Just the other day, as I was struggling with a bug in the latest release of the trust old vifm console file manager, I came across an alternative – ranger. An ultra-neat file manager capable of all sorts of acrobatics – like displaying images right in the console (via w3m)! Wanna dig in? My config file should get you grooved in.

The amazing ranger - file manager on steroids

The amazing ranger – file manager on steroids

Then it’s the browser. I have been very happy with uzbl – until the latest git updates. Stability issues started creeping in and I was forced to look for alternatives. I have tried plenty – and I gave luakit another go. The config files are written directly in the programming language of lua. A bit of steep curve for simple configuration tasks but as you get used to lua, it offers amazing extensibility to the browser. As I started to fell in love with luakit, another vi-like browser popped up on the radar – dwb. How could I have missed this gem in all my trails and tribulations trying to find the perfect keyboard driven browser? OMG what a browser! Don’t leave home without it. With such an easy configuration, you’ll be up and running and turning into a fan in no time.

Dwb - über-cool browser

Dwb – über-cool browser

I have spent 14 years choosing my tools, fine tuning their operations and polishing every detail. I owe much work efficiency to this passion.

When I thought I couldn’t get closer to Nerdvana, I stumbled right into its core. Sadly, I now have few ideas left of how to improve my tools set :-/


UZBL: Hardcore Browser

I finally managed to migrate away from Firefox!

After having tried all the major browsers like Chrome, Konqueror, Opera, and dozens of minor browsers like Midori, Epiphany, Vimprobable(2), Jumanji, Luakit, etc… I found it!

Meet the hard core browser that gives you the ultimate control of your surfin’ experience: UZBL

As Firefox and the other Big browsers got bigger and bigger and steadily requiring more resources and becoming more sluggish, my desire to move away from Firefox increased. Until I decided to make a real effort and a final jump. Although I have tested many browsers over the years, I have only been dead serious about a migration in the past two weeks. Having been accustomed to many neat Firefox plugins, it seemed like a tough challenge to find a browser that could match at least my basic requirements:

  1. It must be fast
  2. VIM-like key bindings. I want my browser to be modal and act like my favorite text editor.
  3. Fully customizable key bindings
  4. Easily configurable and extensible, putting me in the driver’s seat
  5. Ability to edit text fields with VIM – like I do now, writing this blog post
  6. Tab-based
  7. Password manager
  8. Form filler
  9. Ad blocker

…and with UZBL I get this. And much more. It is dead easy to extend and customize almost every aspect of the browser in the config file or via scripts. And I can write scripts in any language and set uzbl to launch a script via a key binding. I can write scripts in Shell, Ruby or even Raven 🙂


Click for full-size image

Click for full-size image

My system is now finally lean & mean with Ubuntu Linux as the OS, i3 as the Window Manager (no Gnome or KDE), Conky as a notifier, Mutt as my mail client, Newsbeuter as RSS reader, VIM for any and all text editing, LaTeX for writing books and articles, ZSH in urxvt, and now UZBL for surfing the Internetz. My perfect setup.

I had to tweak and squeeze the browser to make it behave just like I want it to – small stuff such as hitting “ogs” and then some search words to make the browser open up Google with the search results, or hit “tbi” to open up my blog in a new tab. And more involved stuff like restoring a closed tab by simply hitting “u”.

Firstly, I run “uzbl-tabbed” with this config and this follow-links-style. I changed the undo-tab scripts to this and this (so as to make it run on the latest uzbl version). If you want to try this browser, make sure to check out my config file – it includes some nifty stuff.

Enjoy (as long as you run Linux/*BSD/Unix/Mac OSX)