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 Svn.
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 Svn
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
216 imap Default global IMAP server. Arguments are: "host user pass [-i
217 interval] [-f folder] [-p port] [-e command]". Default port is
218 143, default folder is 'INBOX', default interval is 5 minutes.
219 If the password is supplied as '*', you will be prompted to
220 enter the password when Conky starts.
224 Substract (file system) buffers from used memory?
228 Mail spool for mail checking
232 Maximum width of window
235 minimum_size width (height)
236 Minimum size of window
240 Allow for the creation of at least this number of port monitors
241 (if 0 or not set, default is 16)
244 min_port_monitor_connections
245 Allow each port monitor to track at least this many connections
246 (if 0 or not set, default is 256)
250 Hostname for mldonkey stuff, defaults to localhost
254 Mldonkey port, 4001 default
258 Mldonkey login, default none
262 Mldonkey password, default none
278 The number of samples to average for net data
282 Force UTF8? requires XFT
286 Boolean, create own window to draw?
289 own_window_transparent
290 Boolean, set pseudo-transparency?
294 if own_window is yes, you may specify type normal, desktop or
295 override (default: normal). Desktop windows are special windows
296 that have no window decorations; are always visible on your
297 desktop; do not appear in your pager or taskbar; and are sticky
298 across all workspaces. Override windows are not under the con-
299 trol of the window manager. Hints are ignored. This type of win-
300 dow can be useful for certain situations.
303 own_window_colour colour
304 If own_window_transparent no, set a specified background colour
305 (defaults to black). Takes either a hex value (#ffffff) or a
306 valid RGB name (see /usr/lib/X11/rgb.txt)
309 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
310 If own_window is yes, you may use these window manager hints to
311 affect the way Conky displays. Notes: Use own_window_type desk-
312 top as another way to implement many of these hints implicitly.
313 If you use own_window_type override, window manager hints have
314 no meaning and are ignored.
318 Print text to stdout.
322 Pad percentages to this many decimals (0 = no padding)
325 pop3 Default global POP3 server. Arguments are: "host user pass [-i
326 interval] [-p port] [-e command]". Default port is 110, default
327 interval is 5 minutes. If the password is supplied as '*', you
328 will be prompted to enter the password when Conky starts.
332 Border stippling (dashing) in pixels
336 Total number of times for Conky to update before quitting. Zero
337 makes Conky run forever
341 Update interval in seconds
345 Boolean value, if true, text is rendered in upper case
349 Adds spaces after certain objects to stop them from moving other
350 things around. Note that this only helps if you are using a mono
351 font, such as Bitstream Vera Sans Mono.
355 Use Xft (anti-aliased font and stuff)
359 Manually set the WM_CLASS name. Defaults to "conky".
363 Alpha of Xft font. Must be a value at or between 1 and 0.
371 Use specified player/plugin for the xmms status variables. Valid
372 items are: none, xmms, bmp, audacious and infopipe. (default is
373 none). Note that bmpx is currently handled separately.
376 TEXT After this begins text to be formatted on screen
380 Colors are parsed using XParsecolor(), there might be a list of them:
381 /usr/X11R6/lib/X11/rgb.txt. Also, http://sedition.com/perl/rgb.html
382 [http://sedition.com/perl/rgb.html]. Color can be also in #rrggbb for-
383 mat (hex). Note that when displaying bytes, power is 1024 and not 1000
384 so 1M really means 1024*1024 bytes and not 1000*1000.
387 IP address for an interface
391 ACPI ac adapter state.
399 ACPI temperature in C.
403 ACPI temperature in F.
407 CPU temperature from therm_adt746x
411 Fan speed from therm_adt746x
415 Right-justify text, with space of N
423 Display APM AC adapter status (FreeBSD only)
427 Display APM battery life in percent (FreeBSD only)
431 Display remaining APM battery life in hh:mm:ss or "unknown" if
432 AC adapterstatus is on-line or charging (FreeBSD only)
436 Remaining capacity in ACPI or APM battery. ACPI battery number
437 can be given as argument (default is BAT0).
441 Artist in current BMPx track
445 Album in current BMPx track
449 Title of the current BMPx track
453 Track number of the current BMPx track
457 Bitrate of the current BMPx track
461 URI of the current BMPx track
465 Amount of memory buffered
468 cached Amount of memory cached
472 Change drawing color to color
476 CPU usage in percents. For SMP machines, the CPU number can be
477 provided as an argument. cpu0 is the total usage, and >=cpu1 are
481 cpubar (cpu number) (height),(width)
482 Bar that shows CPU usage, height is bar's height in pixels. See
483 $cpu for more info on SMP.
486 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
488 CPU usage graph, with optional colours in hex, minus the #. See
489 $cpu for more info on SMP.
492 diskio Displays current disk IO.
495 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
497 Disk IO graph, colours defined in hex, minus the #. If scale is
498 non-zero, it becomes the scale for the graph.
502 Download speed in kilobytes
506 Download speed in kilobytes with one decimal
509 downspeedgraph net (height),(width) (gradient colour 1) (gradient
511 Download speed graph, colours defined in hex, minus the #. If
512 scale is non-zero, it becomes the scale for the graph.
515 else Text to show if any of the above are not true
519 Executes a shell command and displays the output in conky. warn-
520 ing: this takes a lot more resources than other variables. I'd
521 recommend coding wanted behaviour in C and posting a patch.
525 Same as exec, except if the first value return is a value
526 between 0-100, it will use that number for a bar. The size for
527 the bar is currently fixed, but that may change in the future.
531 Same as execbar, but graphs values.
534 execi interval command
535 Same as exec but with specific interval. Interval can't be less
536 than update_interval in configuration. See also $texeci
539 execibar interval command
540 Same as execbar, except with an interval
543 execigraph interval command
544 Same as execigraph, but takes an interval arg graphs values
548 Specify a different font. This new font will apply to the cur-
549 rent line and everything following. You can use a $font with no
550 arguments to change back to the default font (much like with
555 Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
556 omitted, the parameter defaults to 1.
560 Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
561 omitted, the parameter defaults to 1.
565 Returns CPU frequency in MHz, but is calculated by counting to
566 clock cycles to complete an instruction. Only available for
571 Returns CPU frequency in GHz, but is calculated by counting to
572 clock cycles to complete an instruction. Only available for
576 fs_bar (height),(width) fs
577 Bar that shows how much space is used on a file system. height
578 is the height in pixels. fs is any file on that file system.
582 Free space on a file system available for users.
586 Free percentage of space on a file system available for users.
594 File system used space
597 head logfile lines (interval)
598 Displays first N lines of supplied text text file. If interval
599 is not supplied, Conky assumes 2x Conky's interval. Max of 30
600 lines can be displayed, or until the text buffer is filled.
604 Horizontal line, height is the height in pixels
607 iconv_start codeset_from codeset_to
608 Convert text from one codeset to another using GNU iconv. Needs
609 to be stopped with iconv_stop.
613 Stop iconv codeset conversion.
617 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
618 have only one I2C device. type is either in (or vol) meaning
619 voltage, fan meaning fan or temp/tempf (first in C, second in F)
620 meaning temperature. n is number of the sensor. See
621 /sys/bus/i2c/devices/ on your local computer.
625 If running the i8k kernel driver for Inspiron laptops, displays
626 whether ac power is on, as listed in /proc/i8k (translated to
627 human-readable). Beware that this is by default not enabled by
632 If running the i8k kernel driver for Inspiron laptops, displays
633 the bios version as listed in /proc/i8k.
637 If running the i8k kernel driver for Inspiron laptops, displays
638 the volume buttons status as listed in /proc/i8k.
642 If running the i8k kernel driver for Inspiron laptops, displays
643 the cpu temperature in Celsius, as reported by /proc/i8k.
647 If running the i8k kernel driver for Inspiron laptops, displays
648 the cpu temperature in Farenheit, as reported by /proc/i8k.
652 If running the i8k kernel driver for Inspiron laptops, displays
653 the left fan's rate of rotation, in revolutions per minute as
654 listed in /proc/i8k. Beware, some laptops i8k reports these fans
659 If running the i8k kernel driver for Inspiron laptops, displays
660 the left fan status as listed in /proc/i8k (translated to human-
661 readable). Beware, some laptops i8k reports these fans in
666 If running the i8k kernel driver for Inspiron laptops, displays
667 the right fan's rate of rotation, in revolutions per minute as
668 listed in /proc/i8k. Beware, some laptops i8k reports these fans
673 If running the i8k kernel driver for Inspiron laptops, displays
674 the right fan status as listed in /proc/i8k (translated to
675 human-readable). Beware, some laptops i8k reports these fans in
680 If running the i8k kernel driver for Inspiron laptops, displays
681 your laptop serial number as listed in /proc/i8k.
685 If running the i8k kernel driver for Inspiron laptops, displays
686 the version formatting of /proc/i8k.
690 If running the IBM ACPI, displays the fan speed.
694 If running the IBM ACPI, displays the temperatures from the IBM
695 temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the
700 If running the IBM ACPI, displays the "master" volume, con-
701 trolled by the volume keys (0-14).
705 If running the IBM ACPI, displays the brigtness of the laptops's
710 if PROCESS is running, display everything if_running and the
715 if FILE exists, display everything between if_existing and the
719 if_mounted (mountpoint)
720 if MOUNTPOINT is mounted, display everything between if_mounted
721 and the matching $endif
725 Displays the number of messages in your global IMAP inbox by
726 default. You can define individual IMAP inboxes seperately by
727 passing arguments to this object. Arguments are: "host user pass
728 [-i interval] [-p port] [-e command]". Default port is 110,
729 default interval is 5 minutes. If the password is supplied as
730 '*', you will be prompted to enter the password when Conky
735 Displays the number of unseen messages in your global IMAP inbox
736 by default. You can define individual IMAP inboxes seperately by
737 passing arguments to this object. Arguments are: "host user pass
738 [-i interval] [-p port] [-e command]". Default port is 110,
739 default interval is 5 minutes. If the password is supplied as
740 '*', you will be prompted to enter the password when Conky
744 kernel Kernel version
748 Get the link status for wireless connections
752 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
753 5 minutes and 3 for past 15 minutes.
757 Machine, i686 for example
760 mails Mail count in mail spool. You can use program like fetchmail to
761 get mails from some server using your favourite protocol. See
765 mem Amount of memory in use
768 membar (height),(width)
769 Bar that shows amount of memory in use
772 memmax Total amount of memory
776 Percentage of memory in use
780 Artist in current MPD song must be enabled at compile
784 Album in current MPD song
787 mpd_bar (height),(width)
788 Bar of mpd's progress
792 Bitrate of current song
796 Playing, stopped, et cetera.
800 Title of current MPD song
816 Percent of song's progress
820 Random status (On/Off)
824 Repeat status (On/Off)
828 Prints the MPD track field
832 Prints the MPD name field
836 Prints the file name of the current MPD song
840 Prints the song name in either the form "artist - title" or file
841 name, depending on whats available
845 Unread mail count in mail spool.
857 If running on Apple powerbook/ibook, display information on bat-
858 tery status. The item parameter specifies, what information to
859 display. Exactly one item must be specified. Valid items are:
861 status: Display if battery is fully charged, charging, discharg-
862 ing or absent (running on AC)
864 percent: Display charge of battery in percent, if charging or
865 discharging. Nothing will be displayed, if battery is fully
868 time: Display the time remaining until the battery will be fully
869 charged or discharged at current rate. Nothing is displayed, if
870 battery is absent or if it's present but fully charged and not
875 Displays the number of unseen messages in your global POP3 inbox
876 by default. You can define individual POP3 inboxes seperately by
877 passing arguments to this object. Arguments are: "host user pass
878 [-i interval] [-p port] [-e command]". Default port is 110,
879 default interval is 5 minutes. If the password is supplied as
880 '*', you will be prompted to enter the password when Conky
885 Displays the amount of space (in MiB, 2^20) used in your global
886 POP3 inbox by default. You can define individual POP3 inboxes
887 seperately by passing arguments to this object. Arguments are:
888 "host user pass [-i interval] [-p port] [-e command]". Default
889 port is 110, default interval is 5 minutes. If the password is
890 supplied as '*', you will be prompted to enter the password when
894 pre_exec shell command
895 Executes a shell command one time before conky displays anything
896 and puts output as text.
900 Total processes (sleeping and running)
904 Running processes (not sleeping), requires Linux 2.6
912 Stippled (dashed) horizontal line
915 swapbar (height),(width)
916 Bar that shows amount of swap in use
919 swap Amount of swap in use
927 Percentage of swap in use
931 System name, Linux for example
934 tcp_portmon port_begin port_end item (index) (ip4 only at present)
935 TCP port monitor for specified local ports. Port numbers must be
936 in the range 1 to 65535. Valid items are:
938 count - total number of connections in the range
940 rip - remote ip address
942 rhost - remote host name
944 rport - remote port number
946 rservice - remote service name from /etc/services
948 lip - local ip address
950 lhost - local host name
952 lport - local port number
954 lservice - local service name from /etc/services
956 The connection index provides you with access to each connection
957 in the port monitor. The monitor will return information for
958 index values from 0 to n-1 connections. Values higher than n-1
959 are simply ignored. For the "count" item, the connection index
960 must be omitted. It is required for all other items.
964 ${tcp_portmon 6881 6999 count} - displays the number of connec-
965 tions in the bittorrent port range
967 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
968 first sshd connection
970 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
971 tenth sshd connection
973 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
974 the first connection on a privileged port
976 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
977 the fifth connection on a privileged port
979 ${tcp_portmon 1 65535 lservice 14} - displays the local service
980 name of the fifteenth connection in the range of all ports
982 Note that port monitor variables which share the same port range
983 actually refer to the same monitor, so many references to a sin-
984 gle port range for different items and different indexes all use
985 the same monitor internally. In other words, the program avoids
986 creating redundant monitors.
988 texeci interval command
989 Runs a command at an interval inside a thread and displays the
990 output. Same as $execi, except the command is run inside a
991 thread. Use this if you have a slow script to keep Conky updat-
992 ing. You should make the interval slightly longer then the time
993 it takes your script to execute. For example, if you have a
994 script that take 5 seconds to execute, you should make the
995 interval at least 6 seconds. See also $execi.
999 Move text over by N pixels. See also $voffset.
1002 tail logfile lines (interval)
1003 Displays last N lines of supplied text text file. If interval is
1004 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
1005 can be displayed, or until the text buffer is filled.
1009 Local time, see man strftime to get more information about for-
1014 Total download, overflows at 4 GB on Linux with 32-bit arch and
1015 there doesn't seem to be a way to know how many times it has
1016 already done that before conky has started.
1020 This takes arguments in the form:top (name) (number) Basically,
1021 processes are ranked from highest to lowest in terms of cpu
1022 usage, which is what (num) represents. The types are: "name",
1023 "pid", "cpu", and "mem". There can be a max of 10 processes
1028 Same as top, except sorted by mem usage instead of cpu
1032 Total upload, this one too, may overflow
1035 updates Number of updates
1040 Upload speed in kilobytes
1044 Upload speed in kilobytes with one decimal
1047 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
1049 Upload speed graph, colours defined in hex, minus the #. If
1050 scale is non-zero, it becomes the scale for the graph.
1057 Uptime in a shorter format
1061 Seti@home current progress
1064 seti_progbar (height),(width)
1065 Seti@home current progress bar
1069 Seti@home total user credit
1073 Change vertical offset by N pixels. Negative values will cause
1074 text to overlap. See also $offset.
1078 Returns CPU #n's voltage in mV. CPUs are counted from 1. If
1079 omitted, the parameter defaults to 1.
1083 Returns CPU #n's voltage in V. CPUs are counted from 1. If omit-
1084 ted, the parameter defaults to 1.
1087 xmms_bar (height),(width)
1088 xmms / bmp / audacious / infopipe: progress bar
1092 xmms / bmp / audacious / infopipe: bitrate of current tune
1096 xmms / bmp / audacious / infopipe: number of audio channels of
1101 xmms / bmp / audacious / infopipe: full path and filename of
1106 xmms / bmp / audacious / infopipe: sampling frequency of current
1111 xmms / bmp / audacious / infopipe: total length of current tune
1116 xmms / bmp / audacious / infopipe: total length of current tune
1120 xmms_playlist_position
1121 xmms / bmp / audacious / infopipe: playlist position of current
1125 xmms_playlist_length
1126 xmms / bmp / audacious / infopipe: number of tunes in playlist
1130 xmms / bmp / audacious / infopipe: MM:SS position of current
1134 xmms_position_seconds
1135 xmms / bmp / audacious / infopipe: position of current tune in
1140 xmms / bmp / audacious / infopipe: player status (Play-
1141 ing/Paused/Stopped/Not running)
1145 xmms / bmp / audacious / infopipe: title of current tune
1149 conky -t '${time %D %H:%m}' -o -u 30
1150 Start Conky in its own window with date and clock as text and 30
1151 sec update interval.
1153 conky -a top_left -x 5 -y 500 -d
1154 Start Conky to background at coordinates (5, 500).
1157 ~/.conkyrc default configuration file
1160 Drawing to root or some other desktop window directly doesn't work with
1161 all window managers. Especially doesn't work well with Gnome and it has
1162 been reported that it doesn't work with KDE either. Nautilus can be
1163 disabled from drawing to desktop with program gconf-editor. Uncheck
1164 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1165 Conky to set some specific window id. You might find xwininfo -tree
1166 useful to find the window to draw to. You can also use -o argument
1167 which makes Conky to create its own window.
1170 http://conky.sourceforge.net [http://conky.sourceforge.net]
1172 http://www.sourceforge.net/projects/conky [http://www.source-
1173 forge.net/projects/conky]
1175 #conky on irc.freenode.net
1178 The Conky dev team. What's up now!