Conky

From the Conky FAQ: "Conky is a program which can display arbitrary information (such as the date, CPU temperature from i2c, MPD info, and anything else you desire) to the root window in X11. Conky normally does this by drawing to the root window, however Conky can also be run in windowed mode (though this is not how conky was meant to be used)." An alternative to Conky, with some difference, is GKrellM.

Installation
Conky supports the following USE flags:


 * : Support for X. Enable it or you can only use conky on the terminal!
 * : Conky can monitor the tracks this program is playing if you enable this flag. Only enable it if you use this program.
 * : Conky can monitor the temperature of your hard drives if you enable this flag. Only enable it if you use Hddtemp.
 * : Conky can monitor the tracks this program is playing if you enable this flag. Only enable it if you use this program.
 * :Support for IPv6. Enable if you use it (if you don't know what this is then you are not using it).
 * :Conky can monitor the tracks this program is playing if you enable this flag. Only enable it if you use this program.
 * :Includes a .conkyrc syntax file for nano. Only enable it if you use nano.
 * : Enables support for RSS feeds.
 * : Enables support for smapi.
 * :Support for FreeType and/or FreeType2 fonts. Enable it if you want more (nice) fonts.
 * :Includes a .conkyrc syntax file for vim. Only enable it if you use vim.
 * : Enables wireless network functions.

Check the default state of the flags of conky:

Then enter the flags you want to change into. For example if you want to disable ipv6 and infopipe and leave the rest alone:

Finally:

Configuration
The file used for configuration is. You can find some cute examples on Conky's screen shot page.

Portage Log Information
The following scripts require read permission on, and other portage-specific files. It may be best to add your user (or the user running these scripts) into the portage group with something like:

Simply changing to 644 won't work, as portage appears to change the permissions of this log file back to 660 after it logs anything into it.

Last Sync
You can check the timestamp of your last sync by adding this to the TEXT section of :

If you are using which is part of app-portage/portage-utils you can use it this way:

Then:

And then adding:

Or the time that you last syncronized according to emerge.log using this Python script: {{File|~/lastsync.py|
 * 1) !/usr/bin/python
 * 2) prints the last time portage was updated (locatime)
 * 3) prints something like "Monday at 6:52pm (Sep 12)"
 * 4) man strftime for more varibles in time display
 * 1) man strftime for more varibles in time display

import time

for line in file('/var/log/emerge.log'): if 'Sync completed' in line: lastline = line

print time.strftime("%A at %l:%M%P (%b %d)", time.localtime(int(lastline[:10])))

Then:

chmod 775 ~/lastsync.py

And then adding: {{File|~/.conkyrc| Last sync: ${execi 300 /usr/local/bin/lastsync.py} }}

someplace in the TEXT section of.

Determine Presence of Package Updates
This will delay conky's startup as emerge has to run and report it's findings, but for some may be worth it. First, make sure your system is entirely up-to-date.

Then execute this command to make your reference file. This is the file the script will check against to see if there are any package updates. This file should be called

Next, create this script.

And, of course:

Place the script in your conky config, and when it launches, it'll create a file and output the total number of packages. If the packages are equal to zero, you don't need to update any packages. That's what the reference file was for.

Show latest changes to the portage tree for your arch
From packages.gentoo.org:

Adjust the URL to display your arch. See: http://packages.gentoo.org/faq/

Including overlays from gpo.zugaina.org:

Note that parsing rss with sed is considered ugly. New versions of conky (post 1.8.0) have a dedicated ${rss} object.

List the Last Five Emerged Packages
You need to emerge for this:

Then add this line to your :

You can also use :

Display the Current Emerge
This also needs :

And then add this to your :

Display a Message on Low Battery
Conditional expressions can be used in. The following example uses xmessage to show a message when different battery levels are reached.

Display Ping Information
This idea originally came from gdesklets. You can use it to check if your server is still online by adding the following to the TEXT section of :

Another Approach
Here's another idea, short and nice info of which hosts are up.

Then

And then add to

Yet Another Approach
This is an extension of the idea above which adds color depending on the status of the host.

I recommend playing around with the formatting to have multiple hosts on the same line to save space.

And one more
addr=$1
 * 1) !/bin/bash
 * 2) author sla237
 * 3) Used by conky. Colorize host status.
 * 4) Usage ./conky_ping.sh [ip|dnsName] DisplayName

up="\${color green}" # color of UP host down="\${color red}" #color of DOWN host cla="\${color green}" #set color back, after colorizing   CLA-CoLorAfter

if `ping $addr -c 1 -w 2 &> /dev/null`; then echo -n $up$2$cla else echo -n $down$2$cla fi;

${execpi 10 ~/bin/conky_ping.sh "127.0.0.1" "localhost"}

Problems on GNOME
Conky is not really compatible with Nautilus. Nautilus draws directly on your desktop, and conky wants to do so, too. But there are workarounds:

More information
More information is available at the conky wiki.