Conky Cairo Sidebar

Here is a new conky setup I've put together.

Conky Cairo Sidebar Screenshot

Being that I've recently started transitioning my machines to XFCE from OpenBox, I quickly found out that my typical conkys didn't look quite right in XFCE. This is due to the compositor in XFCE not showing transparent backgrounds in conky with the 'own_window_transparent' setting, requiring the 'own_window_argb_visual' and 'own_window_argb_value' settings instead. The argb settings are problematic in conky when you have images in it as it causes the images to have some odd transparencies added to them. Either way, my setups like my LED Sidebar just end up looking like crap. :/

But, this really isn't a problem for a conky hackin' addict like myself. The majority of the credit for this setup goes to londonali1010 as all I did was manipulate her code. :)

On EeePC:

Sidebar on EeePC

On laptop (resolution 1024x768):

Sidebar on 1024x768 laptop

Download archive

Click the following links if you want to take a look at the individual files.

Here's how to set this up (from the included README file):

Set up:
1. If it doesn't exist, create folder at ~/.config/conky

2. Extract archive in newly created conky folder. Path to the files should be:

3. This setup uses the 'Droid Sans' and 'OpenLogos' fonts. If you don't have
    them installed already, they are included in the fonts folder. Otherwise,
    they can be downloaded from

4. As downloaded, this setup assumes that 'cpu0' 'BAT0' 'wlan0' and
    'hwmon temp 1' are your interfaces. If your system is different, edit the
    lua as needed at

5. This setup is 180px wide by 568px tall. It is configured to be centered on
    my netbook (1024x600) from top to bottom, with using a vertical panel. If
    you use a horizontal panel, you may need to adjust the 'gap_y' setting the
    the main config at
    Make any other edits to the two files as needed.

6. Being developed on Debian systems, the available updates count is determined
    with the command
    aptitude search '~U' | wc -l | tail
    If there is a similar command for non-apt based systems, I am unaware of
    what it is. Edit or remove from both the conkyrc and the lua as needed.

    This setup will only run the aptitude command once a day while the conky is
    running. It writes the output of the command to a text file located
    that is then read by the lua script.

7. Start the sidebar with
    conky -qc /home/$USER/.config/conky/cairosidebar/conkyrc &

EDIT: If you are using Arch, you may want to check this link for a version of the OpenLogos font with the current Arch logo. ;)



thank you, very nice. i’m generally a fan of more minimal conkies but this is really good. on debian/awesome wm, i had to drop ownwindowargb’s and go for ownwindowtransparent to get transparency though.

2011-10-21 14:36:56


Thanks istok. I’ve had conkies of all sorts, super minimal to crazy. This one feels to be a decent balance to me. ;)

2011-10-21 19:50:33


really like this sidebar, I’m new to linux tho and am using fedora. It seems that fedora uses eth0 for wireless and when I change the lua to reflect this, the % for wireless doesn’t work, any ideas on how to get it working?

2011-11-30 00:37:00


It’s been a few months since I ran Fedora (was Fedora 15) but, from what I remember the wifi was still on wlan0. It was the wired connection that changed from eth0 in F15.

So, it’s not that I don’t believe you but, can you verify your wireless is connected to eth0. The commands

ifconfig, iwconfig and iwlist can all help you see this, in case you don’t already know (or remember) these commands. ;)

2011-11-30 07:43:00


Nice! Your new conky setup looks really nice.

I sometimes give conky a try, when I see such configurations, but then feel like I am betraying KDE so switch back to it’s own widgets :)

2012-01-21 02:38:33


I’ve never run KDE for very long so I can’t really say much about it’s widgets. Conky is quite true to the Linux spirit in that you can customize it to whatever you want. Which is why Conky is always one of the first programs I install on a fresh OS install. ;)

2012-01-21 09:13:11


I love the sidebar, I’ve been using it for a few weeks now but recently I’ve been wanting to add some more to it. It’s a bit confusing for me since it’s pretty much the first lua script I see.. :) I wanna add a box to tell me how many unread emails I have. The script is ready, but I want to integrate it into your sidebar. Would you have any hints on how to add a rectangle with the script? I’ve tried some stuff but with no success.

2013-09-07 21:25:01



This whole conky/lua setup is overly complicated at first. I haven’t really messed with this much lately and it took me a few minutes of playing with it to remember. ;)

For simplicity sake, at first you may just want to add a new section to the bottom until you are more familiar with the whole script. First, you’ll need to edit the conkyrc so that the sidebar is taller, edit the line: minimum_size 568 568 to a larger value and restart the sidebar. Edits to the lua will happen live on the conky so, as long as there are no errors in the lua, the conky should run and update as you work.

To add a rectangle, you’ll need to head down to the bottom of the lua script to the function conkywidgets() section. There are a few lines where the roundrect() function is being called. The very first one is drawing the overall background of the sidebar, it’ll need to be edited so that it matches the value that you put in the conkyrc file. Then, you can copy the last two roundrect() lines and paste them in after, just before the guageclockv2() function call. Edit the y0 and height values as needed ( round_rect(x0, y0, width, height, radius, colour, alpha). One thing to note, each section in the sidebar actually consists of two rectangles with a 5px padding on each. After you have your rectangle sized and placed as you want, you can add your text (and/or rings or whatever).

If you wanted to add a 30px tall rectangle to the bottom, your code may look something like this:

cr = cairo_create(cs)

round_rect(0, 0, 180, 613, 5, color01, 0.3)

round_rect(5, 5, 170, 170, 10, color01, 0.3)
round_rect(10, 10, 160, 160, 20, color04, 0.3)
round_rect(5, 180, 170, 100, 10, color01, 0.3)
round_rect(10, 185, 160, 90, 20, color04, 0.3)
round_rect(5, 285, 170, 100, 10, color01, 0.3)
round_rect(10, 290, 160, 90, 20, color04, 0.3)
round_rect(5, 390, 170, 100, 10, color01, 0.3)
round_rect(10, 395, 160, 90, 20, color04, 0.3)
round_rect(5, 495, 170, 68, 10, color01, 0.3)
round_rect(10, 500, 160, 58, 20, color04, 0.3)

round_rect(5, 568, 170, 40, 10, color01, 0.3)
round_rect(10, 573, 160, 30, 20, color04, 0.3)

guage_clockv2(cr, 90, 90, 170, 1, color02, color03, 0.98, 1, 1, 2)
printtext(90, 230, 170, color01, color02, 0.5)

For the text, which is being drawn with the printtext() function, you can add what you need to the --[[ PRINT TEXT ]] section (more specifically, the local function draw_text() function). Just copy/paste and edit as needed.

Hopefully, this all at least gets you started on modifying it as you’d like. ;)

2013-09-08 20:13:59


really like this conky. I’m currently using it on Linux Mint 15. I want to change the bottom section (Jesse’s Conky Pack) to something else. I’ve read through the scripts, but am unable to find any mention of it. Any assistance is greatly appreciated.

2013-10-04 07:19:53


@Murpe I'm guessing my reply to @Frank didn't help any?

2013-10-14 13:35:22

Have a response to this post? Please use this link.