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-infopipe --enable-bmpx --enable-seti --en-
48 able-hddtemp --enable-mpd --enable-xmms2 --enable-imlib2 --enable-port-
49 mon --enable-mldonkey --enable-debug --enable-double-buffer --en-
50 able-xdamage --enable-x11
54 make install # Optional
58 Conky probably doesn't compile with compilers other than gcc and icc.
59 It doesn't compile with C89 compiler and not even with pure C99. It
60 uses a few things that might not exist: strdup(), strcasecmp(), strn-
61 casecmp(), optarg variable with getopt() and long long (not in C89).
62 Crashes in file system statistics stuff when compiled with icc, I don't
65 You can disable 'drawing to own window' feature in case you don't need
66 it by passing --disable-own-window to configure -script.
70 Conky is generally very good on resources. However, certain objects in
71 Conky are harder on resources then others. In particular, the $tail,
72 $top, $font, and $graph objects are quite costly in comparison to the
75 If you do use them, please do not complain about memory or CPU usage,
76 unless you think something's seriously wrong (mem leak, etc.).
78 An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
79 conky". Saves you the trouble of having to kill and then restart.
81 IMPORTANT: For previous Conky users, Conky 1.3 no longer supports the
82 metar stuff. mdsplib was causing way too many problems. Hopefully
83 there'll be a better solution in Conky 2.x...
86 Command line options override configurations defined in configuration
90 Prints version and exits
94 Text alignment on screen, {top,bottom}_{left,right} or none
97 -b Use double buffering (eliminates "flicker")
101 Config file to load instead of $HOME/.conkyrc
104 -d Daemonize Conky, aka fork to background
111 -h Prints command line help and exits
114 -o Create own window to draw
118 Text to render, remember single quotes, like -t ' $uptime '
137 CONFIGURATION SETTINGS
138 Default configuration file is $HOME/.conkyrc (can be changed from
139 conky.c among other things). See conkyrc.sample. If installing from De-
140 bian package, this should be in /usr/share/doc/conky/examples ("gunzip
141 conkyrc.sample.gz" to get conkyrc.sample).
143 You might want to copy it to $HOME/.conkyrc and then start modifying
144 it. Other configs can be found at http://conky.sf.net
147 Aligned position on screen, may be top_left, top_right, bot-
148 tom_left, bottom_right, or none
152 Boolean value, if true, Conky will be forked to background when
157 Set Conky on the bottom of all other applications
161 Border margin in pixels
165 Border width in pixels
169 The number of samples to average for CPU monitoring
173 Default color and border color
177 Default shading color and border's shading color
180 default_outline_color
181 Default outline color
185 Use the Xdbe extension? (eliminates flicker) It is highly recom-
186 mended to use own window with this one so double buffer won't be
191 Draw borders around text?
195 Draw borders around graphs?
206 font Font name in X, xfontsel can be used to get a nice font
209 gap_x Gap between right or left border of screen, same as passing -x
213 gap_y Gap between top or bottom border of screen, same as passing -y
217 imap Default global IMAP server. Arguments are: "host user pass [-i
218 interval] [-f folder] [-p port] [-e command]". Default port is
219 143, default folder is 'INBOX', default interval is 5 minutes.
220 If the password is supplied as '*', you will be prompted to en-
221 ter the password when Conky starts.
225 Substract (file system) buffers from used memory?
229 Mail spool for mail checking
233 Maximum width of window
236 minimum_size width (height)
237 Minimum size of window
241 Allow for the creation of at least this number of port monitors
242 (if 0 or not set, default is 16)
245 min_port_monitor_connections
246 Allow each port monitor to track at least this many connections
247 (if 0 or not set, default is 256)
251 Hostname for mldonkey stuff, defaults to localhost
255 Mldonkey port, 4001 default
259 Mldonkey login, default none
263 Mldonkey password, default none
279 The number of samples to average for net data
283 Force UTF8? requires XFT
287 Boolean, create own window to draw?
290 own_window_transparent
291 Boolean, set pseudo-transparency?
295 if own_window is yes, you may specify type normal, desktop or
296 override (default: normal). Desktop windows are special windows
297 that have no window decorations; are always visible on your
298 desktop; do not appear in your pager or taskbar; and are sticky
299 across all workspaces. Override windows are not under the con-
300 trol of the window manager. Hints are ignored. This type of win-
301 dow can be useful for certain situations.
304 own_window_colour colour
305 If own_window_transparent no, set a specified background colour
306 (defaults to black). Takes either a hex value (#ffffff) or a
307 valid RGB name (see /usr/lib/X11/rgb.txt)
310 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
311 If own_window is yes, you may use these window manager hints to
312 affect the way Conky displays. Notes: Use own_window_type desk-
313 top as another way to implement many of these hints implicitly.
314 If you use own_window_type override, window manager hints have
315 no meaning and are ignored.
319 Print text to stdout.
323 Pad percentages to this many decimals (0 = no padding)
326 pop3 Default global POP3 server. Arguments are: "host user pass [-i
327 interval] [-p port] [-e command]". Default port is 110, default
328 interval is 5 minutes. If the password is supplied as '*', you
329 will be prompted to enter the password when Conky starts.
333 Border stippling (dashing) in pixels
337 Total number of times for Conky to update before quitting. Zero
338 makes Conky run forever
342 Update interval in seconds
346 Boolean value, if true, text is rendered in upper case
350 Adds spaces after certain objects to stop them from moving other
351 things around. Note that this only helps if you are using a mono
352 font, such as Bitstream Vera Sans Mono.
356 Use Xft (anti-aliased font and stuff)
360 Manually set the WM_CLASS name. Defaults to "conky".
364 Alpha of Xft font. Must be a value at or between 1 and 0.
371 TEXT After this begins text to be formatted on screen
375 Colors are parsed using XParsecolor(), there might be a list of them:
376 /usr/X11R6/lib/X11/rgb.txt. Also, <http://sedition.com/perl/rgb.html>.
377 Color can be also in #rrggbb format (hex). Note that when displaying
378 bytes, power is 1024 and not 1000 so 1M really means 1024*1024 bytes
382 IP address for an interface
386 ACPI ac adapter state.
394 ACPI temperature in C.
398 ACPI temperature in F.
402 CPU temperature from therm_adt746x
406 Fan speed from therm_adt746x
410 Right-justify text, with space of N
418 Display APM AC adapter status (FreeBSD only)
422 Display APM battery life in percent (FreeBSD only)
426 Display remaining APM battery life in hh:mm:ss or "unknown" if
427 AC adapterstatus is on-line or charging (FreeBSD only)
430 audacious_bar (height),(width)
435 Bitrate of current tune
439 Number of audio channels of current tune
443 Full path and filename of current tune
447 Sampling frequency of current tune
451 Total length of current tune as MM:SS
454 audacious_length_seconds
455 Total length of current tune in seconds
458 audacious_playlist_position
459 Playlist position of current tune
462 audacious_playlist_length
463 Number of tunes in playlist
467 Position of current tune (MM:SS)
470 audacious_position_seconds
471 Position of current tune in seconds
475 Player status (Playing/Paused/Stopped/Not running)
479 Title of current tune
483 Remaining capacity in ACPI or APM battery. ACPI battery number
484 can be given as argument (default is BAT0).
488 Artist in current BMPx track
492 Album in current BMPx track
496 Title of the current BMPx track
500 Track number of the current BMPx track
504 Bitrate of the current BMPx track
508 URI of the current BMPx track
512 Amount of memory buffered
515 cached Amount of memory cached
519 Change drawing color to color
523 CPU usage in percents. For SMP machines, the CPU number can be
524 provided as an argument. ${cpu 0} is the total usage, and ${cpu
525 X} (X >= 1) are individual CPUs.
528 cpubar (cpu number) (height),(width)
529 Bar that shows CPU usage, height is bar's height in pixels. See
530 $cpu for more info on SMP.
533 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
535 CPU usage graph, with optional colours in hex, minus the #. See
536 $cpu for more info on SMP.
539 diskio Displays current disk IO.
542 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
544 Disk IO graph, colours defined in hex, minus the #. If scale is
545 non-zero, it becomes the scale for the graph.
549 Download speed in kilobytes
553 Download speed in kilobytes with one decimal
556 downspeedgraph net (height),(width) (gradient colour 1) (gradient
558 Download speed graph, colours defined in hex, minus the #. If
559 scale is non-zero, it becomes the scale for the graph.
562 else Text to show if any of the above are not true
566 Executes a shell command and displays the output in conky. warn-
567 ing: this takes a lot more resources than other variables. I'd
568 recommend coding wanted behaviour in C and posting a patch.
572 Same as exec, except if the first value return is a value be-
573 tween 0-100, it will use that number for a bar. The size for the
574 bar is currently fixed, but that may change in the future.
578 Same as execbar, but graphs values.
581 execi interval command
582 Same as exec but with specific interval. Interval can't be less
583 than update_interval in configuration. See also $texeci
586 execibar interval command
587 Same as execbar, except with an interval
590 execigraph interval command
591 Same as execigraph, but takes an interval arg graphs values
595 Specify a different font. This new font will apply to the cur-
596 rent line and everything following. You can use a $font with no
597 arguments to change back to the default font (much like with
602 Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
603 omitted, the parameter defaults to 1.
607 Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
608 omitted, the parameter defaults to 1.
612 Returns CPU frequency in MHz, but is calculated by counting to
613 clock cycles to complete an instruction. Only available for
618 Returns CPU frequency in GHz, but is calculated by counting to
619 clock cycles to complete an instruction. Only available for
623 fs_bar (height),(width) fs
624 Bar that shows how much space is used on a file system. height
625 is the height in pixels. fs is any file on that file system.
629 Free space on a file system available for users.
633 Free percentage of space on a file system available for users.
641 File system used space
644 goto x The next element will be printed at position 'x'.
647 hddtemp dev, (host,(port))
648 Displays temperature of a selected hard disk drive as reported
649 by the hddtemp daemon running on host:port. Default host is
650 127.0.0.1, default port is 7634.
653 head logfile lines (interval)
654 Displays first N lines of supplied text text file. If interval
655 is not supplied, Conky assumes 2x Conky's interval. Max of 30
656 lines can be displayed, or until the text buffer is filled.
660 Horizontal line, height is the height in pixels
663 iconv_start codeset_from codeset_to
664 Convert text from one codeset to another using GNU iconv. Needs
665 to be stopped with iconv_stop.
669 Stop iconv codeset conversion.
673 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
674 have only one I2C device. type is either in (or vol) meaning
675 voltage, fan meaning fan or temp/tempf (first in C, second in F)
676 meaning temperature. n is number of the sensor. See
677 /sys/bus/i2c/devices/ on your local computer.
681 If running the i8k kernel driver for Inspiron laptops, displays
682 whether ac power is on, as listed in /proc/i8k (translated to
683 human-readable). Beware that this is by default not enabled by
688 If running the i8k kernel driver for Inspiron laptops, displays
689 the bios version as listed in /proc/i8k.
693 If running the i8k kernel driver for Inspiron laptops, displays
694 the volume buttons status as listed in /proc/i8k.
698 If running the i8k kernel driver for Inspiron laptops, displays
699 the cpu temperature in Celsius, as reported by /proc/i8k.
703 If running the i8k kernel driver for Inspiron laptops, displays
704 the cpu temperature in Farenheit, as reported by /proc/i8k.
708 If running the i8k kernel driver for Inspiron laptops, displays
709 the left fan's rate of rotation, in revolutions per minute as
710 listed in /proc/i8k. Beware, some laptops i8k reports these fans
715 If running the i8k kernel driver for Inspiron laptops, displays
716 the left fan status as listed in /proc/i8k (translated to human-
717 readable). Beware, some laptops i8k reports these fans in re-
722 If running the i8k kernel driver for Inspiron laptops, displays
723 the right fan's rate of rotation, in revolutions per minute as
724 listed in /proc/i8k. Beware, some laptops i8k reports these fans
729 If running the i8k kernel driver for Inspiron laptops, displays
730 the right fan status as listed in /proc/i8k (translated to hu-
731 man-readable). Beware, some laptops i8k reports these fans in
736 If running the i8k kernel driver for Inspiron laptops, displays
737 your laptop serial number as listed in /proc/i8k.
741 If running the i8k kernel driver for Inspiron laptops, displays
742 the version formatting of /proc/i8k.
746 If running the IBM ACPI, displays the fan speed.
750 If running the IBM ACPI, displays the temperatures from the IBM
751 temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the
756 If running the IBM ACPI, displays the "master" volume, con-
757 trolled by the volume keys (0-14).
761 If running the IBM ACPI, displays the brigtness of the laptops's
766 if PROCESS is running, display everything if_running and the
771 if FILE exists, display everything between if_existing and the
775 if_mounted (mountpoint)
776 if MOUNTPOINT is mounted, display everything between if_mounted
777 and the matching $endif
781 Displays the number of messages in your global IMAP inbox by de-
782 fault. You can define individual IMAP inboxes seperately by
783 passing arguments to this object. Arguments are: "host user pass
784 [-i interval] [-p port] [-e command]". Default port is 110, de-
785 fault interval is 5 minutes. If the password is supplied as '*',
786 you will be prompted to enter the password when Conky starts.
790 Displays the number of unseen messages in your global IMAP inbox
791 by default. You can define individual IMAP inboxes seperately by
792 passing arguments to this object. Arguments are: "host user pass
793 [-i interval] [-p port] [-e command]". Default port is 110, de-
794 fault interval is 5 minutes. If the password is supplied as '*',
795 you will be prompted to enter the password when Conky starts.
798 infopipe_bar (height),(width)
803 Bitrate of current tune
807 Number of audio channels of current tune
811 Full path and filename of current tune
815 Sampling frequency of current tune
819 Total length of current tune as MM:SS
822 infopipe_length_seconds
823 Total length of current tune in seconds
826 infopipe_playlist_position
827 Playlist position of current tune
830 infopipe_playlist_length
831 Number of tunes in playlist
835 Position of current tune (MM:SS)
838 infopipe_position_seconds
839 Position of current tune in seconds
843 Player status (Playing/Paused/Stopped/Not running)
847 Title of current tune
850 kernel Kernel version
854 Get the link status for wireless connections
858 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
859 5 minutes and 3 for past 15 minutes.
863 Machine, i686 for example
866 mails Mail count in mail spool. You can use program like fetchmail to
867 get mails from some server using your favourite protocol. See
871 mem Amount of memory in use
874 membar (height),(width)
875 Bar that shows amount of memory in use
878 memmax Total amount of memory
882 Percentage of memory in use
886 Artist in current MPD song must be enabled at compile
890 Album in current MPD song
893 mpd_bar (height),(width)
894 Bar of mpd's progress
898 Bitrate of current song
902 Playing, stopped, et cetera.
906 Title of current MPD song
922 Percent of song's progress
926 Random status (On/Off)
930 Repeat status (On/Off)
934 Prints the MPD track field
938 Prints the MPD name field
942 Prints the file name of the current MPD song
946 Prints the song name in either the form "artist - title" or file
947 name, depending on whats available
951 Unread mail count in mail spool.
963 If running on Apple powerbook/ibook, display information on bat-
964 tery status. The item parameter specifies, what information to
965 display. Exactly one item must be specified. Valid items are:
967 status: Display if battery is fully charged, charging, discharg-
968 ing or absent (running on AC)
969 percent: Display charge of battery in percent, if charging or
970 discharging. Nothing will be displayed, if battery is fully
972 time: Display the time remaining until the battery will be fully
973 charged or discharged at current rate. Nothing is displayed, if
974 battery is absent or if it's present but fully charged and not
979 Displays the number of unseen messages in your global POP3 inbox
980 by default. You can define individual POP3 inboxes seperately by
981 passing arguments to this object. Arguments are: "host user pass
982 [-i interval] [-p port] [-e command]". Default port is 110, de-
983 fault interval is 5 minutes. If the password is supplied as '*',
984 you will be prompted to enter the password when Conky starts.
988 Displays the amount of space (in MiB, 2^20) used in your global
989 POP3 inbox by default. You can define individual POP3 inboxes
990 seperately by passing arguments to this object. Arguments are:
991 "host user pass [-i interval] [-p port] [-e command]". Default
992 port is 110, default interval is 5 minutes. If the password is
993 supplied as '*', you will be prompted to enter the password when
997 pre_exec shell command
998 Executes a shell command one time before conky displays anything
999 and puts output as text.
1003 Total processes (sleeping and running)
1007 Running processes (not sleeping), requires Linux 2.6
1011 Change shading color
1015 Stippled (dashed) horizontal line
1018 swapbar (height),(width)
1019 Bar that shows amount of swap in use
1022 swap Amount of swap in use
1026 Total amount of swap
1030 Percentage of swap in use
1034 System name, Linux for example
1037 tcp_portmon port_begin port_end item (index) (ip4 only at present)
1038 TCP port monitor for specified local ports. Port numbers must be
1039 in the range 1 to 65535. Valid items are:
1041 count - total number of connections in the range
1042 rip - remote ip address
1043 rhost - remote host name
1044 rport - remote port number
1045 rservice - remote service name from /etc/services
1046 lip - local ip address
1047 lhost - local host name
1048 lport - local port number
1049 lservice - local service name from /etc/services
1051 The connection index provides you with access to each connection
1052 in the port monitor. The monitor will return information for in-
1053 dex values from 0 to n-1 connections. Values higher than n-1 are
1054 simply ignored. For the "count" item, the connection index must
1055 be omitted. It is required for all other items.
1058 ${tcp_portmon 6881 6999 count} - displays the number of connec-
1059 tions in the bittorrent port range
1060 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
1061 first sshd connection
1062 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
1063 tenth sshd connection
1064 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
1065 the first connection on a privileged port
1066 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
1067 the fifth connection on a privileged port
1068 ${tcp_portmon 1 65535 lservice 14} - displays the local service
1069 name of the fifteenth connection in the range of all ports
1071 Note that port monitor variables which share the same port range
1072 actually refer to the same monitor, so many references to a sin-
1073 gle port range for different items and different indexes all use
1074 the same monitor internally. In other words, the program avoids
1075 creating redundant monitors.
1077 texeci interval command
1078 Runs a command at an interval inside a thread and displays the
1079 output. Same as $execi, except the command is run inside a
1080 thread. Use this if you have a slow script to keep Conky updat-
1081 ing. You should make the interval slightly longer then the time
1082 it takes your script to execute. For example, if you have a
1083 script that take 5 seconds to execute, you should make the in-
1084 terval at least 6 seconds. See also $execi.
1088 Move text over by N pixels. See also $voffset.
1091 tab (width, (start))
1092 Puts a tab of the specified width, starting from column 'start'.
1095 tail logfile lines (interval)
1096 Displays last N lines of supplied text text file. If interval is
1097 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
1098 can be displayed, or until the text buffer is filled.
1102 Local time, see man strftime to get more information about for-
1107 Display time in UTC (universal coordinate time).
1110 tztime (timezone) (format)
1111 Local time for specified timezone, see man strftime to get more
1112 information about format. The timezone argument is specified in
1113 similar fashion as TZ environment variable. For hints, look in
1114 /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
1118 Total download, overflows at 4 GB on Linux with 32-bit arch and
1119 there doesn't seem to be a way to know how many times it has al-
1120 ready done that before conky has started.
1124 This takes arguments in the form:top (name) (number) Basically,
1125 processes are ranked from highest to lowest in terms of cpu us-
1126 age, which is what (num) represents. The types are: "name",
1127 "pid", "cpu", and "mem". There can be a max of 10 processes
1132 Same as top, except sorted by mem usage instead of cpu
1136 Total upload, this one too, may overflow
1139 updates Number of updates
1144 Upload speed in kilobytes
1148 Upload speed in kilobytes with one decimal
1151 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
1153 Upload speed graph, colours defined in hex, minus the #. If
1154 scale is non-zero, it becomes the scale for the graph.
1161 Uptime in a shorter format
1165 Seti@home current progress
1168 seti_progbar (height),(width)
1169 Seti@home current progress bar
1173 Seti@home total user credit
1177 Change vertical offset by N pixels. Negative values will cause
1178 text to overlap. See also $offset.
1182 Returns CPU #n's voltage in mV. CPUs are counted from 1. If
1183 omitted, the parameter defaults to 1.
1187 Returns CPU #n's voltage in V. CPUs are counted from 1. If omit-
1188 ted, the parameter defaults to 1.
1192 conky -t '${time %D %H:%m}' -o -u 30
1193 Start Conky in its own window with date and clock as text and 30
1194 sec update interval.
1196 conky -a top_left -x 5 -y 500 -d
1197 Start Conky to background at coordinates (5, 500).
1200 ~/.conkyrc default configuration file
1203 Drawing to root or some other desktop window directly doesn't work with
1204 all window managers. Especially doesn't work well with Gnome and it has
1205 been reported that it doesn't work with KDE either. Nautilus can be
1206 disabled from drawing to desktop with program gconf-editor. Uncheck
1207 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1208 Conky to set some specific window id. You might find xwininfo -tree
1209 useful to find the window to draw to. You can also use -o argument
1210 which makes Conky to create its own window.
1213 <http://conky.sourceforge.net>
1215 <http://www.sourceforge.net/projects/conky>
1217 #conky on irc.freenode.net
1220 The Conky dev team. What's up now!