Name

conky — A system monitor for X originally based on the torsmo code, but more kickass. It just keeps on given'er. Yeah.

Synopsis

conky [ options ]

Description

Conky is a system monitor for X originally based on torsmo. Since its inception, Conky has changed significantly from its predecessor, while maintaining simplicity and configurability. Conky can display just about anything, either on your root desktop or in its own window. Not only does Conky have many built-in objects, it can also display just about any piece of information by using scripts and other external programs.

Conky has more than 250 built in objects, including support for a plethora of OS stats (uname, uptime, CPU usage, mem usage, disk usage, "top" like process stats, and network monitoring, just to name a few), built in IMAP and POP3 support, built in support for many popular music players (MPD, XMMS2, Audacious), and much much more. Conky can display this info either as text, or using simple progress bars and graph widgets, with different fonts and colours.

We are always looking for help, whether its reporting bugs, writing patches, or writing docs. Please use the facilities at SourceForge to make bug reports, feature requests, and submit patches, or stop by #conky on irc.freenode.net if you have questions or want to contribute.

Thanks for your interest in Conky.

Compiling

For users compiling from source on a binary distro, make sure you have the X development libraries installed (Unless you configure your build without X11). This should be a package along the lines of "libx11-dev" or "xorg-x11-dev" for X11 libs, and similar "-dev" format for the other libs required (depending on your build options). You should be able to see which extra packages you need to install by reading errors that you get from running `cmake'. The easiest way to view the available build options is to run `ccmake' or `cmake-gui' from the source tree, but be careful when disabling certain features as you may lose desired functionality. E.g., with BUILD_MATH disabled you won't get errors but logarithmic graphs will be normal graphs and gauges will miss their line.

Conky has (for some time) been available in the repositories of most popular distributions. Here are some installation instructions for a few:

Gentoo users -- Conky is in Gentoo's Portage... simply use "emerge app-admin/conky" for installation.

Debian, etc. users -- Conky should be in your repositories, and can be installed by doing "aptitude install conky".

Example to compile and run Conky with default components (note that some build options may differ for your system):

cmake -D CMAKE_INSTALL_PREFIX:string=/usr .
make
make install # Optional
src/conky

Conky has been tested to be compatible with C99 C and C++0x C++, however it has not been tested with anything other than gcc, and is not guaranteed to work with other compilers.

TIP: Try configuring Conky with `ccmake' or `cmake-gui' instead of just `cmake'.

You Should Know

Conky is generally very good on resources. That said, the more you try to make Conky do, the more resources it is going to consume.

An easy way to force Conky to reload your ~/.config/conky/conky.conf: "killall -SIGUSR1 conky". Saves you the trouble of having to kill and then restart.

Options

Command line options override configurations defined in configuration file.

-a | --alignment= ALIGNMENT
Text alignment on screen, {top,bottom,middle}_{left,right,middle} or none. Can also be abbreviated with first chars of position, ie. tr for top_right. Only available with build flag BUILD_X11 enabled.

-b | --double-buffer
Use double buffering (eliminates "flicker"). Only available with build flag BUILD_X11 enabled.

-c | --config= FILE
Config file to load instead of ~/.config/conky/conky.conf.

-C | --print-config
Print builtin default config to stdout. See also the section EXAMPLES for more information. Only available with build flag BUILD_BUILTIN_CONFIG enabled.

-d | --daemonize
Daemonize Conky, aka fork to background.

-D | --debug
Increase debugging output, ie. -DD for more debugging.

-f | --font= FONT
Font to use. Only available with build flag BUILD_X11 enabled.

-h | --help
Prints command line help and exits.

-i COUNT
Number of times to update Conky (and quit).

-o | --own-window
Create own window to draw. Only available with build flag BUILD_X11 enabled.

-p | --pause= SECONDS
Time to pause/wait before actually starting Conky.

-q | --quiet
Run Conky in 'quiet mode' (ie. no output).

-t | --text= TEXT
Text to render, remember single quotes, like -t ' $uptime '.

-u | --interval= SECONDS
Update interval.

-v | -V | --version
Prints version, build information and general info. Exits after printing.

-w | --window-id= WIN_ID
Window id to draw. Only available with build flag BUILD_X11 enabled.

-x X_COORDINATE
X position.

-X | --display= DISPLAY
X11 display to use. Only available with build flag BUILD_X11 enabled.

-y Y_COORDINATE
Y position.

Configuration Settings

Default configuration file location is ~/.config/conky/conky.conf or ${sysconfdir}/conky/conky.conf. On most systems, sysconfdir is /etc, and you can find the sample config file there in /etc/conky/conky.conf.

You might want to copy it to ~/.config/conky/conky.conf and then start modifying it. Other configs can be found at https://github.com/brndnmtthws/conky.

alignment
Aligned position on screen, may be top_left, top_right, top_middle, bottom_left, bottom_right, bottom_middle, middle_left, middle_middle, middle_right, or none (also can be abreviated as tl, tr, tm, bl, br, bm, ml, mm, mr). See also gap_x and gap_y.

append_file
Append the file given as argument.

background
Boolean value, if true, Conky will be forked to background when started.

forced_redraw
Boolean value, if true, Conky will redraw everything when you switch the workspace. This may cause delays/flickering on some WMs.

border_inner_margin
Inner border margin in pixels (the margin between the border and text).

border_outer_margin
Outer border margin in pixels (the margin between the border and the edge of the window).

border_width
Border width in pixels.

colorN
Predefine a color for use inside conky.text segments. Substitute N by a digit between 0 and 9, inclusively. When specifying the color value in hex, omit the leading hash (#).

console_bar_fill
A character to fill the console bars. (default: '#')

console_bar_unfill
A character to unfill the console bars. (default: '.')

console_graph_ticks
A comma-separated list of strings to use as the bars of a graph output to console/shell. The first list item is used for the minimum bar height and the last item is used for the maximum, e.g. " ,_,=,#".

cpu_avg_samples
The number of samples to average for CPU monitoring.

default_bar_height
Specify a default height for bars. If not specified, the default value is 6.

default_bar_width
Specify a default width for bars. If not specified, the default value is 0, which causes the bar to expand to fit the width of your Conky window. If you set out_to_console = true, the default value will be 10 for the text version of the bar.

default_color
Default color and border color.

default_gauge_height
Specify a default height for gauges. If not specified, the default value is 25.

default_gauge_width
Specify a default width for gauges. If not specified, the default value is 40.

default_graph_height
Specify a default height for graphs. If not specified, the default value is 25.

default_graph_width
Specify a default width for graphs. If not specified, the default value is 0, which causes the graph to expand to fit the width of your Conky window. If you set out_to_console = true, the text version of the graph will actually have no width and you will need to set a sensible default or set the height and width of each graph individually.

default_outline_color
Default outline color.

default_shade_color
Default shading color and border's shading color.

disable_auto_reload
Enable to disable the inotify-based auto config reload feature.

diskio_avg_samples
The number of samples to average for disk I/O monitoring.

display
Specify an X display to connect to.

xinerama_head
Specify a Xinerama head.

double_buffer
Use the Xdbe extension? (eliminates flicker) It is highly recommended to use own window with this one so double buffer won't be so big.

draw_blended
Boolean, blend when rendering drawn image? Some images blend incorrectly breaking alpha with ARBG visuals. This provides a possible work around by disabling blending. Defaults to true.

draw_borders
Draw borders around text.

draw_graph_borders
Draw borders around graphs.

draw_outline
Draw outlines.

draw_shades
Draw shades.

extra_newline
Put an extra newline at the end when writing to stdout, useful for writing to awesome's wiboxes.

font
Font name in X, xfontsel can be used to get a nice font.

fontN
Predefine a font to be used in conky.text segments. Substitute N by a number between 0 and 9 inclusive. Use the same format as a font variable.

format_human_readable
If enabled, values which are in bytes will be printed in human readable format (i.e., KiB, MiB, etc). If disabled, the number of bytes is printed instead.

gap_x
Gap, in pixels, between right or left border of screen, same as passing -x at command line, e.g. gap_x 10. For other position related stuff, see 'alignment'.

gap_y
Gap, in pixels, between top or bottom border of screen, same as passing -y at command line, e.g. gap_y 10. For other position related stuff, see 'alignment'.

github_token
Specify API token for GitHub notifications.
https://github.com/settings/tokens/new?scopes=notifications&description=conky

hddtemp_host
Hostname to connect to for hddtemp objects. Defaults to "127.0.0.1".

hddtemp_port
Port to use for hddtemp connections. Defaults to 7634.

http_refresh
When this is set the page generated with out_to_http will automatically refresh each interval. Default value is no.

if_up_strictness
How strict should if_up be when testing an interface for being up? The value is one of up, link or address, to check for the interface being solely up, being up and having link or being up, having link and an assigned IP address.

imap
Default global IMAP server. Arguments are: "host user pass [-i interval (in seconds)] [-f 'folder'] [-p port] [-e 'command'] [-r retries]". Default port is 143, default folder is 'INBOX', default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts.

imlib_cache_flush_interval
Interval (in seconds) to flush Imlib2 cache.

imlib_cache_size
Imlib2 image cache size, in bytes. Defaults to 4MiB. Increase this value if you use $image lots. Set to 0 to disable the image cache.

lua_draw_hook_post function_name [function arguments]
This function, if defined, will be called by Conky through each iteration after drawing to the window. Requires X support. Takes any number of optional arguments. Use this hook for drawing things on top of what Conky draws. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you place 'conky_' in front of it yourself.

lua_draw_hook_pre function_name [function arguments]
This function, if defined, will be called by Conky through each iteration before drawing to the window. Requires X support. Takes any number of optional arguments. Use this hook for drawing things on top of what Conky draws. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you place 'conky_' in front of it yourself.

lua_load
Loads the Lua scripts separated by spaces.

lua_shutdown_hook function_name [function arguments]
This function, if defined, will be called by Conky at shutdown or when the configuration is reloaded. Use this hook to clean up after yourself, such as freeing memory which has been allocated by external libraries via Lua. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you place 'conky_' in front of it yourself.

lua_startup_hook function_name [function arguments]
This function, if defined, will be called by Conky at startup or when the configuration is reloaded. Use this hook to initialize values, or for any run-once applications. Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you place 'conky_' in front of it yourself.

mail_spool
Mail spool for mail checking.

max_port_monitor_connections
Allow each port monitor to track at most this many connections (if 0 or not set, default is 256).

max_text_width width
When a line in the output contains 'width' chars and the end isn't reached, the next char will start on a new line. If you want to make sure that lines don't get broken, set 'width' to 0.

max_user_text bytes
Maximum size of user text buffer, i.e. text inside conky.text section in config file (default is 16384 bytes).

maximum_width pixels
Maximum width of window.

minimum_height height
Minimum height of the window.

minimum_width width
Minimum width of window.

mpd_host
Host of MPD server.

mpd_password
MPD server password.

mpd_port
Port of MPD server.

mysql_host
Host of MySQL server. Defaults to localhost.

mysql_port
Port of MySQL server. Defaults to the default mysql port.

mysql_user
MySQL user name to use when connecting to the server. Defaults to your username.

mysql_password
Password of the MySQL user. Place it between "-chars. When this is not set there is no password used.

mysql_db
MySQL database to use. Defaults to mysql.

music_player_interval
Music player thread update interval (defaults to Conky's update interval).

net_avg_samples
The number of samples to average for net data.

no_buffers
Subtract (file system) buffers from used memory.

nvidia_display
The display that the nvidia variable will use (defaults to the value of the display variable).

out_to_console
Print text to stdout.

out_to_http
Let conky act as a small http-server serving its text.

out_to_ncurses
Print text in the console, but use ncurses so that conky can print the text of a new update over the old text. (In the future this will provide more useful things).

out_to_stderr
Print text to stderr.

out_to_x
When set to no, there will be no output in X (useful when you also use things like out_to_console). If you set it to no, make sure that it's placed before all other X-related setting (take the first line of your configfile to be sure). Default value is yes.

override_utf8_locale
Force UTF8. Requires XFT.

overwrite_file
Overwrite the file given as argument.

own_window
Boolean, create own window to draw.

own_window_class
Manually set the WM_CLASS name. Defaults to "Conky".

own_window_colour colour
If own_window_transparent no, set a specified background colour (defaults to black). Takes either a hex value (e.g. '#ffffff'), a shorthand hex value (e.g. '#fff'), or a valid RGB name (see /usr/lib/X11/rgb.txt).

own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
If own_window is yes, you may use these window manager hints to affect the way Conky displays. Notes: Use own_window_type desktop as another way to implement many of these hints implicitly. If you use own_window_type override, window manager hints have no meaning and are ignored.

own_window_title
Manually set the window name. Defaults to "conky (<hostname>)".

own_window_argb_visual
Boolean, use ARGB visual? ARGB can be used for real transparency, note that a composite manager is required for real transparency. This option will not work as desired (in most cases) in conjunction with 'own_window_type override'.

own_window_argb_value
When ARGB visuals are enabled, this use this to modify the alpha value used. Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.

own_window_transparent
Boolean, set transparency? If ARGB visual is enabled, sets background opacity to 0%.

own_window_type
if own_window is yes, you may specify type normal, desktop, dock, panel or override (default: normal). Desktop windows are special windows that have no window decorations; are always visible on your desktop; do not appear in your pager or taskbar; and are sticky across all workspaces. Panel windows reserve space along a desktop edge, just like panels and taskbars, preventing maximized windows from overlapping them. The edge is chosen based on the alignment option. Override windows are not under the control of the window manager. Hints are ignored. This type of window can be useful for certain situations.

pad_percents
Pad percentages to this many decimals (0 = no padding).

pop3
Default global POP3 server. Arguments are: "host user pass [-i interval (in seconds)] [-p port] [-e 'command'] [-r retries]". Default port is 110, default interval is 5 minutes, and default number of retries before giving up is 5. If the password is supplied as '*', you will be prompted to enter the password when Conky starts.

short_units
Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off.

show_graph_range
Shows the time range covered by a graph.

show_graph_scale
Shows the maximum value in scaled graphs.

stippled_borders
Border stippling (dashing) in pixels.

temperature_unit
Desired output unit of all objects displaying a temperature. Parameters are either "fahrenheit" or "celsius". The default unit is degree Celsius.

templateN
Define a template for later use inside conky.text segments. Substitute N by a digit between 0 and 9, inclusively. The value of the variable is being inserted into the stuff inside conky.text at the corresponding position, but before some substitutions are applied:
'\n' -> newline
'\\' -> backslash
'\ ' -> space
'\N' -> template argument N (starting from 1)

text_buffer_size bytes
Size of the standard text buffer (default is 256 bytes). This buffer is used for intermediary text, such as individual lines, output from $exec vars, and various other variables. Increasing the size of this buffer can drastically reduce Conky's performance, but will allow for more text display per variable. The size of this buffer cannot be smaller than the default value of 256 bytes.

times_in_seconds
If true, variables that output times output a number that represents seconds. This doesn't affect $time, $tztime and $utime.

top_cpu_separate
If true, cpu in top will show usage of one processor's power. If false, cpu in top will show the usage of all processors' power combined.

top_name_verbose
If true, top name shows the full command line of each process, including arguments (whenever possible). Otherwise, only the basename is displayed. Default value is false.

top_name_width
Width for $top name value (defaults to 15 characters).

total_run_times
Total number of times for Conky to update before quitting. Zero makes Conky run forever.

update_interval seconds
Update interval.

update_interval_on_battery seconds
Update interval when running on battery power.

detect_battery
One or more batteries to check in order to use update_interval_on_battery (comma separated, BAT0 default).

uppercase
Boolean value, if true, text is rendered in upper case.

lowercase
Boolean value, if true, text is rendered in lower case.

use_spacer
Adds spaces around certain objects to stop them from moving other things around. Arguments are left, right, and none (default). The old true/false values are deprecated and default to right/none respectively. Note that this only helps if you are using a mono font, such as Bitstream Vera Sans Mono.

use_xft
Use Xft (anti-aliased font and stuff).

xftalpha
Alpha of Xft font. Must be a value at or between 1 and 0.

Objects/Variables

Colours are parsed using XParsecolor(), there might be a list of them: /usr/share/X11/rgb.txt. Colour can be also in #rrggbb format (hex).

Some objects may create threads, and sometimes these threads will not be destroyed until Conky terminates. There is no way to destroy or clean up threads while Conky is running. For example, if you use an MPD variable, the MPD thread will keep running until Conky dies. Some threaded objects will use one of the parameters as a 'key', so that you only have 1 relevant thread running (for example, the $curl, $rss and $weather objects launch one thread per URI).

acpiacadapter (adapter)
ACPI ac adapter state. On linux, the adapter option specifies the subfolder of /sys/class/power_supply containing the state information (tries "AC" and "ADP1" if there is no argument given). Non-linux systems ignore it.

acpifan
ACPI fan state.

acpitemp
ACPI temperature in C.

addr (interface)
IP address for an interface, or "No Address" if no address is assigned.

addrs (interface)
IP addresses for an interface (if one - works like addr). Linux only.

adt746xcpu
CPU temperature from therm_adt746x.

adt746xfan
Fan speed from therm_adt746x.

alignc (num)
Align text to centre.

alignr (num)
Right-justify text, with space of N.

apcupsd host port
Sets up the connection to apcupsd daemon. Prints nothing, defaults to localhost:3551.

apcupsd_cable
Prints the UPS connection type.

apcupsd_charge
Current battery capacity in percent.

apcupsd_lastxfer
Reason for last transfer from line to battery.

apcupsd_linev
Nominal input voltage.

apcupsd_load
Current load in percent.

apcupsd_loadbar
Bar showing current load.

apcupsd_loadgauge (height),(width)
Gauge that shows current load.

apcupsd_loadgraph (height),(width) (gradient colour 1) (gradient colour 2) (scale) (-t) (-l)
History graph of current load.

apcupsd_model
Prints the model of the UPS.

apcupsd_name
Prints the UPS user-defined name.

apcupsd_status
Prints current status (on-line, on-battery).

apcupsd_temp
Current internal temperature.

apcupsd_timeleft
Time left to run on battery.

apcupsd_upsmode
Prints the UPS mode (e.g. standalone).

apm_adapter
Display APM AC adapter status. FreeBSD, OpenBSD only.

apm_battery_life
Display APM battery life in percent. FreeBSD, OpenBSD only.

apm_battery_time
Display remaining APM battery life in hh:mm:ss or "unknown" if AC adapterstatus is on-line or charging. FreeBSD, OpenBSD only.

audacious_bar (height),(width)
Progress bar.

audacious_bitrate
Bitrate of current tune.

audacious_channels
Number of audio channels of current tune.

audacious_filename
Full path and filename of current tune.

audacious_frequency
Sampling frequency of current tune.

audacious_length
Total length of current tune as MM:SS.

audacious_length_seconds
Total length of current tune in seconds.

audacious_main_volume
The current volume fetched from Audacious.

audacious_playlist_length
Number of tunes in playlist.

audacious_playlist_position
Playlist position of current tune.

audacious_position
Position of current tune (MM:SS).

audacious_position_seconds
Position of current tune in seconds.

audacious_status
Player status (Playing/Paused/Stopped/Not running).

audacious_title (max length)
Title of current tune with optional maximum length specifier.

battery (num)
Battery status and remaining percentage capacity of ACPI or APM battery. ACPI battery number can be given as argument (default is BAT0).

battery_bar (height),(width) (num)
Battery percentage remaining of ACPI battery in a bar. ACPI battery number can be given as argument (default is BAT0, use all to get the mean percentage remaining for all batteries).

battery_percent (num)
Battery percentage remaining for ACPI battery. ACPI battery number can be given as argument (default is BAT0, use all to get the mean percentage remaining for all batteries).

battery_short (num)
Battery status and remaining percentage capacity of ACPI or APM battery. ACPI battery number can be given as argument (default is BAT0). This mode display a short status, which means that C is displayed instead of charging, D for discharging, F for full, N for not present, E for empty and U for unknown.

battery_status (num)
Battery status for ACPI battery. ACPI battery number can be given as argument (default is BAT0).

battery_time (num)
Battery charge/discharge time remaining of ACPI battery. ACPI battery number can be given as argument (default is BAT0).

blink text_and_other_conky_vars
Let 'text_and_other_conky_vars' blink on and off.

buffers
Amount of memory buffered.