neulab/tldr huggingface dataset:
gputemp( temp) GPU temperature gputempthreshold( threshold) Temperature threshold where the GPU will reduce it's 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 % pcieutil PCIe bandwidth utilization % 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 name of the GPU card driverversion Driver version
nvidiabar (height),(width) argument (GPU_ID) 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.
Note the following arguments are incompatible: gputempthreshold( threshold) gpufreqmin gpufreqmax memfreqmin memfreqmax mtrfreqmin mtrfreqmax perflevelmin perflevelmax perfmode memtotal( memmax) fanspeed
nvidiagauge (height),(width) argument (GPU_ID) 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.
For possible arguments see nvidia and nvidiabar.
nvidiagraph argument (height),(width) (gradient color 1) (gradient color 2) (scale) (-t) (-l) 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 and gradient color options, see execgraph.
offset (pixels) Move text over by N pixels. See also $voffset.
outlinecolor (color) Change outline color.
password (length) Generate random passwords.
pa_sink_volume Pulseaudio's default sink volume percentage.
pa_sink_volumebar Pulseaudio's default sink volume bar.
pa_sink_description Pulseaudio's default sink description.
pa_sink_active_port_name Pulseaudio's default sink active port name.
pa_sink_active_port_description Pulseaudio's default sink active port description.
pa_card_name Pulseaudio's default card name.
pa_card_active_profile Pulseaudio's default card active profile.
pb_battery item 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:
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.
pid_chroot pid Directory used as rootdirectory by the process (this will be "/" unless the process did a chroot syscall).
pid_cmdline pid Command line this process was invoked with.
pid_cwd pid Current working directory of the process.
pid_environ pid varname Contents of a environment-var of the process.
pid_environ_list pid List of environment-vars that the process can see.
pid_exe pid Path to executed command that started the process.
pid_nice pid The nice value of the process.
pid_openfiles pid List of files that the process has open.
pid_parent pid The pid of the parent of the process.
pid_priority pid The priority of the process (see 'priority' in "man 5 proc").
pid_read pid Total number of bytes read by the process.
pid_state pid State of the process.
pid_state_short pid 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.
pid_stderr pid Filedescriptor binded to the STDERR of the process.
pid_stdin pid Filedescriptor binded to the STDIN of the process.
pid_stdout pid Filedescriptor binded to the STDOUT of the process.
pid_threads pid Number of threads in process containing this thread.
pid_thread_list pid List with pid's from threads from this process.
pid_time_kernelmode pid Amount of time that the process has been scheduled in kernel mode in seconds.
pid_time_usermode pid Amount of time that the process has been scheduled in user mode in seconds.
pid_time pid Sum of $pid_time_kernelmode and $pid_time_usermode.
pid_uid pid The real uid of the process.
pid_euid pid The effective uid of the process.
pid_suid pid The saved set uid of the process.
pid_fsuid pid The file system uid of the process.
pid_gid pid The real gid of the process.
pid_egid pid The effective gid of the process.
pid_sgid pid The saved set gid of the process.
pid_fsgid pid The file system gid of the process.
pid_vmpeak pid Peak virtual memory size of the process.
pid_vmsize pid Virtual memory size of the process.
pid_vmlck pid Locked memory size of the process.
pid_vmhwm pid Peak resident set size ("high water mark") of the process.
pid_vmrss pid Resident set size of the process.
pid_vmdata pid Data segment size of the process.
pid_vmstk pid Stack segment size of the process.
pid_vmexe pid Text segment size of the process.
pid_vmlib pid Shared library code size of the process.
pid_vmpte pid Page table entries size of the process.
pid_write pid Total number of bytes written by the process.
platform (dev) type n (factor offset) 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; '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).
pop3_unseen (args) 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.
pop3_used (args) 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.
processes Total processes (sleeping and running).
read_tcp (host) port Connects to a tcp port on a host (default is localhost), reads every char available at the moment and shows them.
read_udp (host) port Connects to a udp port on a host (default is localhost), reads every char available at the moment and shows them.
replied_mails (maildir) (interval) 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.
rss uri interval_in_seconds action (num_par (spaces_in_front)) 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 Running processes (not sleeping). Requires Linux 2.6.
running_threads Number of running (runnable) threads. Linux only.
scroll (direction) length (step) (interval) text 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'.
seen_mails (maildir) (interval) 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.
sip_status (switch) 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 a 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".
shadecolor (color) Change shading color.
smapi (ARGS) 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.
smapi_bat_bar (INDEX),(height),(width) when using smapi, display the remaining capacity of the battery with index INDEX as a bar.
smapi_bat_perc (INDEX) 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.
smapi_bat_power INDEX 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.
smapi_bat_temp INDEX 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.
sony_fanspeed Displays the Sony VAIO fanspeed information if sony-laptop kernel support is enabled. Linux only.
startcase text Capitalises the start of each word.
lowercase text Converts all letters into lowercase.
uppercase text Converts all letters into uppercase.
rstrip text Strips all trailing whitespace from input.
stippled_hr (space) Stippled (dashed) horizontal line.
stock symbol data Displays the data of a stock symbol. The following data is supported: adv(Average Daily Volume), ask, asksize, bid, askrt(ask realtime), bidrt(bid realtime), bookvalue, bidsize, change, commission, changert(change realtime), ahcrt(After Hours Change realtime), ds(dividend/share), ltd(Last Trade Date), tradedate, es(earnings/share), ei(error indication), epsecy(EPS Estimate Current Year), epseny(EPS Estimate Next Year), epsenq(EPS Estimate Next Quarter), floatshares, dayslow, dayshigh, 52weeklow, 52weekhigh, hgp(Holdings Gain Percent), ag(Annualized Gain), hg(Holdings Gain), hgprt(Holdings Gain Percent realtime), hgrt(Holdings Gain realtime), moreinfo, obrt(Order Book realtime), mc(Market Capitalization), mcrt(Market Cap realtime), ebitda, c52wlow(Change From 52-week Low), pc52wlow(Percent Change From 52-week Low), cprt(change percent realtime), lts(Last Trade Size), c52whigh(Change from 52-week high), pc52whigh(percent change from 52-week high), ltp(last trade price), hl(high limit), ll(low limit), dr(day's range), drrt(day's range realtime), 50ma(50-day Moving Average), 200ma(200-day Moving Average), c200ma(Change From 200-day Moving Average), pc200ma(Percent Change From 200-day Moving Average), c50ma(Change From 50-day Moving Average), pc50ma(Percent Change From 50-day Moving Average), name, notes, open, pc(previous close), pricepaid, cip(change in percent), ps(price/sales), pb(price/book), edv(Ex-Dividend Date), per(P/E Ratio), dpd(Dividend Pay Date), perrt(P/E Ratio realtime), pegr(PEG Ratio), pepsecy(Price/EPS Estimate Current Year), pepseny(Price/EPS Estimate Next Year), symbol, sharesowned, shortratio, ltt(Last Trade Time), tradelinks, tt(Ticker Trend), 1ytp(1 yr Target Price), volume, hv(Holdings Value), hvrt(Holdings Value realtime), 52weekrange, dvc(Day's Value Change), dvcrt(Day's Value Change realtime), se(Stock Exchange), dy(Dividend Yield).
swap   Amount of swap in use.
swapbar (height),(width) Bar that shows amount of swap in use.
swapfree Amount of free swap.
swapmax Total amount of swap.
swapperc Percentage of swap in use.
sysname System name, e.g. Linux.
sysctlbyname (name) Print sysctl value by name. FreeBSD only.
tab (width, (start)) Puts a tab of the specified width, starting from column 'start'. The unit is pixels for both arguments.
tail logfile lines (next_check) 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.
tcp_ping host (port) 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_portmon port_begin port_end item (index) TCP port (both IPv6 and IPv4) monitor for specified local ports. Port numbers must be in the range 1 to 65535. Valid items are:
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.
${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.
templateN (arg1) (arg2) (arg3 ...) 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 = [[$\1\2]] 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: ${fs_free /} / disk\ root} /}             ${fs_size /}
texeci interval command 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.
texecpi interval command Same as execpi, except the command is run inside a thread.
threads Total threads.
time (format) Local time, see "man strftime" to get more information about format.
to_bytes size 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'.
top type num 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.
top_io type num Same as top, except sorted by the amount of I/O the process has done during the update interval.
top_mem type num Same as top, except sorted by mem usage instead of cpu.
top_time type num Same as top, except sorted by total CPU time instead of current CPU usage.
totaldown (net) 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.
totalup (net) Total upload, this one too, may overflow.
trashed_mails (maildir) (interval) 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.
tztime (timezone (format)) 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.
gid_name gid Name of group with this gid.
uid_name uid Username of user with this uid.
unflagged_mails (maildir) (interval) 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.
unforwarded_mails (maildir) (interval) 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.
unreplied_mails (maildir) (interval) 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.
unseen_mails (maildir) (interval) 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.
updates Number of updates for debugging.
upspeed (net) Upload speed in suitable IEC units.
upspeedf (net) Upload speed in KiB with one decimal.
upspeedgraph (netdev) (height),(width) (gradient colour 1) (gradient colour 2) (scale) (-t) (-l) Upload speed 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 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).
uptime Uptime.
uptime_short Uptime in a shorter format.
user_names Lists the names of the users logged in.
user_number Number of users logged in.
user_terms Lists the consoles in use.
user_times Lists how long users have been logged in for.
user_time console Lists how long the user for the given console has been logged in for.
utime (format) Display time in UTC (universal coordinate time).
v6addrs (-n) (-s) (interface) 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.
voffset (pixels) Change vertical offset by N pixels. Negative values will cause text to overlap. See also $offset.
voltage_mv (n) Returns CPU #n's voltage in mV. CPUs are counted from 1. If omitted, the parameter defaults to 1.
voltage_v (n) Returns CPU #n's voltage in V. CPUs are counted from 1. If omitted, the parameter defaults to 1.
weather URI locID data_type (interval_in_minutes) Download, parse and display METAR data.
'URI' must be a valid METAR URI.
http://tgftp.nws.noaa.gov/data/observations/metar/stations/
'locID' must be a valid location identifier for the required uri. For the NOAA site this must be a valid ICAO (see for instance https://pilotweb.nas.faa.gov/qryhtml/icao/).  For the weather.com site this must be a valid location ID (see for instance http://aspnetresources.com/tools/locid.aspx).
'data_type' must be one of the following:
last_update The date and time stamp of the data. The result depends on the URI used. For the NOAA site it is date (yyyy/mm/dd) and UTC time. For the weather.com one it is date ([m]m/[d]d/yy) and Local Time of the station. temperature
Air temperature (you can use the 'temperature_unit' config setting to change units) cloud_cover
The highest cloud cover status pressure
Air pressure in millibar wind_speed
Wind speed in km/h wind_dir
Wind direction wind_dir_DEG
Compass wind direction humidity
Relative humidity in % weather
Any relevant weather event (rain, snow, etc.). This is not used if you are querying the weather.com site since this data is aggregated into the cloud_cover one icon
Weather icon (only for www.weather.com). Can be used together with the icon kit provided upon registering to their service.
'delay_in_minutes' (optional, default 30) cannot be less than 30 minutes.
This object is threaded, and once a thread is created it can't be explicitly destroyed. One thread will run for each URI specified.
Note that these variables are still EXPERIMENTAL and can be subject to many future changes.
weather_forecast URI locID day data_type (interval_in_minutes) Download, parse and display weather forecast data for a given day (daytime only).
'locID', see 'weather' above.
'day' is a number from 0 (today) to 4 (3 days after tomorrow).
day Day of the week date Date, in the form MMM DD (ie. Jul 14) low Minimum temperature (you can use the 'temperature_unit' config setting to change units) hi Maximum temperature (you can use the 'temperature_unit' config setting to change units) icon Weather icon. Can be used together with the icon kit provided upon registering to the weather.com service forecast Weather forecast (sunny, rainy, etc.) wind_speed Wind speed in km/h wind_dir Wind direction wind_dir_DEG Compass wind direction humidity Relative humidity in % precipitation Probability of having a precipitation (in %)
'delay_in_minutes' (optional, default 210) cannot be lower than 210 min.
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.
wireless_ap (net) Wireless access point MAC address. Linux only.
wireless_bitrate (net) Wireless bitrate (ie 11 Mb/s). Linux only.
wireless_channel (net) WLAN channel on which device 'net' is listening.
wireless_essid (net) Wireless access point ESSID. Linux only.
wireless_freq (net) Frequency on which device 'net' is listening.
wireless_link_bar (height),(width) (net) Wireless link quality bar. Linux only.
wireless_link_qual (net) Wireless link quality. Linux only.
wireless_link_qual_max (net) Wireless link quality maximum value. Linux only.
wireless_link_qual_perc (net) Wireless link quality in percents. Linux only.
wireless_mode (net) Wireless mode (Managed/Ad-Hoc/Master). Linux only.
words textfile Displays the number of words in the given file.
xmms2_album Album in current XMMS2 song.
xmms2_artist Artist in current XMMS2 song.
xmms2_bar (height),(width) Bar of XMMS2's progress.
xmms2_bitrate Bitrate of current song.
xmms2_comment Comment in current XMMS2 song.
xmms2_date Returns song's date.
xmms2_duration Duration of current song.
xmms2_elapsed Song's elapsed time.
xmms2_genre Genre in current XMMS2 song.
xmms2_id XMMS2 id of current song.
xmms2_percent Percent of song's progress.
xmms2_playlist Returns the XMMS2 playlist.
xmms2_size Size of current song.
xmms2_smart Prints the song name in either the form "artist - title" or file name, depending on whats available.
xmms2_status XMMS2 status (Playing, Paused, Stopped, or Disconnected).
xmms2_timesplayed Number of times a song was played (presumably).
xmms2_title Title in current XMMS2 song.
xmms2_tracknr Track number in current XMMS2 song.
xmms2_url Full path to current song.
Conky features a Lua Programming API, and also ships with Lua bindings for some useful libraries. Note that the bindings require tolua++, which currently only compiles against Lua 5.1.
To use Lua Conky, you first need to make sure you have a version of Conky with Lua support enabled (``conky -v'' will report this). Conky defines certain global functions and variables which can be accessed from Lua code running in Conky. Scripts must first be loaded using the lua_load configuration option. You then call functions in Lua via Conky's $lua, $lua_read, and Lua hooks.
Be careful when creating threaded objects through the Lua API. You could wind up with a whole bunch of threads running if a thread is created with each iteration.
At this time, the Lua API should not be considered stable and may change drastically from one release to another as it matures.
NOTE: In order to accommodate certain features in the cairo library's API, Conky will export a few additional functions for the creation of certain structures. These are documented below.
conky_parse(string) function This function takes a string that is evaluated as per Conky's TEXT section, and then returns a string with the result.
conky_set_update_interval(number) function Sets Conky's update interval (in seconds) to 'number'.
conky_window table This table contains some information about Conky's window.  The following table describes the values contained:
drawable Window's drawable (Xlib Drawable), requires Lua extras enabled at compile time. visual Window's visual (Xlib Visual), requires Lua extras enabled at compile time. display Window's display (Xlib Display), requires Lua extras enabled at compile time. width Window width (in pixels). height Window height (in pixels). border_inner_margin Window's inner border margin (in pixels). border_outer_margin Window's outer border margin (in pixels). border_width Window's border width (in pixels). text_start_x The x component of the starting coordinate of text drawing. text_start_y The y component of the starting coordinate of text drawing. text_width The width of the text drawing region. text_height The height of the text drawing region.
NOTE: This table is only defined when X support is enabled.
conky_info table This table contains some information about Conky's internal data. The following table describes the values contained:
update_interval Conky's update interval (in seconds).
conky_build_info string A string containing the build info for this particular instance of Conky, including the version, build date, and architecture.
conky_build_date string A string containing the build date for this particular instance of Conky.
conky_build_arch string A string containing the build architecture for this particular instance of Conky.
conky_version string A string containing the version of the current instance of Conky.
conky_config string A string containing the path of the current Conky configuration file.
cairo_text_extents_t:create() function Call this function to return a new cairo_text_extents_t structure. A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly.
cairo_font_extents_t:create() function Call this function to return a new cairo_font_extents_t structure. A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly.
cairo_matrix_t:create() function Call this function to return a new cairo_matrix_t structure.  A creation function for this structure is not provided by the cairo API. After calling this, you should use tolua.takeownership() on the return value to ensure ownership is passed properly.
cairo_text_extents_t:destroy(structure) function Call this function to free memory allocated by cairo_text_extents_t:create.
cairo_font_extents_t:destroy(structure) function Call this function to free memory allocated by cairo_font_extents_t:create.
cairo_matrix_t:destroy(structure) function Call this function to free memory allocated by cairo_matrix_t:create.
conky -t '${time %D %H:%M}' -o -u 30 Start Conky in its own window with date and clock as text and 30 sec update interval.
conky -a top_left -x 5 -y 500 -d Start Conky to background at coordinates (5, 500).
conky -C > ~/.config/conky/conky.conf Do not start Conky, but have it output the builtin default config file to ~/.config/conky/conky.conf for later customising.
${sysconfdir}/conky/conky.conf Default system-wide configuration file. The value of ${sysconfdir} depends on the compile-time options (most likely /etc).
~/.config/conky/conky.conf Default personal configuration file.
Drawing to root or some other desktop window directly doesn't work with all window managers. Especially doesn't work well with Gnome and it has been reported that it doesn't work with KDE either.  Nautilus can be disabled from drawing to desktop with program gconf-editor. Uncheck show_desktop in /apps/nautilus/preferences/.  There is -w switch in Conky to set some specific window id. You might find xwininfo -tree useful to find the window to draw to. You can also use -o argument which makes Conky to create its own window. If you do try running Conky in its own window, be sure to read up on the own_window_type settings and experiment.
https://github.com/brndnmtthws/conky
#conky on irc.freenode.net
Copyright (c) 2005-2021 Brenden Matthews, Philip Kovacs, et. al.  Any original torsmo code is licensed under the BSD license (see LICENSE.BSD for a copy). All code written since the fork of torsmo is licensed under the GPL (see LICENSE.GPL for a copy), except where noted differently (such as in portmon and audacious code which are LGPL, and prss which is an MIT-style license).
The Conky dev team (see AUTHORS for a full list of contributors).
PVDISPLAY(8)                 System Manager's Manual                PVDISPLAY(8)
pvdisplay â€” Display various attributes of physical volume(s)
pvdisplay [ option_args ] [ position_args ]
pvdisplay shows the attributes of PVs, like size, physical extent size, space used for the VG descriptor area, etc.
pvs(8) is a preferred alternative that shows the same information and more, using a more compact and configurable output format.
pvdisplay [ -a|--all ] [ -c|--colon ] [ -C|--columns ] [ -m|--maps ] [ -o|--options String ] [ -S|--select String ] [ -s|--short ] [ -O|--sort String ] [    --aligned ] [    --binary ] [    --configreport log|vg|lv|pv|pvseg|seg ] [    --foreign ] [    --ignorelockingfailure ] [    --logonly ] [    --noheadings ] [    --nosuffix ] [    --readonly ] [    --reportformat basic|json ] [    --separator String ] [    --shared ] [    --unbuffered ] [    --units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E ] [ COMMON_OPTIONS ] [ PV|Tag ... ]
Common options for lvm: [ -d|--debug ] [ -h|--help ] [ -q|--quiet ] [ -t|--test ] [ -v|--verbose ] [ -y|--yes ] [    --commandprofile String ] [    --config String ] [    --devices PV ] [    --devicesfile String ] [    --driverloaded y|n ] [    --lockopt String ] [    --longhelp ] [    --nolocking ] [    --profile String ] [    --version ]
-a|--all Show information about devices that have not been initialized by LVM, i.e. they are not PVs.
-c|--colon Generate colon separated output for easier parsing in scripts or programs.  Also see vgs(8) which provides considerably more control over the output.
-C|--columns Display output in columns, the equivalent of vgs(8).  Options listed are the same as options given in vgs(8).
-m|--maps Display the mapping of physical extents to LVs and logical extents.
-s|--short Only display the size of the given PVs.
SWAPON(8)                     System Administration                    SWAPON(8)
swapon, swapoff - enable/disable devices and files for paging and swapping
swapon [options] [specialfile...]
swapoff [-va] [specialfile...]
swapon is used to specify devices on which paging and swapping are to take place.
The device or file used is given by the specialfile parameter. It may be of the form -L label or -U uuid to indicate a device by label or uuid.
Calls to swapon normally occur in the system boot scripts making all swap devices available, so that the paging and swapping activity is interleaved across several devices and files.
swapoff disables swapping on the specified devices and files. When the -a flag is given, swapping is disabled on all known swap devices and files (as found in /proc/swaps or /etc/fstab).
-a, --all All devices marked as "swap" in /etc/fstab are made available, except for those with the "noauto" option. Devices that are already being used as swap are silently skipped.
-d, --discard[=policy] Enable swap discards, if the swap backing device supports the discard or trim operation. This may improve performance on some Solid State Devices, but often it does not. The option allows one to select between two available swap discard policies:
--discard=once to perform a single-time discard operation for the whole swap area at swapon; or
--discard=pages to asynchronously discard freed swap pages before they are available for reuse.
If no policy is selected, the default behavior is to enable both discard types. The /etc/fstab mount options discard, discard=once, or discard=pages may also be used to enable discard flags.
-e, --ifexists Silently skip devices that do not exist. The /etc/fstab mount option nofail may also be used to skip non-existing device.
-f, --fixpgsz Reinitialize (exec mkswap) the swap space if its page size does not match that of the current running kernel. mkswap(8) initializes the whole device and does not check for bad blocks.
-L label Use the partition that has the specified label. (For this, access to /proc/partitions is needed.)
-o, --options opts Specify swap options by an fstab-compatible comma-separated string. For example:
swapon -o pri=1,discard=pages,nofail /dev/sda2
The opts string is evaluated last and overrides all other command line options.
-p, --priority priority Specify the priority of the swap device. priority is a value between -1 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a. When no priority is defined, it defaults to -1.
-s, --summary Display swap usage summary by device. Equivalent to cat /proc/swaps. This output format is DEPRECATED in favour of --show that provides better control on output data.
--show[=column...] Display a definable table of swap areas. See the --help output for a list of available columns.
--output-all Output all available columns.
--noheadings Do not print headings when displaying --show output.
--raw Display --show output without aligning table columns.
--bytes Display swap size in bytes in --show output instead of in user-friendly units.
-U uuid Use the partition that has the specified uuid.
-v, --verbose Be verbose.
swapoff has the following exit status values since v2.36:
2 system has insufficient memory to stop swapping (OOM)
4 swapoff syscall failed for another reason
8 non-swapoff syscall system error (out of memory, ...)
16 usage or syntax error
32 all swapoff failed on --all
64 some swapoff succeeded on --all
The command swapoff --all returns 0 (all succeeded), 32 (all failed), or 64 (some failed, some succeeded).
+ The old versions before v2.36 has no documented exit status, 0 means success in all versions.
/dev/sd?? standard paging devices
/etc/fstab ascii filesystem description table
Files with holes The swap file implementation in the kernel expects to be able to write to the file directly, without the assistance of the filesystem. This is a problem on files with holes or on copy-on-write files on filesystems like Btrfs.
Commands like cp(1) or truncate(1) create files with holes. These files will be rejected by swapon.
Preallocated files created by fallocate(1) may be interpreted as files with holes too depending of the filesystem. Preallocated swap files are supported on XFS since Linux 4.18.
The most portable solution to create a swap file is to use dd(1) and /dev/zero.
Btrfs Swap files on Btrfs are supported since Linux 5.0 on files with nocow attribute. See the btrfs(5) manual page for more details.
NFS Swap over NFS may not work.
Suspend swapon automatically detects and rewrites a swap space signature with old software suspend data (e.g., S1SUSPEND, S2SUSPEND, ...). The problem is that if we donâ€™t do it, then we get data corruption the next time an attempt at unsuspending is made.
The swapon command appeared in 4.0BSD.
swapoff(2), swapon(2), fstab(5), init(8), fallocate(1), mkswap(8), mount(8), rc(8)
The swapon command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
FC-CACHE(1)                                                          FC-CACHE(1)
fc-cache - build font information cache files
fc-cache [ -EfrsvVh ] [ --error-on-no-fonts ] [ --force ] [ --really- force ] [ -y dir | --sysroot dir ] [ --system-only ] [ --verbose ] [ --version ] [ --help ] [ dir ... ]
fc-cache scans the font directories on the system and builds font information cache files for applications using fontconfig for their font handling.
If directory arguments are not given, fc-cache uses each directory in the current font configuration. Each directory is scanned for font files readable by FreeType.  A cache is created which contains properties of each font and the associated filename.  This cache is used to speed up application startup when using the fontconfig library.
Note that fc-cache must be executed once per architecture to generate font information customized for that architecture.
This program follows the usual GNU command line syntax, with long options starting with two dashes (`-').  A summary of options is included below.
-E --error-on-no-fonts Raise an error if there are no fonts in dir or directories in the configuration if not given.
-f --force Force re-generation of apparently up-to-date cache files, overriding the timestamp checking.
-r --really-force Erase all existing cache files and rescan.
-s --system-only Only scan system-wide directories, omitting the places located in the user's home directory.
-v --verbose Display status information while busy.
-y -sysroot dir Prepend dir to all paths for scanning.
-h --help Show summary of options.
-V --version Show version of the program and exit.
dir    Directory to scan for fonts.
fc-cache returns zero if the caches successfully generated. otherwise non-zero.
%cachedir%/*-%arch%.cache-%version% These files are generated by fc-cache and contain maps from file names to font properties. They are read by the fontconfig library at application startup to locate appropriate fonts.
fc-cat(1) fc-list(1) fc-match(1) fc-pattern(1) fc-query(1) fc-scan(1)
The fontconfig user's guide, in HTML format: /usr/share/doc/fontconfig/fontconfig-user.html.
This manual page was written by Keith Packard <keithp@keithp.com> and Josselin Mouette <joss@debian.org>.
rdesktop(1)                  General Commands Manual                 rdesktop(1)
rdesktop - Remote Desktop Protocol client
rdesktop [options] server[:port]
rdesktop is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft products.  It is known to work with Microsoft Windows server versions ranging from NT 4 terminal server to Windows Server 2012 R2.
-u <username> Username for authentication on the server.
-d <domain> Domain for authentication.
-s <shell> Startup shell for the user - starts a specific application instead of Explore.  If SeamlessRDP is enabled this is the application which is started in seamless mode.
-c <directory> The initial working directory for the user.  Often used in combination with -s to set up a fixed login environment.
-p <password> The password to authenticate with.  Note that this may have no effect if "Always prompt for password" is enabled on the server. WARNING: if you specify a password on the command line it may be visible to other users when they use tools like ps.  Use -p - to make rdesktop request a password at startup (from standard input).
-n <hostname> Client hostname.  Normally rdesktop automatically obtains the hostname of the client.
-k <keyboard-map> Keyboard layout to emulate.  This requires a corresponding keymap file to be installed.  The standard keymaps provided with rdesktop follow the RFC1766 naming scheme: a language code followed by a country code if necessary - e.g.  en-us, en-gb, de, fr, sv, etc.
The default keyboard map depends on the current locale (LC_* and LANG environment variables). If the current locale is unknown, the default keyboard map is en-us (a US English keyboard).
The keyboard maps are file names, which means that they are case sensitive. The standard keymaps are all in lowercase.
The keyboard maps are searched relative to the directories $HOME/.rdesktop/keymaps, KEYMAP_PATH (specified at build time), and $CWD/keymaps, in this order. The keyboard-map argument can also be an absolute filename.
The special value `none' can be used instead of a keyboard map. In this case, rdesktop will guess the scancodes from the X11 event key codes using an internal mapping method. This method only supports the basic alphanumeric keys and may not work properly on all platforms so its use is discouraged.
-g <geometry> Desktop geometry (WxH[@DPI][+X[+Y]]). If geometry is the special word "workarea", the geometry will be fetched from the extended window manager hints property _NET_WORKAREA, from the root window. The geometry can also be specified as a percentage of the whole screen, e.g. "-g 80%", "-g 80%x70%".
If the specified geometry depends on the screen size, and the screen size is changed, rdesktop will automatically reconnect using the new screen size. This requires that rdesktop has been compiled with RandR support.
The optional DPI parameter should be specified if the screen rdesktop is being displayed on is too far from 96 DPI for unscaled Windows to be readable. Windows currently accepts values from 96 to 480.
Offset placement of window is optional. Starting point is upper left corner of screen.  Window manager might push into visible area, if a panel would be covered.  The schema is "-g <value>+<xoff>+<yoff>, f.e. "-g 30%+200+600".
-i     Use password as smartcard pin. If a valid user certificate is matched in smart card reader the password passed with p argument is used as pin for the smart card.  This feature also requires that smart card redirection is used using r scard argument.
-f     Enable fullscreen mode.  This overrides the window manager and causes the rdesktop window to fully cover the current screen. Fullscreen mode can be toggled at any time using Ctrl-Alt-Enter.
-b     Force the server to send screen updates as bitmaps rather than using higher-level drawing operations.
-t     Disable use of remote control. This will disable features like seamless connection sharing.
-A <seamlessrdpshell> Enable SeamlessRDP by specifying the path to seamless rdp shell. In this mode, rdesktop creates a X11 window for each window on the server side.  This mode requires the SeamlessRDP server side component, which is available from http://www.cendio.com/seamlessrdp/.
When using this option, you should normally specify a startup shell which launches the desired application through SeamlessRDP.
Example: rdesktop -A 'c:\seamlessrdp\seamlessrdpshell.exe' -s 'notepad' mywts.domain.com
Any subsequential call to the above command line example will make use of the seamless connection sharing feature which spawns another notepad in the current connection to the specified server and then exit.
-V <tls version> Set the Transport Level Security (also known as SSL) Version used. Should be one of the following values: 1.0, 1.1, 1.2. By default all versions are supported.
-B     Use the BackingStore of the Xserver instead of the integrated one in rdesktop.
-e     Disable encryption.  This option is only needed (and will only work) if you have a French version of NT TSE.
-E     Disable encryption from client to server.  This sends an encrypted login packet, but everything after this is unencrypted (including interactive logins).
-m     Do not send mouse motion events.  This saves bandwidth, although some Windows applications may rely on receiving mouse motion.
-M     Use local X cursor inherited from window manager instead of server cursor. This is mostly useful with -m, but is also useful if the server is sending bogus mouse cursors.
-C     Use private colourmap.  This will improve colour accuracy on an 8-bit display, but rdesktop will appear in false colour when not focused.
-D     Hide window manager decorations, by using MWM hints.
-K     Do not override window manager key bindings.  By default rdesktop attempts to grab all keyboard input when it is in focus.