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 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 en-
220 ter 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)
262 The number of samples to average for net data
266 Force UTF8? requires XFT
270 Boolean, create own window to draw?
273 own_window_transparent
274 Boolean, set pseudo-transparency?
278 if own_window is yes, you may specify type normal, desktop or
279 override (default: normal). Desktop windows are special windows
280 that have no window decorations; are always visible on your
281 desktop; do not appear in your pager or taskbar; and are sticky
282 across all workspaces. Override windows are not under the con-
283 trol of the window manager. Hints are ignored. This type of win-
284 dow can be useful for certain situations.
287 own_window_colour colour
288 If own_window_transparent no, set a specified background colour
289 (defaults to black). Takes either a hex value (#ffffff) or a
290 valid RGB name (see /usr/lib/X11/rgb.txt)
293 own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
294 If own_window is yes, you may use these window manager hints to
295 affect the way Conky displays. Notes: Use own_window_type desk-
296 top as another way to implement many of these hints implicitly.
297 If you use own_window_type override, window manager hints have
298 no meaning and are ignored.
302 Print text to stdout.
306 Pad percentages to this many decimals (0 = no padding)
309 pop3 Default global POP3 server. Arguments are: "host user pass [-i
310 interval] [-p port] [-e command]". Default port is 110, default
311 interval is 5 minutes. If the password is supplied as '*', you
312 will be prompted to enter the password when Conky starts.
316 Border stippling (dashing) in pixels
320 Total number of times for Conky to update before quitting. Zero
321 makes Conky run forever
325 Update interval in seconds
329 Boolean value, if true, text is rendered in upper case
333 Adds spaces after certain objects to stop them from moving other
334 things around. Note that this only helps if you are using a mono
335 font, such as Bitstream Vera Sans Mono.
339 Use Xft (anti-aliased font and stuff)
343 Manually set the WM_CLASS name. Defaults to "conky".
347 Alpha of Xft font. Must be a value at or between 1 and 0.
354 TEXT After this begins text to be formatted on screen
358 Colors are parsed using XParsecolor(), there might be a list of them:
359 /usr/X11R6/lib/X11/rgb.txt. Also, <http://sedition.com/perl/rgb.html>.
360 Color can be also in #rrggbb format (hex). Note that when displaying
361 bytes, power is 1024 and not 1000 so 1M really means 1024*1024 bytes
365 IP address for an interface
369 ACPI ac adapter state.
377 ACPI temperature in C.
381 ACPI temperature in F.
385 CPU temperature from therm_adt746x
389 Fan speed from therm_adt746x
393 Right-justify text, with space of N
401 Display APM AC adapter status (FreeBSD only)
405 Display APM battery life in percent (FreeBSD only)
409 Display remaining APM battery life in hh:mm:ss or "unknown" if
410 AC adapterstatus is on-line or charging (FreeBSD only)
413 audacious_bar (height),(width)
418 Bitrate of current tune
422 Number of audio channels of current tune
426 Full path and filename of current tune
430 Sampling frequency of current tune
434 Total length of current tune as MM:SS
437 audacious_length_seconds
438 Total length of current tune in seconds
441 audacious_playlist_position
442 Playlist position of current tune
445 audacious_playlist_length
446 Number of tunes in playlist
450 Position of current tune (MM:SS)
453 audacious_position_seconds
454 Position of current tune in seconds
458 Player status (Playing/Paused/Stopped/Not running)
462 Title of current tune
466 Remaining capacity in ACPI or APM battery. ACPI battery number
467 can be given as argument (default is BAT0).
471 Artist in current BMPx track
475 Album in current BMPx track
479 Title of the current BMPx track
483 Track number of the current BMPx track
487 Bitrate of the current BMPx track
491 URI of the current BMPx track
495 Amount of memory buffered
498 cached Amount of memory cached
502 Change drawing color to color
506 CPU usage in percents. For SMP machines, the CPU number can be
507 provided as an argument. ${cpu 0} is the total usage, and ${cpu
508 X} (X >= 1) are individual CPUs.
511 cpubar (cpu number) (height),(width)
512 Bar that shows CPU usage, height is bar's height in pixels. See
513 $cpu for more info on SMP.
516 cpugraph (cpu number) (height),(width) (gradient colour 1) (gradient
518 CPU usage graph, with optional colours in hex, minus the #. See
519 $cpu for more info on SMP.
522 diskio Displays current disk IO.
525 diskiograph (height),(width) (gradient colour 1) (gradient colour 2)
527 Disk IO graph, colours defined in hex, minus the #. If scale is
528 non-zero, it becomes the scale for the graph.
532 Download speed in kilobytes
536 Download speed in kilobytes with one decimal
539 downspeedgraph net (height),(width) (gradient colour 1) (gradient
541 Download speed graph, colours defined in hex, minus the #. If
542 scale is non-zero, it becomes the scale for the graph.
545 else Text to show if any of the above are not true
549 Executes a shell command and displays the output in conky. warn-
550 ing: this takes a lot more resources than other variables. I'd
551 recommend coding wanted behaviour in C and posting a patch.
555 Same as exec, except if the first value return is a value be-
556 tween 0-100, it will use that number for a bar. The size for the
557 bar is currently fixed, but that may change in the future.
561 Same as execbar, but graphs values.
564 execi interval command
565 Same as exec but with specific interval. Interval can't be less
566 than update_interval in configuration. See also $texeci
569 execibar interval command
570 Same as execbar, except with an interval
573 execigraph interval command
574 Same as execigraph, but takes an interval arg graphs values
578 Specify a different font. This new font will apply to the cur-
579 rent line and everything following. You can use a $font with no
580 arguments to change back to the default font (much like with
585 Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
586 omitted, the parameter defaults to 1.
590 Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
591 omitted, the parameter defaults to 1.
595 Returns CPU frequency in MHz, but is calculated by counting to
596 clock cycles to complete an instruction. Only available for
601 Returns CPU frequency in GHz, but is calculated by counting to
602 clock cycles to complete an instruction. Only available for
606 fs_bar (height),(width) fs
607 Bar that shows how much space is used on a file system. height
608 is the height in pixels. fs is any file on that file system.
612 Free space on a file system available for users.
616 Free percentage of space on a file system available for users.
624 File system used space
627 goto x The next element will be printed at position 'x'.
630 hddtemp dev, (host,(port))
631 Displays temperature of a selected hard disk drive as reported
632 by the hddtemp daemon running on host:port. Default host is
633 127.0.0.1, default port is 7634.
636 head logfile lines (interval)
637 Displays first N lines of supplied text text file. If interval
638 is not supplied, Conky assumes 2x Conky's interval. Max of 30
639 lines can be displayed, or until the text buffer is filled.
643 Horizontal line, height is the height in pixels
646 iconv_start codeset_from codeset_to
647 Convert text from one codeset to another using GNU iconv. Needs
648 to be stopped with iconv_stop.
652 Stop iconv codeset conversion.
656 I2C sensor from sysfs (Linux 2.6). dev may be omitted if you
657 have only one I2C device. type is either in (or vol) meaning
658 voltage, fan meaning fan or temp/tempf (first in C, second in F)
659 meaning temperature. n is number of the sensor. See
660 /sys/bus/i2c/devices/ on your local computer.
664 If running the i8k kernel driver for Inspiron laptops, displays
665 whether ac power is on, as listed in /proc/i8k (translated to
666 human-readable). Beware that this is by default not enabled by
671 If running the i8k kernel driver for Inspiron laptops, displays
672 the bios version as listed in /proc/i8k.
676 If running the i8k kernel driver for Inspiron laptops, displays
677 the volume buttons status as listed in /proc/i8k.
681 If running the i8k kernel driver for Inspiron laptops, displays
682 the cpu temperature in Celsius, as reported by /proc/i8k.
686 If running the i8k kernel driver for Inspiron laptops, displays
687 the cpu temperature in Farenheit, as reported by /proc/i8k.
691 If running the i8k kernel driver for Inspiron laptops, displays
692 the left fan's rate of rotation, in revolutions per minute as
693 listed in /proc/i8k. Beware, some laptops i8k reports these fans
698 If running the i8k kernel driver for Inspiron laptops, displays
699 the left fan status as listed in /proc/i8k (translated to human-
700 readable). Beware, some laptops i8k reports these fans in re-
705 If running the i8k kernel driver for Inspiron laptops, displays
706 the right fan's rate of rotation, in revolutions per minute as
707 listed in /proc/i8k. Beware, some laptops i8k reports these fans
712 If running the i8k kernel driver for Inspiron laptops, displays
713 the right fan status as listed in /proc/i8k (translated to hu-
714 man-readable). Beware, some laptops i8k reports these fans in
719 If running the i8k kernel driver for Inspiron laptops, displays
720 your laptop serial number as listed in /proc/i8k.
724 If running the i8k kernel driver for Inspiron laptops, displays
725 the version formatting of /proc/i8k.
729 If running the IBM ACPI, displays the fan speed.
733 If running the IBM ACPI, displays the temperatures from the IBM
734 temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the
739 If running the IBM ACPI, displays the "master" volume, con-
740 trolled by the volume keys (0-14).
744 If running the IBM ACPI, displays the brigtness of the laptops's
749 if PROCESS is running, display everything if_running and the
754 if FILE exists, display everything between if_existing and the
758 if_mounted (mountpoint)
759 if MOUNTPOINT is mounted, display everything between if_mounted
760 and the matching $endif
764 Displays the number of messages in your global IMAP inbox by de-
765 fault. You can define individual IMAP inboxes seperately by
766 passing arguments to this object. Arguments are: "host user pass
767 [-i interval] [-p port] [-e command]". Default port is 110, de-
768 fault interval is 5 minutes. If the password is supplied as '*',
769 you will be prompted to enter the password when Conky starts.
773 Displays the number of unseen messages in your global IMAP inbox
774 by default. You can define individual IMAP inboxes seperately by
775 passing arguments to this object. Arguments are: "host user pass
776 [-i interval] [-p port] [-e command]". Default port is 110, de-
777 fault interval is 5 minutes. If the password is supplied as '*',
778 you will be prompted to enter the password when Conky starts.
781 kernel Kernel version
785 Get the link status for wireless connections
789 (1,2,3)> System load average, 1 is for past 1 minute, 2 for past
790 5 minutes and 3 for past 15 minutes.
794 Machine, i686 for example
797 mails Mail count in mail spool. You can use program like fetchmail to
798 get mails from some server using your favourite protocol. See
802 mem Amount of memory in use
805 membar (height),(width)
806 Bar that shows amount of memory in use
809 memmax Total amount of memory
813 Percentage of memory in use
817 Artist in current MPD song must be enabled at compile
821 Album in current MPD song
824 mpd_bar (height),(width)
825 Bar of mpd's progress
829 Bitrate of current song
833 Playing, stopped, et cetera.
837 Title of current MPD song
853 Percent of song's progress
857 Random status (On/Off)
861 Repeat status (On/Off)
865 Prints the MPD track field
869 Prints the MPD name field
873 Prints the file name of the current MPD song
877 Prints the song name in either the form "artist - title" or file
878 name, depending on whats available
882 Unread mail count in mail spool.
894 If running on Apple powerbook/ibook, display information on bat-
895 tery status. The item parameter specifies, what information to
896 display. Exactly one item must be specified. Valid items are:
898 status: Display if battery is fully charged, charging, discharg-
899 ing or absent (running on AC)
900 percent: Display charge of battery in percent, if charging or
901 discharging. Nothing will be displayed, if battery is fully
903 time: Display the time remaining until the battery will be fully
904 charged or discharged at current rate. Nothing is displayed, if
905 battery is absent or if it's present but fully charged and not
910 Displays the number of unseen messages in your global POP3 inbox
911 by default. You can define individual POP3 inboxes seperately by
912 passing arguments to this object. Arguments are: "host user pass
913 [-i interval] [-p port] [-e command]". Default port is 110, de-
914 fault interval is 5 minutes. If the password is supplied as '*',
915 you will be prompted to enter the password when Conky starts.
919 Displays the amount of space (in MiB, 2^20) used in your global
920 POP3 inbox by default. You can define individual POP3 inboxes
921 seperately by passing arguments to this object. Arguments are:
922 "host user pass [-i interval] [-p port] [-e command]". Default
923 port is 110, default interval is 5 minutes. If the password is
924 supplied as '*', you will be prompted to enter the password when
928 pre_exec shell command
929 Executes a shell command one time before conky displays anything
930 and puts output as text.
934 Total processes (sleeping and running)
938 Running processes (not sleeping), requires Linux 2.6
946 Stippled (dashed) horizontal line
949 swapbar (height),(width)
950 Bar that shows amount of swap in use
953 swap Amount of swap in use
961 Percentage of swap in use
965 System name, Linux for example
968 tcp_portmon port_begin port_end item (index) (ip4 only at present)
969 TCP port monitor for specified local ports. Port numbers must be
970 in the range 1 to 65535. Valid items are:
972 count - total number of connections in the range
973 rip - remote ip address
974 rhost - remote host name
975 rport - remote port number
976 rservice - remote service name from /etc/services
977 lip - local ip address
978 lhost - local host name
979 lport - local port number
980 lservice - local service name from /etc/services
982 The connection index provides you with access to each connection
983 in the port monitor. The monitor will return information for in-
984 dex values from 0 to n-1 connections. Values higher than n-1 are
985 simply ignored. For the "count" item, the connection index must
986 be omitted. It is required for all other items.
989 ${tcp_portmon 6881 6999 count} - displays the number of connec-
990 tions in the bittorrent port range
991 ${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
992 first sshd connection
993 ${tcp_portmon 22 22 rip 9} - displays the remote host ip of the
994 tenth sshd connection
995 ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
996 the first connection on a privileged port
997 ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
998 the fifth connection on a privileged port
999 ${tcp_portmon 1 65535 lservice 14} - displays the local service
1000 name of the fifteenth connection in the range of all ports
1002 Note that port monitor variables which share the same port range
1003 actually refer to the same monitor, so many references to a sin-
1004 gle port range for different items and different indexes all use
1005 the same monitor internally. In other words, the program avoids
1006 creating redundant monitors.
1008 texeci interval command
1009 Runs a command at an interval inside a thread and displays the
1010 output. Same as $execi, except the command is run inside a
1011 thread. Use this if you have a slow script to keep Conky updat-
1012 ing. You should make the interval slightly longer then the time
1013 it takes your script to execute. For example, if you have a
1014 script that take 5 seconds to execute, you should make the in-
1015 terval at least 6 seconds. See also $execi.
1019 Move text over by N pixels. See also $voffset.
1022 tab (width, (start))
1023 Puts a tab of the specified width, starting from column 'start'.
1026 tail logfile lines (interval)
1027 Displays last N lines of supplied text text file. If interval is
1028 not supplied, Conky assumes 2x Conky's interval. Max of 30 lines
1029 can be displayed, or until the text buffer is filled.
1033 Local time, see man strftime to get more information about for-
1038 Display time in UTC (universal coordinate time).
1041 tztime (timezone) (format)
1042 Local time for specified timezone, see man strftime to get more
1043 information about format. The timezone argument is specified in
1044 similar fashion as TZ environment variable. For hints, look in
1045 /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
1049 Total download, overflows at 4 GB on Linux with 32-bit arch and
1050 there doesn't seem to be a way to know how many times it has al-
1051 ready done that before conky has started.
1055 This takes arguments in the form:top (name) (number) Basically,
1056 processes are ranked from highest to lowest in terms of cpu us-
1057 age, which is what (num) represents. The types are: "name",
1058 "pid", "cpu", and "mem". There can be a max of 10 processes
1063 Same as top, except sorted by mem usage instead of cpu
1067 Total upload, this one too, may overflow
1070 updates Number of updates
1075 Upload speed in kilobytes
1079 Upload speed in kilobytes with one decimal
1082 upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
1084 Upload speed graph, colours defined in hex, minus the #. If
1085 scale is non-zero, it becomes the scale for the graph.
1092 Uptime in a shorter format
1096 Change vertical offset by N pixels. Negative values will cause
1097 text to overlap. See also $offset.
1101 Returns CPU #n's voltage in mV. CPUs are counted from 1. If
1102 omitted, the parameter defaults to 1.
1106 Returns CPU #n's voltage in V. CPUs are counted from 1. If omit-
1107 ted, the parameter defaults to 1.
1111 conky -t '${time %D %H:%m}' -o -u 30
1112 Start Conky in its own window with date and clock as text and 30
1113 sec update interval.
1115 conky -a top_left -x 5 -y 500 -d
1116 Start Conky to background at coordinates (5, 500).
1119 ~/.conkyrc default configuration file
1122 Drawing to root or some other desktop window directly doesn't work with
1123 all window managers. Especially doesn't work well with Gnome and it has
1124 been reported that it doesn't work with KDE either. Nautilus can be
1125 disabled from drawing to desktop with program gconf-editor. Uncheck
1126 show_desktop in /apps/nautilus/preferences/. There is -w switch in
1127 Conky to set some specific window id. You might find xwininfo -tree
1128 useful to find the window to draw to. You can also use -o argument
1129 which makes Conky to create its own window.
1132 <http://conky.sourceforge.net>
1134 <http://www.sourceforge.net/projects/conky>
1136 #conky on irc.freenode.net
1139 The Conky dev team. What's up now!