Variables
To configure what Conky displays, you must supply some variables in the
conky.text section of your configuration. In this section you will find a
listing of the available variables. Some of them may require build options to
be enabled at compile time for them to work.
Colors are parsed using XParseColor(). A list of named colors may be
available in /usr/share/X11/rgb.txt. Colors may also be specified in
#rrggbb hexadecimal format.
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 exits. Some threaded objects
will use one of the parameters as a key, so that you only have one
relevant thread running (for example, the $curl, and $rss
objects launch one thread per URI).
Optional arguments are generally denoted with parentheses, for example
(optional).
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 no argument is given.
Non-linux systems ignore it.
Prints the UPS connection type.
Current battery capacity in percent.
Reason for last transfer from line to battery.
Nominal input voltage.
Bar showing current load.
${apcupsd_loadgraph(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}History graph of current load.
Prints the model of the UPS.
Prints current status (on-line, on-battery).
Time left to run on battery.
Prints the UPS mode (e.g. standalone).
Display APM battery life in percent. FreeBSD, OpenBSD only.
Display remaining APM battery life in hh:mm:ss or "unknown" if AC adapter status is online or charging. FreeBSD and OpenBSD only.
Bitrate of current tune.
Number of audio channels of current tune.
Full path and filename of current tune.
Sampling frequency of current tune.
Total length of current tune as MM:SS.
Total length of current tune in seconds.
The current volume reported by Audacious.
Number of tunes in playlist.
Playlist position of current tune.
Position of current tune (MM:SS).
Position of current tune in seconds.
Player status (Playing/Paused/Stopped/Not running).
Battery status and remaining percentage capacity of ACPI or APM battery. An ACPI battery number may be given as an argument.
BAT0Battery percentage remaining of ACPI battery in a bar. ACPI battery number
can be given as argument (use all to get the mean percentage remaining for
all batteries).
BAT0Battery percentage remaining for ACPI battery. ACPI battery
number can be given as argument (use all to get the
mean percentage remaining for all batteries).
BAT0Battery status and remaining percentage capacity of ACPI or APM battery.
An ACPI battery number may be given as an argument. This mode displays a
short status: C for charging, D for discharging, F for full, N
for not present, E for empty, and U for unknown.
BAT0Battery status for an ACPI battery. An ACPI battery number may be given as an argument.
BAT0Battery charge/discharge time remaining of ACPI battery. An ACPI battery number may be given as an argument.
BAT0Reads a file and displays its contents in Conky. This is useful if you have an independent process generating output that you want to include in Conky.
Reads a file and displays its contents in Conky. This is
useful if you have an independent process generating output that you
want to include in Conky. This differs from $cat in that it parses the
contents of the file, so you can insert things like
${color red}hi!${color} in your file and have it correctly parsed by
Conky.
Time left of the current cmus song.
Total length of the current cmus song.
Change drawing color to color which is a name of a color
or a hexcode preceded with #, e.g. #0A1B2C. If you use ncurses only
the following colors are supported: red, green, yellow, blue, magenta,
cyan, black, and white.
Change drawing color to colorN configuration option, where N is a digit between 0 and 9, inclusively.
Places the lines of var2 to the right of the lines of var1
separated by the chars that are put between var1 and var2. For
example: ${combine ${head /proc/cpuinfo 2} - ${head /proc/meminfo 1}}
gives as output cpuinfo_line1 - meminfo_line1 on line 1 and
cpuinfo_line2 - on line 2. $combine vars can also be nested to place
more vars next to each other.
CPU architecture Conky was built for.
Conky version.
CPU usage in percents. For SMP machines, the CPU number can be provided as an argument. ${cpu cpu0} is the total usage, and ${cpu cpuX} (X >= 1) are individual CPUs.
Elliptical gauge that shows CPU usage, height and width are gauge's vertical and horizontal axis respectively. See $cpu for more info on SMP.
The active CPU scaling governor, defaulting to the first core. See $cpu for more info on SMP. Linux only.
${cpugraph(cpuN)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}CPU usage graph, with optional colours in hex, minus the #. See $cpu for more info on SMP. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Download data from URI using Curl at the specified interval. The interval may be a positive floating point value (0 is allowed), otherwise defaults to 15 minutes. Most useful when used in conjunction with Lua and the Lua API. This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. You can use any protocol that Curl supports.
Number of the desktop on which conky is running or the message "Not running in X" if this is the case.
Name of the desktop on which conky is running or the message "Not running in X" if this is the case.
Number of desktops or the message "Not running in X" if this is the case.
Disk protection status, if supported (needs kernel-patch). Prints either "frozen" or "free " (note the padding).
Displays current disk IO. Device is optional, and takes the form of sda for /dev/sda. A block device label can be specified with label:foo and a block device partuuid can be specified with partuuid:40000000-01.
${diskiograph(device)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Disk IO graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
${diskiograph_read(device)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Disk IO graph for reads, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Device as in diskio. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
${diskiograph_write(device)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Disk IO graph for writes, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Device as in diskio. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Name of the Linux distribution. NAME is read from the /etc/os-release
file with fallback on /proc/version content. Create an issue if reported
information is wrong.
${downspeedgraph(netdev)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m)}Download speed graph, colours defined in hex, minus the #. If scale is non-zero, it defines the maximum value of the graph (in bytes per second). Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Number of mails marked as draft in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Current entropy available for crypto freaks.
Total size of system entropy pool for crypto freaks.
Evaluates given string according to the rules of conky.text interpretation, i.e. parsing any contained text object specifications into their output, any occurring '$$' into a single '$' and so on. The output is then being parsed again.
Executes a shell command and displays the output in conky. Warning: this takes a lot more resources than other variables. I'd recommend coding wanted behaviour in C/C++ and posting a patch.
Same as exec, except if the first value returned is a value between 0-100, it will use that number to draw a horizontal bar. The height and width parameters are optional, and default to the default_bar_height and default_bar_width config settings, respectively.
Same as exec, except if the first value returned is a value between 0-100, it will use that number to draw a round gauge (much like a vehicle speedometer). The height and width parameters are optional, and default to the default_gauge_height and default_gauge_width config settings, respectively.
${execgraphcommand(height),(width)(gradient color 1)(gradient color 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Draws a horizontally scrolling graph with values from 0-100 plotted on the vertical axis. All parameters following the command are optional. Gradient colors can be specified as hexadecimal values with no 0x or # prefix. Use the -t switch to enable a temperature gradient, so that small values are "cold" with color 1 and large values are "hot" with color 2. Without the -t switch, the colors produce a horizontal gradient spanning the width of the graph. The scale parameter defines the maximum value of the graph. Use the -l switch to enable a logarithmic scale, which helps to see small values. The default size for graphs can be controlled via the default_graph_height and default_graph_width config settings. The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
If you need to execute a command with spaces, you have a couple options:
- wrap your command in double-quotes, or
- put your command into a separate file, such as ~/bin/myscript.sh, and use that as your execgraph command.
Remember to make your script executable!
In the following example, we set up execgraph to display seconds (0-59) on a graph that is 50px high and 200px wide, using a temperature gradient with colors ranging from red for small values (FF0000) to yellow for large values (FFFF00). We set the scale to 60.
${execgraph ~/seconds.sh 50,200 FF0000 FFFF00 60 -t}
Same as exec, but with a specific interval in seconds. The interval can't be less than the update_interval in your configuration. See also $texeci.
${execigraphintervalcommand(height),(width)(gradient color 1)(gradient color 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Same as execgraph, but with an interval.
Executes a shell command and displays the output in conky.
Warning: this takes a lot more resources than other variables. I'd
recommend coding wanted behaviour in C/C++ and posting a patch. This
differs from $exec in that it parses the output of the command, so you
can insert things like ${color red}hi!${color} in your script and have
it correctly parsed by Conky. Caveats: Conky parses and evaluates the
output of $execp every time Conky loops, and then destroys all the
objects. If you try to use anything like $execi within an $execp
statement, it will functionally run at the same interval that the
$execp statement runs, as it is created and destroyed at every
interval.
Same as execp, but with an interval. Note that the output from the $execpi command is still parsed and evaluated at every interval.
Number of mails marked as flagged in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Specify a different font. This new font will apply to the current line and everything following. You can use a $font with no arguments to change back to the default font (much like with $color).
Format time given in seconds. This var only works when the
times_in_seconds configuration setting is on. Format is a string that
should start and end with a double quote " character. The quote
characters are not part of the output, \w,\d,\h,\m,\s,(,) and \ are
replaced by weeks,days,hours,minutes,seconds,(,) and . If you leave out a
unit, it's value will be expressed in the highest unit lower than the one
left out. Text between ()-chars will not be visible if a replaced unit in
this text is 0. If seconds is a decimal number then you can see the
numbers behind the point by using \S followed by a number that specifies
the amount of digits behind the point that you want to see (maximum 9).
You can also place a 'x' behind \S so you have all digits behind the point
and no trailing zero's. (also maximum 9).
Number of mails marked as forwarded in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Amount of memory cached or buffered, as reported by free. Linux only.
Bar that shows how much space is used on a file system. height is the height in pixels. fs is any file on that file system.
Bar that shows how much space is free on a file system. height is the height in pixels. fs is any file on that file system.
Number of GitHub notifications.
Displays temperature of a selected hard disk drive as reported by the hddtemp daemon. Use hddtemp_host and hddtemp_port to specify a host and port for all hddtemp objects. If no dev parameter is given, the first disk returned by the hddtemp daemon is used.
Displays first N lines of supplied text file. The file is checked every 'next_check' update. If next_check is not supplied, Conky defaults to 2. Max of 30 lines can be displayed, or until the text buffer is filled.
Horizontal line, height is the height in pixels. width can be used to set the width, in pixels, of the horizontal line.
Hwmon sensor from sysfs (Linux 2.6). Parameter dev can be:
- Number. e.g
1means hwmon1. - Module name. e.g.
k10tempmeans the first hwmon device whose module name isk10temp. - Omitted. Then the first hwmon device (hwmon0) will be used.
Parameter type is either in or vol meaning voltage; power meaning
power; fan meaning fan; temp meaning temperature. Parameter n is
number of the sensor. See /sys/class/hwmon/ on your local computer.
The optional arguments factor and offset allow precalculation of the
raw input, which is being modified as follows:
input = input * factor + offset. Note that they have to be given as
decimal values (i.e. contain at least one decimal place).
Same as hwmon, but displays the sensor reading as a horizontal bar. Use factor and offset to scale the value reported by hwmon into the 0-100 range. Temperature values are already converted from millidegrees. Height and width default to default_bar_height and default_bar_width respectively.
I2C sensor from sysfs (Linux 2.6). Parameter dev may be omitted if you have
only one I2C device. Parameter type is either in or vol meaning voltage;
power meaning power; fan meaning fan; temp meaning temperature.
Parameter n is number of the sensor. See /sys/bus/i2c/devices/ on your
local computer. The optional arguments factor and offset allow
precalculation of the raw input, which is being modified as follows:
input = input * factor + offset. Note that they have to be given as
decimal values (i.e. contain at least one decimal place).
Same as i2c, but displays the sensor reading as a horizontal bar. Use factor and offset to scale the value reported by i2c into the 0-100 range. Temperature values are already converted from millidegrees. Height and width default to default_bar_height and default_bar_width respectively.
If running the i8k kernel driver for Inspiron laptops, displays whether ac
power is on, as listed in /proc/i8k (translated to human-readable). Beware
that this is by default not enabled by i8k itself.
If running the i8k kernel driver for Inspiron laptops, displays the bios version as listed in /proc/i8k.
If running the i8k kernel driver for Inspiron laptops, displays the cpu temperature in Celsius, as reported by /proc/i8k.
If running the i8k kernel driver for Inspiron laptops, displays the left fan's rate of rotation, in revolutions per minute as listed in /proc/i8k. Beware, some laptops i8k reports these fans in reverse order.
If running the i8k kernel driver for Inspiron laptops, displays the left fan status as listed in /proc/i8k (translated to human-readable). Beware, some laptops i8k reports these fans in reverse order.
If running the i8k kernel driver for Inspiron laptops, displays the right fan's rate of rotation, in revolutions per minute as listed in /proc/i8k. Beware, some laptops i8k reports these fans in reverse order.
If running the i8k kernel driver for Inspiron laptops, displays the right fan status as listed in /proc/i8k (translated to human-readable). Beware, some laptops i8k reports these fans in reverse order.
If running the i8k kernel driver for Inspiron laptops, displays your laptop serial number as listed in /proc/i8k.
If running the i8k kernel driver for Inspiron laptops, displays the version formatting of /proc/i8k.
If running the IBM ACPI, displays the brigtness of the laptops's LCD (0-7).
If running the IBM ACPI, displays the temperatures from the IBM temperature sensors (N=0..7) Sensor 0 is on the CPU, 3 is on the GPU.
If running the IBM ACPI, displays the status of your ThinkLight™. Value is either 'on', 'off' or 'unknown'.
Shows title of event number 'number' in the ical (RFC 5545) file 'file'. The events are first ordered by starting time, events that started in the past are ignored. The events that are shown are the VEVENTS, the title that is shown is the SUMMARY and the starting time used for sorting is DTSTART.
if FILE exists, display everything between if_existing and the matching $endif. The optional second parameter checks for FILE containing the specified string and prints everything between $if_existing and the matching $endif.
if there is at least one default gateway, display everything between $if_gw and the matching $endif.
Evaluates the given boolean expression, printing everything between $if_match and the matching $endif depending on whether the evaluation returns true or not. Valid expressions consist of a left side, an operator and a right side. Left and right sides are being parsed for contained text objects before evaluation.
Recognised left and right side types are:
- double: Argument consists of only digits and a single dot.
- long: Argument consists of only digits.
- string: Argument is enclosed in quotation marks (
").
Valid operands are:
<or><=or>===or!=
If mixer exists, display everything between $if_mixer_mute and the matching $endif. If no mixer is specified, "Vol" is used.
if mpd is playing or paused, display everything between $if_mpd_playing and the matching $endif.
If Pulseaudio's default sink is muted, display everything between $if_pa_sink_muted and the corresponding $else or $endif.
If Pulseaudio's default source (e.g. your microphone) is muted, display everything between $if_pa_source_muted and the corresponding $else or $endif.
If Pulseaudio's default source is running (e.g. a program is accessing your microphone), display everything between $if_pa_source_running and the corresponding $else or $endif.
If PROCESS is running, display everything between $if_running and the
corresponding $else or $endif. Note that PROCESS may be either a full
command line with arguments (without the directory prefix), or simply the
name of an executable. For example, either of the following will be true
if there is a running process with the command line /usr/bin/conky -u 5:
${if_running conky -u 5}or${if_running conky}
It is important not to include trailing spaces. For example,
${if_running conky } will be false.
when using smapi, if the battery with index INDEX is installed, display everything between $if_smapi_bat_installed and the matching $endif.
If it's the UPDATENR-th time that conky updates, display everything between $if_updatenr and the matching $endif. The counter resets when the highest UPDATENR is reached.
Example: {$if_updatenr 1}foo$endif{$if_updatenr 2}bar$endif{$if_updatenr 4}$endif shows foo 25% of the time followed by bar 25% of the time followed
by nothing the other half of the time.
Display everything between $if_xmms2_connected and the matching $endif if xmms2 is running.
Renders an image from the path specified using Imlib2. Takes 4 optional arguments: a position, a size, a no-cache switch, and a cache flush interval. Changing the x,y position will move the position of the image, and changing the WxH will scale the image. If you specify the no-cache flag (-n), the image will not be cached. Alternately, you can specify the -f int switch to specify a cache flush interval for a particular image. Example: ${image /home/brenden/cheeseburger.jpg -p 20,20 -s 200x200} will render 'cheeseburger.jpg' at (20,20) scaled to 200x200 pixels. Conky does not make any attempt to adjust the position (or any other formatting) of images, they are just rendered as per the arguments passed. The only reason $image is part of the conky.text section, is to allow for runtime modifications, through $execp $lua_parse, or some other method.
Displays the number of messages in your global IMAP inbox by default. You can define individual IMAP inboxes separately by passing arguments to this object. 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.
Displays the number of unseen messages in your global IMAP inbox by default. You can define individual IMAP inboxes separately by passing arguments to this object. 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.
Display the brightness of your Intel backlight in percent.
Shows everything that's being told in #channel on IRCserver 'server'. TCP-port 6667 is used for the connection unless 'port' is specified. Shows everything since the last time or the last 'max_msg_lines' entries if specified.
Displays last N lines of the systemd journal. N defaults to 1 if omitted. Use 0 to display all available lines. Negative values are clamped to 1. The optional type filters which journal is read: 'system' shows only the system journal, 'user' shows only the current user's journal, 'runtime' shows only the runtime journal, 'local' shows all local journals (the default, same as omitting the type). Output is limited by the text buffer size.
An indicator for Capital Lock key.
An indicator for Scrolling Lock key.
Display keyboard layout.
System load average, 1 is for past 1 minute, 2 for past 5 minutes and 3 for past 15 minutes. Without argument, prints all three values separated by whitespace.
Load1 average graph, similar to xload, with optional colours in hex, minus the #. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Executes a Lua function with given parameters, then prints the returned string. See also 'lua_load' on how to load scripts. 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.
Executes a Lua function with given parameters and draws a bar. Expects result value to be an integer between 0 and 100. See also 'lua_load' on how to load scripts. 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.
Executes a Lua function with given parameters and draws a gauge. Expects result value to be an integer between 0 and 100. See also 'lua_load' on how to load scripts. 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_graphfunction_name(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Executes a Lua function with and draws a graph. Expects result value to be any number, and by default will scale to show the full range. See also 'lua_load' on how to load scripts. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). Conky puts 'conky_' in front of function_name to prevent accidental calls to the wrong function unless you put you place 'conky_' in front of it yourself. The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Executes a Lua function with given parameters as per $lua, then parses and prints the result value as per the syntax for the conky.text section. See also 'lua_load' on how to load scripts. 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 count in the specified mailbox or your mail spool if not. Both mbox and maildir type mailboxes are supported. You can use a program like fetchmail to get mails from some server using your favourite protocol. See also new_mails.
Print a summary of recent messages in an mbox format mailbox. mbox parameter is the filename of the mailbox (can be encapsulated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"}
Memory usage graph. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Amount of memory in use, including that used by system buffers and caches.
${memwithbuffersgraph(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m value)}Memory usage graph including memory used by system buffers and cache. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
Prints the mixer value as reported by the OS. On Linux, this variable uses the OSS emulation, so you need the proper kernel module loaded. Default mixer is "Vol", but you can specify one of the available OSS controls: "Vol", "Bass", "Trebl", "Synth", "Pcm", "Spkr", "Line", "Mic", "CD", "Mix", "Pcm2 ", "Rec", "IGain", "OGain", "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", "PhoneIn", "PhoneOut", "Video", "Radio" and "Monitor".
VolPrints the left channel mixer value as reported by the OS. See docs for $mixer for details on arguments.
Displays the left channel mixer value in a bar as reported by the OS. See docs for $mixer for details on arguments.
Prints the right channel mixer value as reported by the OS. See docs for $mixer for details on arguments.
Displays the right channel mixer value in a bar as reported by the OS. See docs for $mixer for details on arguments.
Average bitrate in the current MOC song.
Total length of the current MOC song.
Number of the monitor on which conky is running or the message "Not running in X" if this is the case.
Number of monitors or the message "Not running in X" if this is the case.
Artist of the album of the current MPD song.
Prints the song name in either the form "artist - title" or file name, depending on whats available.
Unread mail count in the specified mailbox or mail spool if not. Both mbox and maildir type mailboxes are supported.
Shows text and parses the vars in it, but doesn't update them. Use this for things that do not change while conky is running, like $machine, $conky_version,... By not updating this you can save some resources.
Short hostname (same as 'hostname -s' shell command).
Nvidia graphics card information via the XNVCtrl library or the NVML library.
Temperatures are printed as float, all other values as integers.
GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0
Possible arguments:
| Argument | Alias | Description | XNVCtrl | NVML |
|---|---|---|---|---|
gputemp | temp | GPU temperature | ||
gputempthreshold | threshold | Temperature threshold where the GPU will reduce its clock speed | ||
ambienttemp | ambient | Ambient temperature outside the graphics card | ||
gpufreqcur | gpufreq | Current GPU clock speed | ||
gpufreqmin | Minimum GPU clock speed | |||
gpufreqmax | Maximum GPU clock speed | |||
memfreqcur | memfreq | Current memory clock speed | ||
memfreqmin | Minimum memory clock speed | |||
memfreqmax | Maximum memory clock speed | |||
mtrfreqcur | mtrfreq | Current memory transfer rate clock speed | ||
mtrfreqmin | Minimum memory transfer rate clock speed | |||
mtrfreqmax | Maximum memory transfer rate clock speed | |||
perflevelcur | perflevel | Current performance level | ||
perflevelmin | Lowest performance level | |||
perflevelmax | Highest performance level | |||
perfmode | Performance mode | |||
gpuutil | GPU utilization % | |||
membwutil | Memory bandwidth utilization % | |||
videoutil | Video engine utilization % | |||
videodecutil | Video decoder utilization % | |||
videoencutil | Video encoder utilization % | |||
pcieutil | PCIe bandwidth utilization % | |||
pciethroughputtx | Data sent from the GPU (transmit) per second | |||
pciethroughputrx | Data received by the GPU (receive) per second | |||
memused | mem | Amount of used memory | ||
memfree | memavail | Amount of free memory | ||
memmax | memtotal | Total amount of memory | ||
memutil | memperc | Memory utilization % | ||
fanspeed | Fan speed | |||
fanlevel | Fan level % | |||
imagequality | Image quality | |||
modelname | Model name of the GPU card | |||
driverversion | Driver version | |||
arch | GPU architecture name | |||
powerlimit | Power limit in Watts | |||
powerinstant | Power usage in Watts | |||
poweravg | Power usage averaged over one second in Watts |
Same as nvidia, except it draws its output in a horizontal bar. The height and width parameters are optional, and default to the default_bar_height and default_bar_width config settings, respectively.
GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0
Note the following arguments are incompatible:
gputempthreshold(threshold)gpufreqmingpufreqmaxmemfreqminmemfreqmaxmtrfreqminmtrfreqmaxperflevelminperflevelmaxperfmodememtotal(memmax)fanspeedpowerlimitpciethroughputtxpciethroughputrx
Same as nvidiabar, except a round gauge (much like a vehicle speedometer). The height and width parameters are optional, and default to the default_gauge_height and default_gauge_width config settings, respectively.
GPU_ID: Optional parameter to choose the GPU to be used as 0,1,2,3,.. Default parameter is 0
For possible arguments see nvidia and nvidiabar.
${nvidiagraphargument(height),(width)(gradient color 1)(gradient color 2)(scale)(-t)(-l)(-x)(-y)(-m)GPU_ID}Same as nvidiabar, except a horizontally scrolling graph with values from 0-100 plotted on the vertical axis. The height and width parameters are optional, and default to the default_graph_height and default_graph_width config settings, respectively.
GPU_ID: NOT optional. This parameter allows to choose the GPU to be used as 0,1,2,3,..
For possible arguments see nvidia and nvidiabar. To learn more about the -t -l -x -y and gradient color options, see execgraph.
Pulseaudio's default card active profile.
Pulseaudio's default sink active port description.
Pulseaudio's default sink active port name.
Pulseaudio's default sink description.
Pulseaudio's default sink volume percentage.
Pulseaudio's default sink volume bar.
If running on Apple powerbook/ibook, display information on battery status. The item parameter specifies, what information to display. Exactly one item must be specified. Valid items are:
| Item | Description |
|---|---|
status | Display if battery is fully charged, charging, discharging or absent (running on AC) |
percent | Display charge of battery in percent, if charging or discharging. Nothing will be displayed, if battery is fully charged or absent. |
time | Display the time remaining until the battery will be fully charged or discharged at current rate. Nothing is displayed, if battery is absent or if it's present but fully charged and not discharging. |
Directory used as rootdirectory by the process (this will be "/" unless the process did a chroot syscall).
One of the chars in "RSDZTW" representing the state of the process where R is running, S is sleeping in an interruptible wait, D is waiting in uninterruptible disk sleep, Z is zombie, T is traced or stopped (on a signal), and W is paging.
Platform sensor from sysfs (Linux 2.6). Parameter dev may be omitted if you
have only one platform device. Platform type is either in or vol meaning
voltage; power meaning power; fan meaning fan; temp meaning
temperature. Parameter n is number of the sensor. See
/sys/bus/platform/devices/ on your local computer. The optional
arguments factor and offset allow precalculation of the raw input,
which is being modified as follows: input = input * factor + offset.
Note that they have to be given as decimal values (i.e. contain at least
one decimal place).
Same as platform, but displays the sensor reading as a horizontal bar. Use factor and offset to scale the value reported by platform into the 0-100 range. Temperature values are already converted from millidegrees. Height and width default to default_bar_height and default_bar_width respectively.
Displays the number of unseen messages in your global POP3 inbox by default. You can define individual POP3 inboxes separately by passing arguments to this object. 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.
Displays the amount of space (in MiB, 2^20) used in your global POP3 inbox by default. You can define individual POP3 inboxes separately by passing arguments to this object. 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.
Connects to a tcp port on a host (default is localhost), reads every char available at the moment and shows them.
Connects to a udp port on a host (default is localhost), reads every char available at the moment and shows them.
Number of mails marked as replied in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Download and parse RSS feeds. The interval may be a (floating point) value greater than 0. Action may be one of the following: feed_title, item_title (with num par), item_desc (with num par) and item_titles (when using this action and spaces_in_front is given conky places that many spaces in front of each item). This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified. You can use any protocol that Curl supports.
Running processes (not sleeping). Requires Linux 2.6.
Number of running (runnable) threads. Linux only.
Scroll 'text' by 'step' characters to the left or right (set 'direction' to 'left' or 'right' or 'wait') showing 'length' number of characters at the same time. The text may also contain variables. 'step' is optional and defaults to 1 if not set. 'direction' is optional and defaults to left if not set. When direction is 'wait' then text will scroll left and wait for 'interval' itertations at the beginning and end of the text. If a var creates output on multiple lines then the lines are placed behind each other separated with a '|'-sign. If you change the textcolor inside $scroll it will automatically have it's old value back at the end of $scroll. The end and the start of text will be separated by 'length' number of spaces unless direction is 'wait'.
Number of mails marked as seen in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Prints info regarding System Integrity Protection (SIP) on macOS. If no switch is provided, prints SIP status (enabled / disabled), else, status of the specific SIP feature corresponding to the switch provided.
Below are shown the available switches:
| SWITCH | RESULT | STATUS |
|---|---|---|
| 0 | apple internal | YES/NO |
| 1 | forbid untrusted kexts | YES/NO |
| 2 | forbid task-for-pid | YES/NO |
| 3 | restrict filesystem | YES/NO |
| 4 | forbid kernel-debugger | YES/NO |
| 5 | restrict dtrace | YES/NO |
| 6 | restrict nvram | YES/NO |
| 7 | forbid device-configuration | YES/NO |
| 8 | forbid any-recovery-os | YES/NO |
| 9 | forbid user-approved-kexts | YES/NO |
uses unsupported configuration?: If yes, prints "unsupported configuration, beware!" Else, prints "configuration is ok".
USAGE:
$ conky -t '${sip_status}'
# print SIP status
$ conky -t '${sip_status 0}'
# print allows apple-internal? Yes or No?
NOTES:
- Available for all macOS versions (even the ones prior El Capitan where SIP was first introduced)
- If run on versions prior El Capitan SIP is unavailable, so all you will get is "unsupported".
When using smapi, display contents of the /sys/devices/platform/smapi
directory. ARGS are either (FILENAME) or bat (INDEX) (FILENAME) to
display the corresponding files' content. This is a very raw method of
accessing the smapi values. When available, better use one of the smapi_*
variables instead.
when using smapi, display the remaining capacity in percent of the battery with index INDEX. This is a separate variable because it supports the 'use_spacer' configuration option.
when using smapi, display the current power of the battery with index INDEX in watt. This is a separate variable because the original read out value is being converted from mW. The sign of the output reflects charging (positive) or discharging (negative) state.
when using smapi, display the current temperature of the battery with index INDEX in degree Celsius. This is a separate variable because the original read out value is being converted from milli degree Celsius.
Displays the Sony VAIO fanspeed information if sony-laptop kernel support is enabled. Linux only.
Puts a tab of the specified width, starting from column 'start'. The unit is pixels for both arguments.
Displays last N lines of supplied text file. The file is checked every 'next_check' update. If next_check is not supplied, Conky defaults to 2. Max of 30 lines can be displayed, or until the text buffer is filled.
Displays the number of microseconds it takes to get a reply on a ping to to tcp 'port' on 'host'. 'port' is optional and has 80 as default. This works on both open and closed ports, just make sure that the port is not behind a firewall or you will get 'down' as answer. It's best to test a closed port instead of an open port, you will get a quicker response.
TCP port (both IPv6 and IPv4) monitor for specified local ports. Port numbers must be in the range 1 to 65535. Valid items are:
| Item | Description |
|---|---|
count | Total number of connections in the range |
rip | Remote ip address |
rhost | Remote host name |
rport | Remote port number |
rservice | Remote service name from /etc/services |
lip | Local ip address |
lhost | Local host name |
lport | Local port number |
lservice | Local service name from /etc/services |
The connection index provides you with access to each connection in the
port monitor. The monitor will return information for index values from
0 to n-1 connections. Values higher than n-1 are simply ignored. For the
count item, the connection index must be omitted. It is required for
all other items.
Examples:
| Example | Description |
|---|---|
${tcp_portmon 6881 6999 count} | Displays the number of connections in the bittorrent port range |
${tcp_portmon 22 22 rip 0} | Displays the remote host ip of the first sshd connection |
${tcp_portmon 22 22 rip 9} | Displays the remote host ip of the tenth sshd connection |
${tcp_portmon 1 1024 rhost 0} | Displays the remote host name of the first connection on a privileged port |
${tcp_portmon 1 1024 rport 4} | Displays the remote host port of the fifth connection on a privileged port |
${tcp_portmon 1 65535 lservice 14} | Displays the local service name of the fifteenth connection in the range of all ports |
Note that port monitor variables which share the same port range actually refer to the same monitor, so many references to a single port range for different items and different indexes all use the same monitor internally. In other words, the program avoids creating redundant monitors.
Evaluate the content of the templateN configuration variable (where N is a value between 0 and 9, inclusively), applying substitutions as described in the documentation of the corresponding configuration variable. The number of arguments is optional, but must match the highest referred index in the template. You can use the same special sequences in each argument as the ones valid for a template definition, e.g. to allow an argument to contain a whitespace. Also simple nesting of templates is possible this way.
Here are some examples of template definitions, note they are placed
between [[ ... ]] instead of ...:
template0 = [[$12]]
template1 = [[1: ${fs_used 2} / ${fs_size 2}]]
template2 = [[1 2]]
The following list shows sample usage of the templates defined above, with the equivalent syntax when not using any template at all:
| Using template | Same without template |
|---|---|
${template0 node name} | $nodename |
${template1 root /} | root: ${fs_free /} / ${fs_size /} |
${template1 ${template2 disk root} /} | disk root: ${fs_free /} / ${fs_size /} |
| --------------------------------------------- | ------------------------------------------ |
Runs a command at an interval inside a thread and displays the output. Same as $execi, except the command is run inside a thread. Use this if you have a slow script to keep Conky updating. You should make the interval slightly longer than the time it takes your script to execute. For example, if you have a script that take 5 seconds to execute, you should make the interval at least 6 seconds. See also $execi. This object will clean up the thread when it is destroyed, so it can safely be used in a nested fashion, though it may not produce the desired behaviour if used this way.
If 'size' is a number followed by a size-unit (kilobyte,mb,GiB,...) then it converts the size to bytes and shows it without unit, otherwise it just shows 'size'.
This takes arguments in the form:top (name) (number) Basically, processes are ranked from highest to lowest in terms of cpu usage, which is what (num) represents. The types are: "name", "pid", "cpu", "mem", "mem_res", "mem_vsize", "time", "uid", "user", "io_perc", "io_read" and "io_write". There can be a max of 10 processes listed.
Total download, overflows at 4 GB on Linux with 32-bit arch and there doesn't seem to be a way to know how many times it has already done that before conky has started.
Number of mails marked as trashed in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Local time for specified timezone, see man strftime to get more information about format. The timezone argument is specified in similar fashion as TZ environment variable. For hints, look in /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
Number of mails not marked as flagged in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Number of mails not marked as forwarded in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Number of mails not marked as replied in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
Number of new or unseen mails in the specified mailbox or mail spool if not. Only maildir type mailboxes are supported, mbox type will return -1.
${upspeedgraph(netdev)(height),(width)(gradient colour 1)(gradient colour 2)(scale)(-t)(-l)(-x)(-y)(-m)}Upload speed graph, colours defined in hex, minus the #. If scale is non-zero, it defines the maximum value of the graph (in bytes per second). Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). The flag '-x' inverts the x axis and '-y' inverts the y axis of the graph. The flag '-m' sets a nonzero minimum/lowerbound, ensuring that all values are at least the specified minimum (excluding zero).
IPv6 addresses for an interface, followed by netmask if -n is specified and scope with -s. Scopes are Global(G), Host-local(H), Link-local(L), Site-local(S), Compat(C) and Unspecified(/). Linux only.
Bitrate of current song.
Comment in current XMMS2 song.
Duration of current song.
Song's elapsed time.
Percent of song's progress.
Returns the XMMS2 playlist.
Prints the song name in either the form "artist - title" or file name, depending on whats available.
Number of times a song was played (presumably).
Track number in current XMMS2 song.