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 --enable-xmms
49 --enable-bmp --enable-audacious --enable-infopipe --enable-bmpx
53 make install # Optional
57 Conky probably doesn't compile with compilers other than gcc and icc.
58 It doesn't compile with C89 compiler and not even with pure C99. It
59 uses a few things that might not exist: strdup(), strcasecmp(), strn-
60 casecmp(), optarg variable with getopt() and long long (not in C89).
61 Crashes in file system statistics stuff when compiled with icc, I don't
64 You can disable 'drawing to own window' feature in case you don't need
65 it by passing --disable-own-window to configure -script.
69 Conky is generally very good on resources. However, certain objects in
70 Conky are harder on resources then others. In particular, the $tail,
71 $top, $font, and $graph objects are quite costly in comparison to the
74 If you do use them, please do not complain about memory or CPU usage,
75 unless you think something's seriously wrong (mem leak, etc.).
77 An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
78 conky". Saves you the trouble of having to kill and then restart.
80 IMPORTANT: For previous Conky users, Conky 1.3 no longer supports the
81 metar stuff. mdsplib was causing way too many problems. Hopefully
82 there'll be a better solution in Conky 2.x...
85 Command line options override configurations defined in configuration
89 Prints version and exits
93 Text alignment on screen, {top,bottom}_{left,right} or none
96 -b Use double buffering (eliminates "flicker")
100 Config file to load instead of $HOME/.conkyrc
103 -d Daemonize Conky, aka fork to background
110 -h Prints command line help and exits
113 -o Create own window to draw
117 Text to render, remember single quotes, like -t ' $uptime '
136 CONFIGURATION SETTINGS
137 Default configuration file is $HOME/.conkyrc (can be changed from
138 conky.c among other things). See conkyrc.sample. If installing from
139 Debian package, this should be in /usr/share/doc/conky/examples ("gun-
140 zip conkyrc.sample.gz" to get conkyrc.sample).
142 You might want to copy it to $HOME/.conkyrc and then start modifying
143 it. Other configs can be found at http://conky.sf.net
146 Aligned position on screen, may be top_left, top_right, bot-
147 tom_left, bottom_right, or none
151 Boolean value, if true, Conky will be forked to background when
156 Set conky on the bottom of all other applications
160 Border margin in pixels
164 Border width in pixels
168 The number of samples to average for CPU monitoring
172 Default color and border color
176 Default shading color and border's shading color
179 default_outline_color
180 Default outline color
184 Use the Xdbe extension? (eliminates flicker) It is highly recom-
185 mended to use own window with this one so double buffer won't be
190 Draw borders around text?
194 Draw borders around graphs?
205 font Font name in X, xfontsel can be used to get a nice font
208 gap_x Gap between right or left border of screen, same as passing -x
212 gap_y Gap between top or bottom border of screen, same as passing -y
217 Substract (file system) buffers from used memory?
221 Mail spool for mail checking
225 Maximum width of window
228 minimum_size width (height)
229 Minimum size of window
233 Allow for the creation of at least this number of port monitors
234 (if 0 or not set, default is 16)
237 min_port_monitor_connections
238 Allow each port monitor to track at least this many connections
239 (if 0 or not set, default is 256)
243 Hostname for mldonkey stuff, defaults to localhost
247 Mldonkey port, 4001 default
251 Mldonkey login, default none
255 Mldonkey password, default none
271 The number of samples to average for net data
275 Force UTF8? requires XFT
279 Boolean, create own window to draw?
282 own_window_transparent
283 Boolean, set pseudo-transparency?
286 own_window_colour colour
287 If own_window_transparent no, set a specified background colour
288 (defaults to black). Takes either a hex value (#ffffff) or a
289 valid RGB name (see /usr/lib/X11/rgb.txt)
292 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
293 If own_window is yes, you may use these window manager hints to
294 affect the way conky displays
298 Print text to stdout.
302 Pad percentages to this many decimals (0 = no padding)
306 Border stippling (dashing) in pixels
310 Total number of times for Conky to update before quitting. Zero
311 makes Conky run forever
315 Update interval in seconds
319 Boolean value, if true, text is rendered in upper case
323 Adds spaces after certain objects to stop them from moving other
324 things around. Note that this only helps if you are using a mono
325 font, such as Bitstream Vera Sans Mono.
329 Use Xft (anti-aliased font and stuff)
333 Manually set the WM_CLASS name. Defaults to "conky".
337 Use specified player/plugin for the xmms status variables. Valid
338 items are: none, xmms, bmp, audacious and infopipe. (default is
339 none). Note that bmpx is currently handled separately.
342 TEXT After this begins text to be formatted on screen
346 Colors are parsed using XParsecolor(), there might be a list of them:
347 /usr/X11R6/lib/X11/rgb.txt. Also, http://sedition.com/perl/rgb.html
348 [http://sedition.com/perl/rgb.html]. Color can be also in #rrggbb for-
349 mat (hex). Note that when displaying bytes, power is 1024 and not 1000
350 so 1M really means 1024*1024 bytes and not 1000*1000.
353 IP address for an interface
357 ACPI ac adapter state.
365 ACPI temperature in C.
369 ACPI temperature in F.
373 CPU temperature from therm_adt746x
377 Fan speed from therm_adt746x
381 Right-justify text, with space of N
389 Display APM AC adapter status (FreeBSD only)
393 Display APM battery life in percent (FreeBSD only)
397 Display remaining APM battery life in hh:mm:ss or "unknown" if
398 AC adapterstatus is on-line or charging (FreeBSD only)
402 Remaining capacity in ACPI or APM battery. ACPI battery number
403 can be given as argument (default is BAT0).
407 Artist in current BMPx track
411 Album in current BMPx track
415 Title of the current BMPx track
419 Track number of the current BMPx track
423 Bitrate of the current BMPx track
427 URI of the current BMPx track
431 Amount of memory buffered
434 cached Amount of memory cached
438 Change drawing color to color
442 CPU usage in percents. For SMP machines, the CPU number can be
443 provided as an argument. cpu0 is the total usage, and >=cpu1 are
447 cpubar (cpu number) (height),(width)
448 Bar that shows CPU usage, height is bar's height in pixels. See
449 $cpu for more info on SMP.
452 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
454 CPU usage graph, with optional colours in hex, minus the #. See
455 $cpu for more info on SMP.
458 diskio Displays current disk IO.
461 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
463 Disk IO graph, colours defined in hex, minus the #. If scale is
464 non-zero, it becomes the scale for the graph.
468 Download speed in kilobytes
472 Download speed in kilobytes with one decimal
475 downspeedgraph net (height),(width) (gradient colour 1) (gradient
477 Download speed graph, colours defined in hex, minus the #. If
478 scale is non-zero, it becomes the scale for the graph.
481 else Text to show if any of the above are not true
485 Executes a shell command and displays the output in conky. warn-
486 ing: this takes a lot more resources than other variables. I'd
487 recommend coding wanted behaviour in C and posting a patch.
491 Same as exec, except if the first value return is a value
492 between 0-100, it will use that number for a bar. The size for
493 the bar is currently fixed, but that may change in the future.
497 Same as execbar, but graphs values.
500 execi interval command
501 Same as exec but with specific interval. Interval can't be less
502 than update_interval in configuration. See also $texeci
505 execibar interval command
506 Same as execbar, except with an interval
509 execigraph interval command
510 Same as execigraph, but takes an interval arg graphs values
514 Specify a different font. Only applies to one line.
517 freq Returns CPU frequency in MHz
520 freq_g Returns CPU frequency in GHz
524 Returns CPU frequency in MHz, but is calculated by counting to
525 clock cycles to complete an instruction. Only available for
530 Returns CPU frequency in GHz, but is calculated by counting to
531 clock cycles to complete an instruction. Only available for
535 fs_bar (height),(width) fs
536 Bar that shows how much space is used on a file system. height
537 is the height in pixels. fs is any file on that file system.
541 Free space on a file system available for users.
545 Free percentage of space on a file system available for users.
553 File system used space
556 head logfile lines (interval)
557 Displays first N lines of supplied text text file. If interval
558 is not supplied, Conky assumes 2x Conky's interval. Max of 30
559 lines can be displayed, or until the text buffer is filled.
563 Horizontal line, height is the height in pixels
567 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
568 have only one I2C device. type is either in (or vol) meaning
569 voltage, fan meaning fan or temp/tempf (first in C, second in F)
570 meaning temperature. n is number of the sensor. See
571 /sys/bus/i2c/devices/ on your local computer.
575 If running the i8k kernel driver for Inspiron laptops, displays
576 whether ac power is on, as listed in /proc/i8k (translated to
577 human-readable). Beware that this is by default not enabled by
582 If running the i8k kernel driver for Inspiron laptops, displays
583 the bios version as listed in /proc/i8k.
587 If running the i8k kernel driver for Inspiron laptops, displays
588 the volume buttons status as listed in /proc/i8k.
592 If running the i8k kernel driver for Inspiron laptops, displays
593 the cpu temperature in Celsius, as reported by /proc/i8k.
597 If running the i8k kernel driver for Inspiron laptops, displays
598 the cpu temperature in Farenheit, as reported by /proc/i8k.
602 If running the i8k kernel driver for Inspiron laptops, displays
603 the left fan's rate of rotation, in revolutions per minute as
604 listed in /proc/i8k. Beware, some laptops i8k reports these fans
609 If running the i8k kernel driver for Inspiron laptops, displays
610 the left fan status as listed in /proc/i8k (translated to human-
611 readable). Beware, some laptops i8k reports these fans in
616 If running the i8k kernel driver for Inspiron laptops, displays
617 the right fan's rate of rotation, in revolutions per minute as
618 listed in /proc/i8k. Beware, some laptops i8k reports these fans
623 If running the i8k kernel driver for Inspiron laptops, displays
624 the right fan status as listed in /proc/i8k (translated to
625 human-readable). Beware, some laptops i8k reports these fans in
630 If running the i8k kernel driver for Inspiron laptops, displays
631 your laptop serial number as listed in /proc/i8k.
635 If running the i8k kernel driver for Inspiron laptops, displays
636 the version formatting of /proc/i8k.
640 if PROCESS is running, display everything if_running and the
645 if FILE exists, display everything between if_existing and the
649 if_mounted (mountpoint)
650 if MOUNTPOINT is mounted, display everything between if_mounted
651 and the matching $endif
654 kernel Kernel version
658 Get the link status for wireless connections
662 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
663 5 minutes and 3 for past 15 minutes.
667 Machine, i686 for example
670 mails Mail count in mail spool. You can use program like fetchmail to
671 get mails from some server using your favourite protocol. See
675 mem Amount of memory in use
678 membar (height),(width)
679 Bar that shows amount of memory in use
682 memmax Total amount of memory
686 Percentage of memory in use
690 Artist in current MPD song must be enabled at compile
694 Album in current MPD song
697 mpd_bar (height),(width)
698 Bar of mpd's progress
702 Bitrate of current song
706 Playing, stopped, et cetera.
710 Title of current MPD song
726 Percent of song's progress
730 Random status (On/Off)
734 Repeat status (On/Off)
738 Prints the MPD track field
742 Prints the MPD name field
746 Prints the file name of the current MPD song
750 Unread mail count in mail spool.
761 pre_exec shell command
762 Executes a shell command one time before conky displays anything
763 and puts output as text.
767 Total processes (sleeping and running)
771 Running processes (not sleeping), requires Linux 2.6
779 Stippled (dashed) horizontal line
782 swapbar (height),(width)
783 Bar that shows amount of swap in use
786 swap Amount of swap in use
794 Percentage of swap in use
798 System name, Linux for example
801 tcp_portmon port_begin port_end item (index) (ip4 only at present)
802 TCP port monitor for specified local ports. Port numbers must be
803 in the range 1 to 65535. Valid items are:
805 count - total number of connections in the range
807 rip - remote ip address
809 rhost - remote host name
811 rport - remote port number
813 lip - local ip address
815 lhost - local host name
817 lservice - local service name from /etc/services
819 The connection index provides you with access to each connection
820 in the port monitor. The monitor will return information for
821 index values from 0 to n-1 connections. Values higher than n-1
822 are simply ignored. For the "count" item, the connection index
823 must be omitted. It is required for all other items.
827 ${tcp_portmon 6881 6999 count} - displays the number of connec-
828 tions in the bittorrent port range
830 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
831 first sshd connection
833 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
834 tenth sshd connection
836 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
837 the first connection on a privileged port
839 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
840 the fifth connection on a privileged port
842 ${tcp_portmon 1 65535 lservice 14} - displays the local service
843 name of the fifteenth connection in the range of all ports
845 Note that port monitor variables which share the same port range
846 actually refer to the same monitor, so many references to a sin-
847 gle port range for different items and different indexes all use
848 the same monitor internally. In other words, the program avoids
849 creating redundant monitors.
851 texeci interval command
852 Runs a command at an interval inside a thread and displays the
853 output. Same as $execi, except the command is run inside a
854 thread. Use this if you have a slow script to keep Conky updat-
855 ing. You should make the interval slightly longer then the time
856 it takes your script to execute. For example, if you have a
857 script that take 5 seconds to execute, you should make the
858 interval at least 6 seconds. See also $execi.
862 Move text over by N pixels. See also $voffset.
865 tail logfile lines (interval)
866 Displays last N lines of supplied text text file. If interval is
867 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
868 can be displayed, or until the text buffer is filled.
872 Local time, see man strftime to get more information about for-
877 Total download, overflows at 4 GB on Linux with 32-bit arch and
878 there doesn't seem to be a way to know how many times it has
879 already done that before conky has started.
883 This takes arguments in the form:top (name) (number) Basically,
884 processes are ranked from highest to lowest in terms of cpu
885 usage, which is what (num) represents. The types are: "name",
886 "pid", "cpu", and mem". There can be a max of 10 processes
891 Same as top, except sorted by mem usage instead of cpu
895 Total upload, this one too, may overflow
898 updates Number of updates
903 Upload speed in kilobytes
907 Upload speed in kilobytes with one decimal
910 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
912 Upload speed graph, colours defined in hex, minus the #. If
913 scale is non-zero, it becomes the scale for the graph.
920 Uptime in a shorter format
924 Seti@home current progress
927 seti_progbar (height),(width)
928 Seti@home current progress bar
932 Seti@home total user credit
936 Change vertical offset by N pixels. Negative values will cause
937 text to overlap. See also $offset.
940 xmms_bar (height),(width)
941 xmms / bmp / audacious / infopipe: progress bar
945 xmms / bmp / audacious / infopipe: bitrate of current tune
949 xmms / bmp / audacious / infopipe: number of audio channels of
954 xmms / bmp / audacious / infopipe: full path and filename of
959 xmms / bmp / audacious / infopipe: sampling frequency of current
964 xmms / bmp / audacious / infopipe: total length of current tune
969 xmms / bmp / audacious / infopipe: total length of current tune
973 xmms_playlist_position
974 xmms / bmp / audacious / infopipe: playlist position of current
979 xmms / bmp / audacious / infopipe: number of tunes in playlist
983 xmms / bmp / audacious / infopipe: MM:SS position of current
987 xmms_position_seconds
988 xmms / bmp / audacious / infopipe: position of current tune in
993 xmms / bmp / audacious / infopipe: player status (Play-
994 ing/Paused/Stopped/Not running)
998 xmms / bmp / audacious / infopipe: title of current tune
1002 conky -t '${time %D %H:%m}' -o -u 30
1003 Start Conky in its own window with date and clock as text and 30
1004 sec update interval.
1006 conky -a top_left -x 5 -y 500 -d
1007 Start Conky to background at coordinates (5, 500).
1010 ~/.conkyrc default configuration file
1013 Drawing to root or some other desktop window directly doesn't work with
1014 all window managers. Especially doesn't work well with Gnome and it has
1015 been reported that it doesn't work with KDE either. Nautilus can be
1016 disabled from drawing to desktop with program gconf-editor. Uncheck
1017 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1018 Conky to set some specific window id. You might find xwininfo -tree
1019 useful to find the window to draw to. You can also use -o argument
1020 which makes Conky to create its own window.
1023 http://conky.sourceforge.net [http://conky.sourceforge.net]
1025 http://www.sourceforge.net/projects/conky [http://www.source-
1026 forge.net/projects/conky]
1028 #conky on irc.freenode.net
1031 The Conky dev team. What's up now!