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 de-
21 veloper 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 --in-
45 fodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --local-
46 statedir=/var/lib --disable-own-window --enable-audacious --enable-bmpx
47 --disable-hddtemp --disable-mpd --enable-xmms2 --disable-portmon --dis-
48 able-network --enable-debug --disable-x11 --disable-double-buffer
49 --disable-xdamage --disable-xft
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 De-
139 bian package, this should be in /usr/share/doc/conky/examples ("gunzip
140 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 Border margin in pixels
160 Border width in pixels
164 The number of samples to average for CPU monitoring
168 Default color and border color
171 default_outline_color
172 Default outline color
176 Default shading color and border's shading color
180 Act as client and connect to libdexter server for remote moni-
185 Full path to libdexter configuration file (default search order:
186 $HOME/.dexterrc; /etc/libdexter/dexter.conf)
190 Act as server for libdexter services?
194 Use the Xdbe extension? (eliminates flicker) It is highly recom-
195 mended to use own window with this one so double buffer won't be
200 Draw borders around text?
204 Draw borders around graphs?
215 font Font name in X, xfontsel can be used to get a nice font
218 gap_x Gap, in pixels, between right or left border of screen, same as
219 passing -x at command line, e.g. gap_x 10
222 gap_y Gap, in pixels, between top or bottom border of screen, same as
223 passing -y at command line, e.g. gap_y 10.
226 imap Default global IMAP server. Arguments are: "host user pass [-i
227 interval] [-f folder] [-p port] [-e command]". Default port is
228 143, default folder is 'INBOX', default interval is 5 minutes.
229 If the password is supplied as '*', you will be prompted to en-
230 ter the password when Conky starts.
234 Mail spool for mail checking
237 max_port_monitor_connections
238 Allow each port monitor to track at most this many connections
239 (if 0 or not set, default is 256)
243 Maximum number of special things, e.g. fonts, offsets, aligns,
244 etc. (default is 512)
248 Maximum size of user text buffer, i.e. layout below TEXT line in
249 config file (default is 16384 bytes)
252 text_buffer_size bytes
253 Size of the standard text buffer (default is 1280 bytes).
257 Maximum width of window
260 minimum_size width (height)
261 Minimum size of window
277 The number of samples to average for net data
281 Substract (file system) buffers from used memory?
285 Force UTF8? requires XFT
289 Boolean, create own window to draw?
293 Manually set the WM_CLASS name. Defaults to "Conky".
296 own_window_colour colour
297 If own_window_transparent no, set a specified background colour
298 (defaults to black). Takes either a hex value (#ffffff) or a
299 valid RGB name (see /usr/lib/X11/rgb.txt)
302 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
303 If own_window is yes, you may use these window manager hints to
304 affect the way Conky displays. Notes: Use own_window_type desk-
305 top as another way to implement many of these hints implicitly.
306 If you use own_window_type override, window manager hints have
307 no meaning and are ignored.
311 Manually set the window name. Defaults to "<hostname> - conky".
314 own_window_transparent
315 Boolean, set pseudo-transparency?
319 if own_window is yes, you may specify type normal, desktop or
320 override (default: normal). Desktop windows are special windows
321 that have no window decorations; are always visible on your
322 desktop; do not appear in your pager or taskbar; and are sticky
323 across all workspaces. Override windows are not under the con-
324 trol of the window manager. Hints are ignored. This type of win-
325 dow can be useful for certain situations.
329 Print text to stdout.
333 Pad percentages to this many decimals (0 = no padding)
336 pop3 Default global POP3 server. Arguments are: "host user pass [-i
337 interval] [-p port] [-e command]". Default port is 110, default
338 interval is 5 minutes. If the password is supplied as '*', you
339 will be prompted to enter the password when Conky starts.
343 Border stippling (dashing) in pixels
347 Total number of times for Conky to update before quitting. Zero
348 makes Conky run forever
352 Update interval in seconds
356 Boolean value, if true, text is rendered in upper case
360 Adds spaces after certain objects to stop them from moving other
361 things around. Note that this only helps if you are using a mono
362 font, such as Bitstream Vera Sans Mono.
366 Use Xft (anti-aliased font and stuff)
370 Alpha of Xft font. Must be a value at or between 1 and 0.
377 TEXT After this begins text to be formatted on screen
381 Colors are parsed using XParsecolor(), there might be a list of them:
382 /usr/X11R6/lib/X11/rgb.txt. Also, <http://sedition.com/perl/rgb.html>.
383 Color can be also in #rrggbb format (hex). Note that when displaying
384 bytes, power is 1024 and not 1000 so 1M really means 1024*1024 bytes
388 IP address for an interface
392 ACPI ac adapter state.
400 ACPI temperature in C.
404 ACPI temperature in F.
408 CPU temperature from therm_adt746x
412 Fan speed from therm_adt746x
416 Right-justify text, with space of N
424 Display APM AC adapter status (FreeBSD only)
428 Display APM battery life in percent (FreeBSD only)
432 Display remaining APM battery life in hh:mm:ss or "unknown" if
433 AC adapterstatus is on-line or charging (FreeBSD only)
436 audacious_bar (height),(width)
441 Bitrate of current tune
445 Number of audio channels of current tune
449 Full path and filename of current tune
453 Sampling frequency of current tune
457 Total length of current tune as MM:SS
460 audacious_length_seconds
461 Total length of current tune in seconds
464 audacious_playlist_position
465 Playlist position of current tune
468 audacious_playlist_length
469 Number of tunes in playlist
473 Position of current tune (MM:SS)
476 audacious_position_seconds
477 Position of current tune in seconds
481 Player status (Playing/Paused/Stopped/Not running)
484 audacious_title (max length)
485 Title of current tune with optional maximum length specifier
489 Battery status and remaining percentage capacity of ACPI or APM
490 battery. ACPI battery number can be given as argument (default
495 Battery charge/discharge time remaining of ACPI battery. ACPI
496 battery number can be given as argument (default is BAT0).
500 Artist in current BMPx track
504 Album in current BMPx track
508 Title of the current BMPx track
512 Track number of the current BMPx track
516 Bitrate of the current BMPx track
520 URI of the current BMPx track
524 Amount of memory buffered
527 cached Amount of memory cached
531 Change drawing color to color
535 CPU usage in percents. For SMP machines, the CPU number can be
536 provided as an argument. ${cpu cpu0} is the total usage, and
537 ${cpu cpuX} (X >= 1) are individual CPUs.
540 cpubar (cpu number) (height),(width)
541 Bar that shows CPU usage, height is bar's height in pixels. See
542 $cpu for more info on SMP.
545 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
547 CPU usage graph, with optional colours in hex, minus the #. See
548 $cpu for more info on SMP.
551 diskio Displays current disk IO.
554 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
556 Disk IO graph, colours defined in hex, minus the #. If scale is
557 non-zero, it becomes the scale for the graph.
561 Displays current disk IO for reads.
564 diskio_readgraph (height),(width) (gradient colour 1) (gradient colour
566 Disk IO graph for reads, colours defined in hex, minus the #. If
567 scale is non-zero, it becomes the scale for the graph.
571 Displays current disk IO for writes.
574 diskio_writegraph (height),(width) (gradient colour 1) (gradient colour
576 Disk IO graph for writes, colours defined in hex, minus the #.
577 If scale is non-zero, it becomes the scale for the graph.
581 Download speed in kilobytes
585 Download speed in kilobytes with one decimal
588 downspeedgraph net (height),(width) (gradient colour 1) (gradient
590 Download speed graph, colours defined in hex, minus the #. If
591 scale is non-zero, it becomes the scale for the graph.
594 else Text to show if any of the above are not true
598 Current entropy available for crypto freaks
601 entropy_bar (height),(width)
602 Normalized bar of available entropy for crypto freaks
606 Total size of system entropy pool for crypto freaks
610 Executes a shell command and displays the output in conky. warn-
611 ing: this takes a lot more resources than other variables. I'd
612 recommend coding wanted behaviour in C and posting a patch.
616 Same as exec, except if the first value return is a value be-
617 tween 0-100, it will use that number for a bar. The size for the
618 bar is currently fixed, but that may change in the future.
622 Same as execbar, but graphs values.
625 execi interval command
626 Same as exec but with specific interval. Interval can't be less
627 than update_interval in configuration. See also $texeci
630 execibar interval command
631 Same as execbar, except with an interval
634 execigraph interval command
635 Same as execigraph, but takes an interval arg graphs values
639 Specify a different font. This new font will apply to the cur-
640 rent line and everything following. You can use a $font with no
641 arguments to change back to the default font (much like with
646 Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
647 omitted, the parameter defaults to 1.
651 Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
652 omitted, the parameter defaults to 1.
656 Returns CPU frequency in MHz, but is calculated by counting to
657 clock cycles to complete an instruction. Only available for
662 Returns CPU frequency in GHz, but is calculated by counting to
663 clock cycles to complete an instruction. Only available for
667 fs_bar (height),(width) fs
668 Bar that shows how much space is used on a file system. height
669 is the height in pixels. fs is any file on that file system.
673 Free space on a file system available for users.
677 Free percentage of space on a file system available for users.
685 File system used space
688 goto x The next element will be printed at position 'x'.
691 hddtemp dev, (host,(port))
692 Displays temperature of a selected hard disk drive as reported
693 by the hddtemp daemon running on host:port. Default host is
694 127.0.0.1, default port is 7634.
697 head logfile lines (interval)
698 Displays first N lines of supplied text text file. If interval
699 is not supplied, Conky assumes 2x Conky's interval. Max of 30
700 lines can be displayed, or until the text buffer is filled.
704 Horizontal line, height is the height in pixels
707 iconv_start codeset_from codeset_to
708 Convert text from one codeset to another using GNU iconv. Needs
709 to be stopped with iconv_stop.
713 Stop iconv codeset conversion.
717 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
718 have only one I2C device. type is either in (or vol) meaning
719 voltage, fan meaning fan or temp/tempf (first in C, second in F)
720 meaning temperature. n is number of the sensor. See
721 /sys/bus/i2c/devices/ on your local computer.
725 If running the i8k kernel driver for Inspiron laptops, displays
726 whether ac power is on, as listed in /proc/i8k (translated to
727 human-readable). Beware that this is by default not enabled by
732 If running the i8k kernel driver for Inspiron laptops, displays
733 the bios version as listed in /proc/i8k.
737 If running the i8k kernel driver for Inspiron laptops, displays
738 the volume buttons status as listed in /proc/i8k.
742 If running the i8k kernel driver for Inspiron laptops, displays
743 the cpu temperature in Celsius, as reported by /proc/i8k.
747 If running the i8k kernel driver for Inspiron laptops, displays
748 the cpu temperature in Fahrenheit, as reported by /proc/i8k.
752 If running the i8k kernel driver for Inspiron laptops, displays
753 the left fan's rate of rotation, in revolutions per minute as
754 listed in /proc/i8k. Beware, some laptops i8k reports these fans
759 If running the i8k kernel driver for Inspiron laptops, displays
760 the left fan status as listed in /proc/i8k (translated to human-
761 readable). Beware, some laptops i8k reports these fans in re-
766 If running the i8k kernel driver for Inspiron laptops, displays
767 the right fan's rate of rotation, in revolutions per minute as
768 listed in /proc/i8k. Beware, some laptops i8k reports these fans
773 If running the i8k kernel driver for Inspiron laptops, displays
774 the right fan status as listed in /proc/i8k (translated to hu-
775 man-readable). Beware, some laptops i8k reports these fans in
780 If running the i8k kernel driver for Inspiron laptops, displays
781 your laptop serial number as listed in /proc/i8k.
785 If running the i8k kernel driver for Inspiron laptops, displays
786 the version formatting of /proc/i8k.
790 If running the IBM ACPI, displays the fan speed.
794 If running the IBM ACPI, displays the temperatures from the IBM
795 temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the
800 If running the IBM ACPI, displays the "master" volume, con-
801 trolled by the volume keys (0-14).
805 If running the IBM ACPI, displays the brigtness of the laptops's
810 if PROCESS is running, display everything if_running and the
815 if FILE exists, display everything between if_existing and the
819 if_mounted (mountpoint)
820 if MOUNTPOINT is mounted, display everything between if_mounted
821 and the matching $endif
825 Displays the number of messages in your global IMAP inbox by de-
826 fault. You can define individual IMAP inboxes seperately by
827 passing arguments to this object. Arguments are: "host user pass
828 [-i interval] [-p port] [-e command]". Default port is 143, de-
829 fault interval is 5 minutes. If the password is supplied as '*',
830 you will be prompted to enter the password when Conky starts.
834 Displays the number of unseen messages in your global IMAP inbox
835 by default. You can define individual IMAP inboxes seperately by
836 passing arguments to this object. Arguments are: "host user pass
837 [-i interval] [-p port] [-e command]". Default port is 143, de-
838 fault interval is 5 minutes. If the password is supplied as '*',
839 you will be prompted to enter the password when Conky starts.
842 kernel Kernel version
846 Get the link status for wireless connections
850 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
851 5 minutes and 3 for past 15 minutes.
855 Machine, i686 for example
858 mails Mail count in mail spool. You can use program like fetchmail to
859 get mails from some server using your favourite protocol. See
863 mboxscan (-n number of messages to print) (-fw from width) (-sw subject
865 Print a summary of recent messages in an mbox format mailbox.
866 mbox parameter is the filename of the mailbox (can be encapsu-
867 lated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"}
870 mem Amount of memory in use
873 membar (height),(width)
874 Bar that shows amount of memory in use
877 memmax Total amount of memory
881 Percentage of memory in use
885 Artist in current MPD song must be enabled at compile
889 Album in current MPD song
892 mpd_bar (height),(width)
893 Bar of mpd's progress
897 Bitrate of current song
901 Playing, stopped, et cetera.
905 Title of current MPD song
921 Percent of song's progress
925 Random status (On/Off)
929 Repeat status (On/Off)
933 Prints the MPD track field
937 Prints the MPD name field
941 Prints the file name of the current MPD song
945 Prints the song name in either the form "artist - title" or file
946 name, depending on whats available
950 Unread mail count in mail spool.
962 If running on Apple powerbook/ibook, display information on bat-
963 tery status. The item parameter specifies, what information to
964 display. Exactly one item must be specified. Valid items are:
966 status: Display if battery is fully charged, charging, discharg-
967 ing or absent (running on AC)
968 percent: Display charge of battery in percent, if charging or
969 discharging. Nothing will be displayed, if battery is fully
971 time: Display the time remaining until the battery will be fully
972 charged or discharged at current rate. Nothing is displayed, if
973 battery is absent or if it's present but fully charged and not
978 Displays the number of unseen messages in your global POP3 inbox
979 by default. You can define individual POP3 inboxes seperately by
980 passing arguments to this object. Arguments are: "host user pass
981 [-i interval] [-p port] [-e command]". Default port is 110, de-
982 fault interval is 5 minutes. If the password is supplied as '*',
983 you will be prompted to enter the password when Conky starts.
987 Displays the amount of space (in MiB, 2^20) used in your global
988 POP3 inbox by default. You can define individual POP3 inboxes
989 seperately by passing arguments to this object. Arguments are:
990 "host user pass [-i interval] [-p port] [-e command]". Default
991 port is 110, default interval is 5 minutes. If the password is
992 supplied as '*', you will be prompted to enter the password when
996 pre_exec shell command
997 Executes a shell command one time before conky displays anything
998 and puts output as text.
1002 Total processes (sleeping and running)
1006 Running processes (not sleeping), requires Linux 2.6
1010 Change shading color
1014 Stippled (dashed) horizontal line
1017 swapbar (height),(width)
1018 Bar that shows amount of swap in use
1021 swap Amount of swap in use
1025 Total amount of swap
1029 Percentage of swap in use
1033 System name, Linux for example
1036 tcp_portmon port_begin port_end item (index) (ip4 only at present)
1037 TCP port monitor for specified local ports. Port numbers must be
1038 in the range 1 to 65535. Valid items are:
1040 count - total number of connections in the range
1041 rip - remote ip address
1042 rhost - remote host name
1043 rport - remote port number
1044 rservice - remote service name from /etc/services
1045 lip - local ip address
1046 lhost - local host name
1047 lport - local port number
1048 lservice - local service name from /etc/services
1050 The connection index provides you with access to each connection
1051 in the port monitor. The monitor will return information for in-
1052 dex values from 0 to n-1 connections. Values higher than n-1 are
1053 simply ignored. For the "count" item, the connection index must
1054 be omitted. It is required for all other items.
1057 ${tcp_portmon 6881 6999 count} - displays the number of connec-
1058 tions in the bittorrent port range
1059 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
1060 first sshd connection
1061 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
1062 tenth sshd connection
1063 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
1064 the first connection on a privileged port
1065 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
1066 the fifth connection on a privileged port
1067 ${tcp_portmon 1 65535 lservice 14} - displays the local service
1068 name of the fifteenth connection in the range of all ports
1070 Note that port monitor variables which share the same port range
1071 actually refer to the same monitor, so many references to a sin-
1072 gle port range for different items and different indexes all use
1073 the same monitor internally. In other words, the program avoids
1074 creating redundant monitors.
1076 texeci interval command
1077 Runs a command at an interval inside a thread and displays the
1078 output. Same as $execi, except the command is run inside a
1079 thread. Use this if you have a slow script to keep Conky updat-
1080 ing. You should make the interval slightly longer then the time
1081 it takes your script to execute. For example, if you have a
1082 script that take 5 seconds to execute, you should make the in-
1083 terval at least 6 seconds. See also $execi.
1087 Move text over by N pixels. See also $voffset.
1090 tab (width, (start))
1091 Puts a tab of the specified width, starting from column 'start'.
1094 tail logfile lines (interval)
1095 Displays last N lines of supplied text text file. If interval is
1096 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
1097 can be displayed, or until the text buffer is filled.
1101 Local time, see man strftime to get more information about for-
1106 Display time in UTC (universal coordinate time).
1109 tztime (timezone) (format)
1110 Local time for specified timezone, see man strftime to get more
1111 information about format. The timezone argument is specified in
1112 similar fashion as TZ environment variable. For hints, look in
1113 /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
1117 Total download, overflows at 4 GB on Linux with 32-bit arch and
1118 there doesn't seem to be a way to know how many times it has al-
1119 ready done that before conky has started.
1123 This takes arguments in the form:top (name) (number) Basically,
1124 processes are ranked from highest to lowest in terms of cpu us-
1125 age, which is what (num) represents. The types are: "name",
1126 "pid", "cpu", and "mem". There can be a max of 10 processes
1131 Same as top, except sorted by mem usage instead of cpu
1135 Total upload, this one too, may overflow
1138 updates Number of updates
1143 Upload speed in kilobytes
1147 Upload speed in kilobytes with one decimal
1150 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
1152 Upload speed graph, colours defined in hex, minus the #. If
1153 scale is non-zero, it becomes the scale for the graph.
1160 Uptime in a shorter format
1164 Change vertical offset by N pixels. Negative values will cause
1165 text to overlap. See also $offset.
1169 Returns CPU #n's voltage in mV. CPUs are counted from 1. If
1170 omitted, the parameter defaults to 1.
1174 Returns CPU #n's voltage in V. CPUs are counted from 1. If omit-
1175 ted, the parameter defaults to 1.
1179 conky -t '${time %D %H:%m}' -o -u 30
1180 Start Conky in its own window with date and clock as text and 30
1181 sec update interval.
1183 conky -a top_left -x 5 -y 500 -d
1184 Start Conky to background at coordinates (5, 500).
1187 ~/.conkyrc default configuration file
1190 Drawing to root or some other desktop window directly doesn't work with
1191 all window managers. Especially doesn't work well with Gnome and it has
1192 been reported that it doesn't work with KDE either. Nautilus can be
1193 disabled from drawing to desktop with program gconf-editor. Uncheck
1194 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1195 Conky to set some specific window id. You might find xwininfo -tree
1196 useful to find the window to draw to. You can also use -o argument
1197 which makes Conky to create its own window.
1200 <http://conky.sourceforge.net>
1202 <http://www.sourceforge.net/projects/conky>
1204 #conky on irc.freenode.net
1207 The Conky dev team. What's up now!