6 conky - A system monitor for X originally based on the torsmo code, but
7 more kickass. It just keeps on given'er. Yeah.
13 Conky is a system monitor for X originally based on the torsmo code.
14 Since it's original conception, Conky has changed a fair bit from it's
15 predecessor. Conky can display just about anything, either on your
16 root desktop or in it's own window. Conky has many built-in objects,
17 as well as the ability to execute programs and scripts, then display
18 the output from stdout.
20 We are always looking for help, and anyone interested in becoming a
21 developer is welcome. Please use the facilities at SourceForge to make
22 bug reports, feature requests, and submit patches.
24 Thanks for your interest in Conky.
27 For users compiling from source, make sure you have the X development
28 libraries installed. This should be a package along the lines of
29 "libx11-dev or xorg-x11-dev".
31 Gentoo users -- Conky is in Gentoo's Portage... simply use "emerge app-
32 admin/conky" for installation. There is also usually an up-to-date
33 ebuild within Conky's package or in CVS.
35 Debian,etc. users -- Conky will be in Debian's repositories soon (by
36 mid-September, hopefully), and then Ubuntu shortly thereafter. Until
37 then, "dpkg -i" the .deb package to install.
39 Example to compile and run Conky with all optional components (note
40 that some configure options may differ for your system):
42 sh autogen.sh # Only required if building from CVS
44 ./configure --prefix=/usr --mandir=/usr/share/man
45 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
46 --localstatedir=/var/lib --enable-xft --enable-seti --enable-dou-
47 ble-buffer --enable-own-window --enable-proc-uptime --enable-mpd
48 --enable-mldonkey --enable-x11 --enable-portmon
52 make install # Optional
56 Conky probably doesn't compile with compilers other than gcc and icc.
57 It doesn't compile with C89 compiler and not even with pure C99. It
58 uses a few things that might not exist: strdup(), strcasecmp(), strn-
59 casecmp(), optarg variable with getopt() and long long (not in C89).
60 Crashes in file system statistics stuff when compiled with icc, I don't
63 You can disable 'drawing to own window' feature in case you don't need
64 it by passing --disable-own-window to configure -script.
68 Conky is generally very good on resources. However, certain objects in
69 Conky are harder on resources then others. In particular, the $tail,
70 $top, $font, and $graph objects are quite costly in comparison to the
73 If you do use them, please do not complain about memory or CPU usage,
74 unless you think something's seriously wrong (mem leak, etc.).
76 An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
77 conky". Saves you the trouble of having to kill and then restart.
79 IMPORTANT: For previous Conky users, Conky 1.3 no longer supports the
80 metar stuff. mdsplib was causing way too many problems. Hopefully
81 there'll be a better solution in Conky 2.x...
84 Command line options override configurations defined in configuration
88 Prints version and exits
92 Text alignment on screen, {top,bottom}_{left,right} or none
95 -b Use double buffering (eliminates "flicker")
99 Config file to load instead of $HOME/.conkyrc
102 -d Daemonize Conky, aka fork to background
109 -h Prints command line help and exits
112 -o Create own window to draw
116 Text to render, remember single quotes, like -t ' $uptime '
135 CONFIGURATION SETTINGS
136 Default configuration file is $HOME/.conkyrc (can be changed from
137 conky.c among other things). See conkyrc.sample. If installing from
138 Debian package, this should be in /usr/share/doc/conky/examples ("gun-
139 zip conkyrc.sample.gz" to get conkyrc.sample).
141 You might want to copy it to $HOME/.conkyrc and then start modifying
142 it. Other configs can be found at http://conky.sf.net
145 Aligned position on screen, may be top_left, top_right, bot-
146 tom_left, bottom_right, or none
150 Boolean value, if true, Conky will be forked to background when
155 Set conky on the bottom of all other applications
159 Border margin in pixels
163 Border width in pixels
167 The number of samples to average for CPU monitoring
171 Default color and border color
175 Default shading color and border's shading color
178 default_outline_color
179 Default outline color
183 Use the Xdbe extension? (eliminates flicker) It is highly recom-
184 mended to use own window with this one so double buffer won't be
189 Draw borders around text?
200 font Font name in X, xfontsel can be used to get a nice font
203 gap_x Gap between right or left border of screen, same as passing -x
207 gap_y Gap between top or bottom border of screen, same as passing -y
212 Substract (file system) buffers from used memory?
216 Mail spool for mail checking
220 Maximum width of window
223 minimum_size width (height)
224 Minimum size of window
228 Hostname for mldonkey stuff, defaults to localhost
232 Mldonkey port, 4001 default
236 Mldonkey login, default none
240 Mldonkey password, default none
256 The number of samples to average for net data
260 Force UTF8? requires XFT
264 Boolean, create own window to draw?
267 own_window_transparent
268 Boolean, set pseudo-transparency?
271 own_window_colour colour
272 If own_window_transparent no, set a specified background colour
273 (defaults to black). Takes either a hex value (#ffffff) or a
274 valid RGB name (see /usr/lib/X11/rgb.txt)
278 Print text to stdout.
282 Pad percentages to this many decimals (0 = no padding)
286 Border stippling (dashing) in pixels
290 Total number of times for Conky to update before quitting. Zero
291 makes Conky run forever
295 Update interval in seconds
299 Boolean value, if true, text is rendered in upper case
303 Adds spaces after certain objects to stop them from moving other
304 things around. Note that this only helps if you are using a mono
305 font, such as Bitstream Vera Sans Mono.
309 Use Xft (anti-aliased font and stuff)
313 Allow for the creation of at least this number of port monitors
314 (if 0 or not set, default is 16)
317 min_port_monitor_connections
318 Allow each port monitor to track at least this many connections
319 (if 0 or not set, default is 256)
322 TEXT After this begins text to be formatted on screen
326 Colors are parsed using XParsecolor(), there might be a list of them:
327 /usr/X11R6/lib/X11/rgb.txt. Also, http://sedition.com/perl/rgb.html
328 [http://sedition.com/perl/rgb.html]. Color can be also in #rrggbb for-
329 mat (hex). Note that when displaying bytes, power is 1024 and not 1000
330 so 1M really means 1024*1024 bytes and not 1000*1000.
333 IP address for an interface
337 ACPI ac adapter state.
345 ACPI temperature in C.
349 ACPI temperature in F.
353 CPU temperature from therm_adt746x
357 Fan speed from therm_adt746x
361 Right-justify text, with space of N
369 Display APM AC adapter status (FreeBSD only)
373 Display APM battery life in percent (FreeBSD only)
377 Display remaining APM battery life in hh:mm:ss or "unknown" if
378 AC adapterstatus is on-line or charging (FreeBSD only)
382 Remaining capacity in ACPI or APM battery. ACPI battery number
383 can be given as argument (default is BAT0).
387 Artist in current BMPx track
391 Album in current BMPx track
395 Title of the current BMPx track
399 Track number of the current BMPx track
403 Bitrate of the current BMPx track
407 URI of the current BMPx track
411 Amount of memory buffered
414 cached Amount of memory cached
418 Change drawing color to color
422 CPU usage in percents. For SMP machines, the CPU number can be
423 provided as an argument. cpu0 is the total usage, and >=cpu1 are
427 cpubar (cpu number) (height),(width)
428 Bar that shows CPU usage, height is bar's height in pixels. See
429 $cpu for more info on SMP.
432 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
434 CPU usage graph, with optional colours in hex, minus the #. See
435 $cpu for more info on SMP.
438 diskio Displays current disk IO.
441 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
443 Disk IO graph, colours defined in hex, minus the #. If scale is
444 non-zero, it becomes the scale for the graph.
448 Download speed in kilobytes
452 Download speed in kilobytes with one decimal
455 downspeedgraph net (height),(width) (gradient colour 1) (gradient
457 Download speed graph, colours defined in hex, minus the #. If
458 scale is non-zero, it becomes the scale for the graph.
461 else Text to show if any of the above are not true
465 Executes a shell command and displays the output in conky. warn-
466 ing: this takes a lot more resources than other variables. I'd
467 recommend coding wanted behaviour in C and posting a patch.
471 Same as exec, except if the first value return is a value
472 between 0-100, it will use that number for a bar. The size for
473 the bar is currently fixed, but that may change in the future.
477 Same as execbar, but graphs values.
480 execi interval command
481 Same as exec but with specific interval. Interval can't be less
482 than update_interval in configuration. See also $texeci
485 execibar interval command
486 Same as execbar, except with an interval
489 execigraph interval command
490 Same as execigraph, but takes an interval arg graphs values
494 Specify a different font. Only applies to one line.
497 freq Returns CPU frequency in MHz
500 freq_g Returns CPU frequency in GHz
504 Returns CPU frequency in MHz, but is calculated by counting to
505 clock cycles to complete an instruction. Only available for
510 Returns CPU frequency in GHz, but is calculated by counting to
511 clock cycles to complete an instruction. Only available for
515 fs_bar (height),(width) fs
516 Bar that shows how much space is used on a file system. height
517 is the height in pixels. fs is any file on that file system.
521 Free space on a file system available for users.
525 Free percentage of space on a file system available for users.
533 File system used space
536 head logfile lines (interval)
537 Displays first N lines of supplied text text file. If interval
538 is not supplied, Conky assumes 2x Conky's interval. Max of 30
539 lines can be displayed, or until the text buffer is filled.
543 Horizontal line, height is the height in pixels
547 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
548 have only one I2C device. type is either in (or vol) meaning
549 voltage, fan meaning fan or temp/tempf (first in C, second in F)
550 meaning temperature. n is number of the sensor. See
551 /sys/bus/i2c/devices/ on your local computer.
555 If running the i8k kernel driver for Inspiron laptops, displays
556 whether ac power is on, as listed in /proc/i8k (translated to
557 human-readable). Beware that this is by default not enabled by
562 If running the i8k kernel driver for Inspiron laptops, displays
563 the bios version as listed in /proc/i8k.
567 If running the i8k kernel driver for Inspiron laptops, displays
568 the volume buttons status as listed in /proc/i8k.
572 If running the i8k kernel driver for Inspiron laptops, displays
573 the cpu temperature in celsius, as reported by /proc/i8k.
577 If running the i8k kernel driver for Inspiron laptops, displays
578 the cpu temperature in farenheit, as reported by /proc/i8k.
582 If running the i8k kernel driver for Inspiron laptops, displays
583 the left fan's rate of rotation, in revolutions per minute as
584 listed in /proc/i8k. Beware, some laptops i8k reports these fans
589 If running the i8k kernel driver for Inspiron laptops, displays
590 the left fan status as listed in /proc/i8k (translated to human-
591 readable). Beware, some laptops i8k reports these fans in
596 If running the i8k kernel driver for Inspiron laptops, displays
597 the right fan's rate of rotation, in revolutions per minute as
598 listed in /proc/i8k. Beware, some laptops i8k reports these fans
603 If running the i8k kernel driver for Inspiron laptops, displays
604 the right fan status as listed in /proc/i8k (translated to
605 human-readable). Beware, some laptops i8k reports these fans in
610 If running the i8k kernel driver for Inspiron laptops, displays
611 your laptop serial number as listed in /proc/i8k.
615 If running the i8k kernel driver for Inspiron laptops, displays
616 the version formatting of /proc/i8k.
620 if PROCESS is running, display everything if_running and the
625 if FILE exists, display everything between if_existing and the
629 if_mounted (mountpoint)
630 if MOUNTPOINT is mounted, display everything between if_mounted
631 and the matching $endif
634 kernel Kernel version
638 Get the link status for wireless connections
642 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
643 5 minutes and 3 for past 15 minutes.
647 Machine, i686 for example
650 mails Mail count in mail spool. You can use program like fetchmail to
651 get mails from some server using your favourite protocol. See
655 mem Amount of memory in use
658 membar (height),(width)
659 Bar that shows amount of memory in use
662 memmax Total amount of memory
666 Percentage of memory in use
670 Artist in current MPD song must be enabled at compile
674 Album in current MPD song
677 mpd_bar (height),(width)
678 Bar of mpd's progress
682 Bitrate of current song
686 Playing, stopped, et cetera.
690 Title of current MPD song
706 Percent of song's progress
710 Random status (On/Off)
714 Repeat status (On/Off)
718 Prints the MPD track field
722 Unread mail count in mail spool.
733 pre_exec shell command
734 Executes a shell command one time before conky displays anything
735 and puts output as text.
739 Total processes (sleeping and running)
743 Running processes (not sleeping), requires Linux 2.6
751 Stippled (dashed) horizontal line
754 swapbar (height),(width)
755 Bar that shows amount of swap in use
758 swap Amount of swap in use
766 Percentage of swap in use
770 System name, Linux for example
773 tcp_portmon port_begin port_end item (index) (ip4 only at present)
774 TCP port monitor for specified local ports. Port numbers must be
775 in the range 1 to 65535. Valid items are:
777 count - total number of connections in the range
779 rip - remote ip address
781 rhost - remote host name
783 rport - remote port number
785 lip - local ip address
787 lhost - local host name
789 lservice - local service name from /etc/services
791 The connection index provides you with access to each connection
792 in the port monitor. The monitor will return information for
793 index values from 0 to n-1 connections. Values higher than n-1
794 are simply ignored. For the "count" item, the connection index
795 must be omitted. It is required for all other items.
799 ${tcp_portmon 6881 6999 count} - displays the number of connec-
800 tions in the bittorrent port range
802 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
803 first sshd connection
805 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
806 tenth sshd connection
808 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
809 the first connection on a privileged port
811 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
812 the fifth connection on a privileged port
814 ${tcp_portmon 1 65535 lservice 14} - displays the local service
815 name of the fifteenth connection in the range of all ports
817 Note that port monitor variables which share the same port range
818 actually refer to the same monitor, so many references to a sin-
819 gle port range for different items and different indexes all use
820 the same monitor internally. In other words, the program avoids
821 creating redundant monitors.
823 texeci interval command
824 Runs a command at an interval inside a thread and displays the
825 output. Same as $execi, except the command is run inside a
826 thread. Use this if you have a slow script to keep Conky updat-
827 ing. You should make the interval slightly longer then the time
828 it takes your script to execute. For example, if you have a
829 script that take 5 seconds to execute, you should make the
830 interval at least 6 seconds. See also $execi.
834 Move text over by N pixels. See also $voffset.
837 tail logfile lines (interval)
838 Displays last N lines of supplied text text file. If interval is
839 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
840 can be displayed, or until the text buffer is filled.
844 Local time, see man strftime to get more information about for-
849 Total download, overflows at 4 GB on Linux with 32-bit arch and
850 there doesn't seem to be a way to know how many times it has
851 already done that before conky has started.
855 This takes arguments in the form:top (name) (number) Basically,
856 processes are ranked from highest to lowest in terms of cpu
857 usage, which is what (num) represents. The types are: "name",
858 "pid", "cpu", and mem". There can be a max of 10 processes
863 Same as top, except sorted by mem usage instead of cpu
867 Total upload, this one too, may overflow
870 updates Number of updates
875 Upload speed in kilobytes
879 Upload speed in kilobytes with one decimal
882 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
884 Upload speed graph, colours defined in hex, minus the #. If
885 scale is non-zero, it becomes the scale for the graph.
892 Uptime in a shorter format
896 Seti@home current progress
899 seti_progbar (height),(width)
900 Seti@home current progress bar
904 Seti@home total user credit
908 Change verticle offset by N pixels. Negative values will cause
909 text to overlap. See also $offset.
913 conky -t '${time %D %H:%m}' -o -u 30
914 Start Conky in its own window with date and clock as text and 30
917 conky -a top_left -x 5 -y 500 -d
918 Start Conky to background at coordinates (5, 500).
921 ~/.conkyrc default configuration file
924 Drawing to root or some other desktop window directly doesn't work with
925 all window managers. Especially doesn't work well with Gnome and it has
926 been reported that it doesn't work with KDE either. Nautilus can be
927 disabled from drawing to desktop with program gconf-editor. Uncheck
928 show_desktop in /apps/nautilus/preferences/. There is -w switch in
929 Conky to set some specific window id. You might find xwininfo -tree
930 useful to find the window to draw to. You can also use -o argument
931 which makes Conky to create its own window.
934 http://conky.sourceforge.net [http://conky.sourceforge.net]
936 http://www.sourceforge.net/projects/conky [http://www.source-
937 forge.net/projects/conky]
939 #conky on irc.freenode.net
942 The Conky dev team. What's up now!