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 --enable-xft --enable-own-window --enable-proc-uptime
47 --enable-audacious --enable-bmpx --enable-hddtemp --enable-mpd --en-
48 able-xmms2 --enable-imlib2 --enable-portmon --enable-debug --en-
49 able-double-buffer --enable-xdamage --enable-x11
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 Use the Xdbe extension? (eliminates flicker) It is highly recom-
181 mended to use own window with this one so double buffer won't be
186 Draw borders around text?
190 Draw borders around graphs?
201 font Font name in X, xfontsel can be used to get a nice font
204 gap_x Gap, in pixels, between right or left border of screen, same as
205 passing -x at command line, e.g. gap_x 10
208 gap_y Gap, in pixels, between top or bottom border of screen, same as
209 passing -y at command line, e.g. gap_y 10.
212 imap Default global IMAP server. Arguments are: "host user pass [-i
213 interval] [-f folder] [-p port] [-e command]". Default port is
214 143, default folder is 'INBOX', default interval is 5 minutes.
215 If the password is supplied as '*', you will be prompted to en-
216 ter the password when Conky starts.
220 Mail spool for mail checking
224 Maximum number of special things, e.g. fonts, offsets, aligns,
225 etc. (default is 512)
229 Maximum size of user text buffer, i.e. layout below TEXT line in
230 config file (default is 16384 bytes)
234 Maximum width of window
237 minimum_size width (height)
238 Minimum size of window
242 Allow for the creation of at least this number of port monitors
243 (if 0 or not set, default is 16)
246 min_port_monitor_connections
247 Allow each port monitor to track at least this many connections
248 (if 0 or not set, default is 256)
264 The number of samples to average for net data
268 Substract (file system) buffers from used memory?
272 Force UTF8? requires XFT
276 Boolean, create own window to draw?
279 own_window_transparent
280 Boolean, set pseudo-transparency?
284 if own_window is yes, you may specify type normal, desktop or
285 override (default: normal). Desktop windows are special windows
286 that have no window decorations; are always visible on your
287 desktop; do not appear in your pager or taskbar; and are sticky
288 across all workspaces. Override windows are not under the con-
289 trol of the window manager. Hints are ignored. This type of win-
290 dow can be useful for certain situations.
293 own_window_colour colour
294 If own_window_transparent no, set a specified background colour
295 (defaults to black). Takes either a hex value (#ffffff) or a
296 valid RGB name (see /usr/lib/X11/rgb.txt)
299 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
300 If own_window is yes, you may use these window manager hints to
301 affect the way Conky displays. Notes: Use own_window_type desk-
302 top as another way to implement many of these hints implicitly.
303 If you use own_window_type override, window manager hints have
304 no meaning and are ignored.
308 Print text to stdout.
312 Pad percentages to this many decimals (0 = no padding)
315 pop3 Default global POP3 server. Arguments are: "host user pass [-i
316 interval] [-p port] [-e command]". Default port is 110, default
317 interval is 5 minutes. If the password is supplied as '*', you
318 will be prompted to enter the password when Conky starts.
322 Border stippling (dashing) in pixels
326 Total number of times for Conky to update before quitting. Zero
327 makes Conky run forever
331 Update interval in seconds
335 Boolean value, if true, text is rendered in upper case
339 Adds spaces after certain objects to stop them from moving other
340 things around. Note that this only helps if you are using a mono
341 font, such as Bitstream Vera Sans Mono.
345 Use Xft (anti-aliased font and stuff)
349 Manually set the WM_CLASS name. Defaults to "conky".
353 Alpha of Xft font. Must be a value at or between 1 and 0.
360 TEXT After this begins text to be formatted on screen
364 Colors are parsed using XParsecolor(), there might be a list of them:
365 /usr/X11R6/lib/X11/rgb.txt. Also, <http://sedition.com/perl/rgb.html>.
366 Color can be also in #rrggbb format (hex). Note that when displaying
367 bytes, power is 1024 and not 1000 so 1M really means 1024*1024 bytes
371 IP address for an interface
375 ACPI ac adapter state.
383 ACPI temperature in C.
387 ACPI temperature in F.
391 CPU temperature from therm_adt746x
395 Fan speed from therm_adt746x
399 Right-justify text, with space of N
407 Display APM AC adapter status (FreeBSD only)
411 Display APM battery life in percent (FreeBSD only)
415 Display remaining APM battery life in hh:mm:ss or "unknown" if
416 AC adapterstatus is on-line or charging (FreeBSD only)
419 audacious_bar (height),(width)
424 Bitrate of current tune
428 Number of audio channels of current tune
432 Full path and filename of current tune
436 Sampling frequency of current tune
440 Total length of current tune as MM:SS
443 audacious_length_seconds
444 Total length of current tune in seconds
447 audacious_playlist_position
448 Playlist position of current tune
451 audacious_playlist_length
452 Number of tunes in playlist
456 Position of current tune (MM:SS)
459 audacious_position_seconds
460 Position of current tune in seconds
464 Player status (Playing/Paused/Stopped/Not running)
467 audacious_title (max length)
468 Title of current tune with optional maximum length specifier
472 Remaining capacity in ACPI or APM battery. ACPI battery number
473 can be given as argument (default is BAT0).
477 Artist in current BMPx track
481 Album in current BMPx track
485 Title of the current BMPx track
489 Track number of the current BMPx track
493 Bitrate of the current BMPx track
497 URI of the current BMPx track
501 Amount of memory buffered
504 cached Amount of memory cached
508 Change drawing color to color
512 CPU usage in percents. For SMP machines, the CPU number can be
513 provided as an argument. ${cpu 0} is the total usage, and ${cpu
514 X} (X >= 1) are individual CPUs.
517 cpubar (cpu number) (height),(width)
518 Bar that shows CPU usage, height is bar's height in pixels. See
519 $cpu for more info on SMP.
522 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
524 CPU usage graph, with optional colours in hex, minus the #. See
525 $cpu for more info on SMP.
528 diskio Displays current disk IO.
531 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
533 Disk IO graph, colours defined in hex, minus the #. If scale is
534 non-zero, it becomes the scale for the graph.
538 Download speed in kilobytes
542 Download speed in kilobytes with one decimal
545 downspeedgraph net (height),(width) (gradient colour 1) (gradient
547 Download speed graph, colours defined in hex, minus the #. If
548 scale is non-zero, it becomes the scale for the graph.
551 else Text to show if any of the above are not true
555 Current entropy available for crypto freaks
558 entropy_bar (height),(width)
559 Normalized bar of available entropy for crypto freaks
563 Total size of system entropy pool for crypto freaks
567 Executes a shell command and displays the output in conky. warn-
568 ing: this takes a lot more resources than other variables. I'd
569 recommend coding wanted behaviour in C and posting a patch.
573 Same as exec, except if the first value return is a value be-
574 tween 0-100, it will use that number for a bar. The size for the
575 bar is currently fixed, but that may change in the future.
579 Same as execbar, but graphs values.
582 execi interval command
583 Same as exec but with specific interval. Interval can't be less
584 than update_interval in configuration. See also $texeci
587 execibar interval command
588 Same as execbar, except with an interval
591 execigraph interval command
592 Same as execigraph, but takes an interval arg graphs values
596 Specify a different font. This new font will apply to the cur-
597 rent line and everything following. You can use a $font with no
598 arguments to change back to the default font (much like with
603 Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
604 omitted, the parameter defaults to 1.
608 Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
609 omitted, the parameter defaults to 1.
613 Returns CPU frequency in MHz, but is calculated by counting to
614 clock cycles to complete an instruction. Only available for
619 Returns CPU frequency in GHz, but is calculated by counting to
620 clock cycles to complete an instruction. Only available for
624 fs_bar (height),(width) fs
625 Bar that shows how much space is used on a file system. height
626 is the height in pixels. fs is any file on that file system.
630 Free space on a file system available for users.
634 Free percentage of space on a file system available for users.
642 File system used space
645 goto x The next element will be printed at position 'x'.
648 hddtemp dev, (host,(port))
649 Displays temperature of a selected hard disk drive as reported
650 by the hddtemp daemon running on host:port. Default host is
651 127.0.0.1, default port is 7634.
654 head logfile lines (interval)
655 Displays first N lines of supplied text text file. If interval
656 is not supplied, Conky assumes 2x Conky's interval. Max of 30
657 lines can be displayed, or until the text buffer is filled.
661 Horizontal line, height is the height in pixels
664 iconv_start codeset_from codeset_to
665 Convert text from one codeset to another using GNU iconv. Needs
666 to be stopped with iconv_stop.
670 Stop iconv codeset conversion.
674 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
675 have only one I2C device. type is either in (or vol) meaning
676 voltage, fan meaning fan or temp/tempf (first in C, second in F)
677 meaning temperature. n is number of the sensor. See
678 /sys/bus/i2c/devices/ on your local computer.
682 If running the i8k kernel driver for Inspiron laptops, displays
683 whether ac power is on, as listed in /proc/i8k (translated to
684 human-readable). Beware that this is by default not enabled by
689 If running the i8k kernel driver for Inspiron laptops, displays
690 the bios version as listed in /proc/i8k.
694 If running the i8k kernel driver for Inspiron laptops, displays
695 the volume buttons status as listed in /proc/i8k.
699 If running the i8k kernel driver for Inspiron laptops, displays
700 the cpu temperature in Celsius, as reported by /proc/i8k.
704 If running the i8k kernel driver for Inspiron laptops, displays
705 the cpu temperature in Fahrenheit, as reported by /proc/i8k.
709 If running the i8k kernel driver for Inspiron laptops, displays
710 the left fan's rate of rotation, in revolutions per minute as
711 listed in /proc/i8k. Beware, some laptops i8k reports these fans
716 If running the i8k kernel driver for Inspiron laptops, displays
717 the left fan status as listed in /proc/i8k (translated to human-
718 readable). Beware, some laptops i8k reports these fans in re-
723 If running the i8k kernel driver for Inspiron laptops, displays
724 the right fan's rate of rotation, in revolutions per minute as
725 listed in /proc/i8k. Beware, some laptops i8k reports these fans
730 If running the i8k kernel driver for Inspiron laptops, displays
731 the right fan status as listed in /proc/i8k (translated to hu-
732 man-readable). Beware, some laptops i8k reports these fans in
737 If running the i8k kernel driver for Inspiron laptops, displays
738 your laptop serial number as listed in /proc/i8k.
742 If running the i8k kernel driver for Inspiron laptops, displays
743 the version formatting of /proc/i8k.
747 If running the IBM ACPI, displays the fan speed.
751 If running the IBM ACPI, displays the temperatures from the IBM
752 temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the
757 If running the IBM ACPI, displays the "master" volume, con-
758 trolled by the volume keys (0-14).
762 If running the IBM ACPI, displays the brigtness of the laptops's
767 if PROCESS is running, display everything if_running and the
772 if FILE exists, display everything between if_existing and the
776 if_mounted (mountpoint)
777 if MOUNTPOINT is mounted, display everything between if_mounted
778 and the matching $endif
782 Displays the number of messages in your global IMAP inbox by de-
783 fault. You can define individual IMAP inboxes seperately by
784 passing arguments to this object. Arguments are: "host user pass
785 [-i interval] [-p port] [-e command]". Default port is 143, de-
786 fault interval is 5 minutes. If the password is supplied as '*',
787 you will be prompted to enter the password when Conky starts.
791 Displays the number of unseen messages in your global IMAP inbox
792 by default. You can define individual IMAP inboxes seperately by
793 passing arguments to this object. Arguments are: "host user pass
794 [-i interval] [-p port] [-e command]". Default port is 143, de-
795 fault interval is 5 minutes. If the password is supplied as '*',
796 you will be prompted to enter the password when Conky starts.
799 kernel Kernel version
803 Get the link status for wireless connections
807 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
808 5 minutes and 3 for past 15 minutes.
812 Machine, i686 for example
815 mails Mail count in mail spool. You can use program like fetchmail to
816 get mails from some server using your favourite protocol. See
820 mem Amount of memory in use
823 membar (height),(width)
824 Bar that shows amount of memory in use
827 memmax Total amount of memory
831 Percentage of memory in use
835 Artist in current MPD song must be enabled at compile
839 Album in current MPD song
842 mpd_bar (height),(width)
843 Bar of mpd's progress
847 Bitrate of current song
851 Playing, stopped, et cetera.
855 Title of current MPD song
871 Percent of song's progress
875 Random status (On/Off)
879 Repeat status (On/Off)
883 Prints the MPD track field
887 Prints the MPD name field
891 Prints the file name of the current MPD song
895 Prints the song name in either the form "artist - title" or file
896 name, depending on whats available
900 Unread mail count in mail spool.
912 If running on Apple powerbook/ibook, display information on bat-
913 tery status. The item parameter specifies, what information to
914 display. Exactly one item must be specified. Valid items are:
916 status: Display if battery is fully charged, charging, discharg-
917 ing or absent (running on AC)
918 percent: Display charge of battery in percent, if charging or
919 discharging. Nothing will be displayed, if battery is fully
921 time: Display the time remaining until the battery will be fully
922 charged or discharged at current rate. Nothing is displayed, if
923 battery is absent or if it's present but fully charged and not
928 Displays the number of unseen messages in your global POP3 inbox
929 by default. You can define individual POP3 inboxes seperately by
930 passing arguments to this object. Arguments are: "host user pass
931 [-i interval] [-p port] [-e command]". Default port is 110, de-
932 fault interval is 5 minutes. If the password is supplied as '*',
933 you will be prompted to enter the password when Conky starts.
937 Displays the amount of space (in MiB, 2^20) used in your global
938 POP3 inbox by default. You can define individual POP3 inboxes
939 seperately by passing arguments to this object. Arguments are:
940 "host user pass [-i interval] [-p port] [-e command]". Default
941 port is 110, default interval is 5 minutes. If the password is
942 supplied as '*', you will be prompted to enter the password when
946 pre_exec shell command
947 Executes a shell command one time before conky displays anything
948 and puts output as text.
952 Total processes (sleeping and running)
956 Running processes (not sleeping), requires Linux 2.6
964 Stippled (dashed) horizontal line
967 swapbar (height),(width)
968 Bar that shows amount of swap in use
971 swap Amount of swap in use
979 Percentage of swap in use
983 System name, Linux for example
986 tcp_portmon port_begin port_end item (index) (ip4 only at present)
987 TCP port monitor for specified local ports. Port numbers must be
988 in the range 1 to 65535. Valid items are:
990 count - total number of connections in the range
991 rip - remote ip address
992 rhost - remote host name
993 rport - remote port number
994 rservice - remote service name from /etc/services
995 lip - local ip address
996 lhost - local host name
997 lport - local port number
998 lservice - local service name from /etc/services
1000 The connection index provides you with access to each connection
1001 in the port monitor. The monitor will return information for in-
1002 dex values from 0 to n-1 connections. Values higher than n-1 are
1003 simply ignored. For the "count" item, the connection index must
1004 be omitted. It is required for all other items.
1007 ${tcp_portmon 6881 6999 count} - displays the number of connec-
1008 tions in the bittorrent port range
1009 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
1010 first sshd connection
1011 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
1012 tenth sshd connection
1013 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
1014 the first connection on a privileged port
1015 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
1016 the fifth connection on a privileged port
1017 ${tcp_portmon 1 65535 lservice 14} - displays the local service
1018 name of the fifteenth connection in the range of all ports
1020 Note that port monitor variables which share the same port range
1021 actually refer to the same monitor, so many references to a sin-
1022 gle port range for different items and different indexes all use
1023 the same monitor internally. In other words, the program avoids
1024 creating redundant monitors.
1026 texeci interval command
1027 Runs a command at an interval inside a thread and displays the
1028 output. Same as $execi, except the command is run inside a
1029 thread. Use this if you have a slow script to keep Conky updat-
1030 ing. You should make the interval slightly longer then the time
1031 it takes your script to execute. For example, if you have a
1032 script that take 5 seconds to execute, you should make the in-
1033 terval at least 6 seconds. See also $execi.
1037 Move text over by N pixels. See also $voffset.
1040 tab (width, (start))
1041 Puts a tab of the specified width, starting from column 'start'.
1044 tail logfile lines (interval)
1045 Displays last N lines of supplied text text file. If interval is
1046 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
1047 can be displayed, or until the text buffer is filled.
1051 Local time, see man strftime to get more information about for-
1056 Display time in UTC (universal coordinate time).
1059 tztime (timezone) (format)
1060 Local time for specified timezone, see man strftime to get more
1061 information about format. The timezone argument is specified in
1062 similar fashion as TZ environment variable. For hints, look in
1063 /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
1067 Total download, overflows at 4 GB on Linux with 32-bit arch and
1068 there doesn't seem to be a way to know how many times it has al-
1069 ready done that before conky has started.
1073 This takes arguments in the form:top (name) (number) Basically,
1074 processes are ranked from highest to lowest in terms of cpu us-
1075 age, which is what (num) represents. The types are: "name",
1076 "pid", "cpu", and "mem". There can be a max of 10 processes
1081 Same as top, except sorted by mem usage instead of cpu
1085 Total upload, this one too, may overflow
1088 updates Number of updates
1093 Upload speed in kilobytes
1097 Upload speed in kilobytes with one decimal
1100 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
1102 Upload speed graph, colours defined in hex, minus the #. If
1103 scale is non-zero, it becomes the scale for the graph.
1110 Uptime in a shorter format
1114 Change vertical offset by N pixels. Negative values will cause
1115 text to overlap. See also $offset.
1119 Returns CPU #n's voltage in mV. CPUs are counted from 1. If
1120 omitted, the parameter defaults to 1.
1124 Returns CPU #n's voltage in V. CPUs are counted from 1. If omit-
1125 ted, the parameter defaults to 1.
1129 conky -t '${time %D %H:%m}' -o -u 30
1130 Start Conky in its own window with date and clock as text and 30
1131 sec update interval.
1133 conky -a top_left -x 5 -y 500 -d
1134 Start Conky to background at coordinates (5, 500).
1137 ~/.conkyrc default configuration file
1140 Drawing to root or some other desktop window directly doesn't work with
1141 all window managers. Especially doesn't work well with Gnome and it has
1142 been reported that it doesn't work with KDE either. Nautilus can be
1143 disabled from drawing to desktop with program gconf-editor. Uncheck
1144 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1145 Conky to set some specific window id. You might find xwininfo -tree
1146 useful to find the window to draw to. You can also use -o argument
1147 which makes Conky to create its own window.
1150 <http://conky.sourceforge.net>
1152 <http://www.sourceforge.net/projects/conky>
1154 #conky on irc.freenode.net
1157 The Conky dev team. What's up now!