mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-23 19:39:06 +00:00
added $execpi, new ebuild, various other misc updates
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1027 7f574dfc-610e-0410-a909-a81674777703
This commit is contained in:
parent
adcf34d5f7
commit
94bb46b868
@ -4,7 +4,7 @@
|
||||
* Added CRLF characters to POP3 and IMAP stuff (should play nicer with
|
||||
some servers now).
|
||||
* Added preliminary support for parsing the output of external commands
|
||||
(via $execp)
|
||||
(via $execp and $execpi)
|
||||
* Applied FreeBSD total memory patch (thanks Nikos)
|
||||
|
||||
2008-03-19
|
||||
|
259
README
259
README
@ -720,20 +720,6 @@ VARIABLES
|
||||
recommend coding wanted behaviour in C and posting a patch.
|
||||
|
||||
|
||||
execp command
|
||||
Executes a shell command and displays the output in conky. warn-
|
||||
ing: this takes a lot more resources than other variables. I'd
|
||||
recommend coding wanted behaviour in 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 any-
|
||||
thing like $execi within an $execp statement, it will function-
|
||||
ally run at the same interval that the $execp statement runs, as
|
||||
it is created and destroyed at every interval.
|
||||
|
||||
|
||||
execbar command
|
||||
Same as exec, except if the first value return is a value be-
|
||||
tween 0-100, it will use that number for a bar. The size for the
|
||||
@ -757,37 +743,58 @@ VARIABLES
|
||||
Same as execigraph, but takes an interval arg graphs values
|
||||
|
||||
|
||||
execp command
|
||||
Executes a shell command and displays the output in conky. warn-
|
||||
ing: this takes a lot more resources than other variables. I'd
|
||||
recommend coding wanted behaviour in 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 any-
|
||||
thing like $execi within an $execp statement, it will function-
|
||||
ally run at the same interval that the $execp statement runs, as
|
||||
it is created and destroyed at every interval.
|
||||
|
||||
|
||||
execpi interval command
|
||||
Same as execp but with specific interval. Interval can't be less
|
||||
than update_interval in configuration. Note that the output from
|
||||
the $execpi command is still parsed and evaluated at every in-
|
||||
terval.
|
||||
|
||||
|
||||
font (font)
|
||||
Specify a different font. This new font will apply to the cur-
|
||||
rent line and everything following. You can use a $font with no
|
||||
arguments to change back to the default font (much like with
|
||||
Specify a different font. This new font will apply to the cur-
|
||||
rent line and everything following. You can use a $font with no
|
||||
arguments to change back to the default font (much like with
|
||||
$color)
|
||||
|
||||
|
||||
freq (n)
|
||||
Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
|
||||
Returns CPU #n's frequency in MHz. CPUs are counted from 1. If
|
||||
omitted, the parameter defaults to 1.
|
||||
|
||||
|
||||
freq_g (n)
|
||||
Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
|
||||
Returns CPU #n's frequency in GHz. CPUs are counted from 1. If
|
||||
omitted, the parameter defaults to 1.
|
||||
|
||||
|
||||
freq_dyn
|
||||
Returns CPU frequency in MHz, but is calculated by counting to
|
||||
clock cycles to complete an instruction. Only available for
|
||||
Returns CPU frequency in MHz, but is calculated by counting to
|
||||
clock cycles to complete an instruction. Only available for
|
||||
x86/amd64.
|
||||
|
||||
|
||||
freq_dyn_g
|
||||
Returns CPU frequency in GHz, but is calculated by counting to
|
||||
clock cycles to complete an instruction. Only available for
|
||||
Returns CPU frequency in GHz, but is calculated by counting to
|
||||
clock cycles to complete an instruction. Only available for
|
||||
x86/amd64.
|
||||
|
||||
|
||||
fs_bar (height),(width) fs
|
||||
Bar that shows how much space is used on a file system. height
|
||||
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.
|
||||
|
||||
|
||||
@ -815,14 +822,14 @@ VARIABLES
|
||||
|
||||
|
||||
hddtemp dev, (host,(port))
|
||||
Displays temperature of a selected hard disk drive as reported
|
||||
by the hddtemp daemon running on host:port. Default host is
|
||||
Displays temperature of a selected hard disk drive as reported
|
||||
by the hddtemp daemon running on host:port. Default host is
|
||||
127.0.0.1, default port is 7634.
|
||||
|
||||
|
||||
head logfile lines (interval)
|
||||
Displays first N lines of supplied text text file. If interval
|
||||
is not supplied, Conky assumes 2x Conky's interval. Max of 30
|
||||
Displays first N lines of supplied text text file. If interval
|
||||
is not supplied, Conky assumes 2x Conky's interval. Max of 30
|
||||
lines can be displayed, or until the text buffer is filled.
|
||||
|
||||
|
||||
@ -831,16 +838,16 @@ VARIABLES
|
||||
|
||||
|
||||
hwmon (dev) type n
|
||||
Hwmon sensor from sysfs (Linux 2.6). Parameter dev may be omit-
|
||||
ted if you have only one hwmon device. Parameter type is either
|
||||
'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' (Cel-
|
||||
sius) or 'tempf' (Fahrenheit) meaning temperature. Parameter n
|
||||
is number of the sensor. See /sys/class/hwmon/ on your local
|
||||
Hwmon sensor from sysfs (Linux 2.6). Parameter dev may be omit-
|
||||
ted if you have only one hwmon device. Parameter type is either
|
||||
'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' (Cel-
|
||||
sius) or 'tempf' (Fahrenheit) meaning temperature. Parameter n
|
||||
is number of the sensor. See /sys/class/hwmon/ on your local
|
||||
computer.
|
||||
|
||||
|
||||
iconv_start codeset_from codeset_to
|
||||
Convert text from one codeset to another using GNU iconv. Needs
|
||||
Convert text from one codeset to another using GNU iconv. Needs
|
||||
to be stopped with iconv_stop.
|
||||
|
||||
|
||||
@ -849,75 +856,75 @@ VARIABLES
|
||||
|
||||
|
||||
i2c (dev) type n
|
||||
I2C sensor from sysfs (Linux 2.6). Parameter dev may be omitted
|
||||
if you have only one I2C device. Parameter type is either 'in'
|
||||
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; 'fan' meaning fan; 'temp' (Celsius) or
|
||||
'tempf' (Fahrenheit) meaning temperature. Parameter n is number
|
||||
'tempf' (Fahrenheit) meaning temperature. Parameter n is number
|
||||
of the sensor. See /sys/bus/i2c/devices/ on your local computer.
|
||||
|
||||
|
||||
i8k_ac_status
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
i8k_bios
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the bios version as listed in /proc/i8k.
|
||||
|
||||
|
||||
i8k_buttons_status
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the volume buttons status as listed in /proc/i8k.
|
||||
|
||||
|
||||
i8k_cpu_temp
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the cpu temperature in Celsius, as reported by /proc/i8k.
|
||||
|
||||
|
||||
i8k_cpu_tempf
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the cpu temperature in Fahrenheit, as reported by /proc/i8k.
|
||||
|
||||
|
||||
i8k_left_fan_rpm
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the left fan's rate of rotation, in revolutions per minute as
|
||||
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.
|
||||
|
||||
|
||||
i8k_left_fan_status
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
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 re-
|
||||
readable). Beware, some laptops i8k reports these fans in re-
|
||||
verse order.
|
||||
|
||||
|
||||
i8k_right_fan_rpm
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the right fan's rate of rotation, in revolutions per minute as
|
||||
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.
|
||||
|
||||
|
||||
i8k_right_fan_status
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the right fan status as listed in /proc/i8k (translated to hu-
|
||||
man-readable). Beware, some laptops i8k reports these fans in
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the right fan status as listed in /proc/i8k (translated to hu-
|
||||
man-readable). Beware, some laptops i8k reports these fans in
|
||||
reverse order.
|
||||
|
||||
|
||||
i8k_serial
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
your laptop serial number as listed in /proc/i8k.
|
||||
|
||||
|
||||
i8k_version
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
If running the i8k kernel driver for Inspiron laptops, displays
|
||||
the version formatting of /proc/i8k.
|
||||
|
||||
|
||||
@ -926,13 +933,13 @@ VARIABLES
|
||||
|
||||
|
||||
ibm_temps N
|
||||
If running the IBM ACPI, displays the temperatures from the IBM
|
||||
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.
|
||||
|
||||
|
||||
ibm_volume
|
||||
If running the IBM ACPI, displays the "master" volume, con-
|
||||
If running the IBM ACPI, displays the "master" volume, con-
|
||||
trolled by the volume keys (0-14).
|
||||
|
||||
|
||||
@ -942,19 +949,19 @@ VARIABLES
|
||||
|
||||
|
||||
if_empty (var)
|
||||
if conky variable VAR is empty, display everything between
|
||||
if conky variable VAR is empty, display everything between
|
||||
$if_empty and the matching $endif
|
||||
|
||||
|
||||
if_running (process)
|
||||
if PROCESS is running, display everything $if_running and the
|
||||
if PROCESS is running, display everything $if_running and the
|
||||
matching $endif
|
||||
|
||||
|
||||
if_existing file (string)
|
||||
if FILE exists, display everything between if_existing and the
|
||||
matching $endif. The optional second paramater checks for FILE
|
||||
containing the specified string and prints everything between
|
||||
if FILE exists, display everything between if_existing and the
|
||||
matching $endif. The optional second paramater checks for FILE
|
||||
containing the specified string and prints everything between
|
||||
$if_existing and the matching $endif.
|
||||
|
||||
|
||||
@ -964,8 +971,8 @@ VARIABLES
|
||||
|
||||
|
||||
if_smapi_bat_installed (INDEX)
|
||||
when using smapi, if the battery with index INDEX is installed,
|
||||
display everything between $if_smapi_bat_installed and the
|
||||
when using smapi, if the battery with index INDEX is installed,
|
||||
display everything between $if_smapi_bat_installed and the
|
||||
matching $endif
|
||||
|
||||
|
||||
@ -976,9 +983,9 @@ VARIABLES
|
||||
|
||||
imap_messages (args)
|
||||
Displays the number of messages in your global IMAP inbox by de-
|
||||
fault. You can define individual IMAP inboxes seperately by
|
||||
fault. You can define individual IMAP inboxes seperately by
|
||||
passing arguments to this object. Arguments are: "host user pass
|
||||
[-i interval] [-p port] [-e command]". Default port is 143, de-
|
||||
[-i interval] [-p port] [-e command]". Default port is 143, de-
|
||||
fault interval is 5 minutes. If the password is supplied as '*',
|
||||
you will be prompted to enter the password when Conky starts.
|
||||
|
||||
@ -987,7 +994,7 @@ VARIABLES
|
||||
Displays the number of unseen messages in your global IMAP inbox
|
||||
by default. You can define individual IMAP inboxes seperately by
|
||||
passing arguments to this object. Arguments are: "host user pass
|
||||
[-i interval] [-p port] [-e command]". Default port is 143, de-
|
||||
[-i interval] [-p port] [-e command]". Default port is 143, de-
|
||||
fault interval is 5 minutes. If the password is supplied as '*',
|
||||
you will be prompted to enter the password when Conky starts.
|
||||
|
||||
@ -1005,16 +1012,16 @@ VARIABLES
|
||||
|
||||
|
||||
mails (mailbox) (interval)
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
mboxscan (-n number of messages to print) (-fw from width) (-sw subject
|
||||
width) mbox
|
||||
Print a summary of recent messages in an mbox format mailbox.
|
||||
mbox parameter is the filename of the mailbox (can be encapsu-
|
||||
Print a summary of recent messages in an mbox format mailbox.
|
||||
mbox parameter is the filename of the mailbox (can be encapsu-
|
||||
lated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"}
|
||||
|
||||
|
||||
@ -1112,26 +1119,26 @@ VARIABLES
|
||||
|
||||
pb_battery item
|
||||
If running on Apple powerbook/ibook, display information on bat-
|
||||
tery status. The item parameter specifies, what information to
|
||||
tery 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, discharg-
|
||||
ing or absent (running on AC)
|
||||
percent: Display charge of battery in percent, if charging or
|
||||
discharging. Nothing will be displayed, if battery is fully
|
||||
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
|
||||
charged or discharged at current rate. Nothing is displayed, if
|
||||
battery is absent or if it's present but fully charged and not
|
||||
discharging.
|
||||
|
||||
|
||||
platform (dev) type n
|
||||
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'
|
||||
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'
|
||||
(Celsius) or 'tempf' (Fahrenheit) meaning temperature. Parameter
|
||||
n is number of the sensor. See /sys/bus/platform/devices/ on
|
||||
n is number of the sensor. See /sys/bus/platform/devices/ on
|
||||
your local computer.
|
||||
|
||||
|
||||
@ -1139,17 +1146,17 @@ VARIABLES
|
||||
Displays the number of unseen messages in your global POP3 inbox
|
||||
by default. You can define individual POP3 inboxes seperately by
|
||||
passing arguments to this object. Arguments are: "host user pass
|
||||
[-i interval] [-p port] [-e command]". Default port is 110, de-
|
||||
[-i interval] [-p port] [-e command]". Default port is 110, de-
|
||||
fault interval is 5 minutes. 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
|
||||
seperately by passing arguments to this object. Arguments are:
|
||||
"host user pass [-i interval] [-p port] [-e command]". Default
|
||||
port is 110, default interval is 5 minutes. If the password is
|
||||
Displays the amount of space (in MiB, 2^20) used in your global
|
||||
POP3 inbox by default. You can define individual POP3 inboxes
|
||||
seperately by passing arguments to this object. Arguments are:
|
||||
"host user pass [-i interval] [-p port] [-e command]". Default
|
||||
port is 110, default interval is 5 minutes. If the password is
|
||||
supplied as '*', you will be prompted to enter the password when
|
||||
Conky starts.
|
||||
|
||||
@ -1172,21 +1179,21 @@ VARIABLES
|
||||
|
||||
|
||||
smapi (ARGS)
|
||||
when using smapi, display contents of the /sys/devices/plat-
|
||||
form/smapi directory. ARGS are either '(FILENAME)' or 'bat (IN-
|
||||
DEX) (FILENAME)' to display the corresponding files' content.
|
||||
This is a very raw method of accessing the smapi values. When
|
||||
when using smapi, display contents of the /sys/devices/plat-
|
||||
form/smapi directory. ARGS are either '(FILENAME)' or 'bat (IN-
|
||||
DEX) (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_perc (INDEX)
|
||||
when using smapi, display the remaining capacity in percent of
|
||||
the battery with index INDEX. This is a separate variable be-
|
||||
when using smapi, display the remaining capacity in percent of
|
||||
the battery with index INDEX. This is a separate variable be-
|
||||
cause it supports the 'use_spacer' configuration option.
|
||||
|
||||
|
||||
smapi_bat_bar (INDEX),(height),(width)
|
||||
when using smapi, display the remaining capacity of the battery
|
||||
when using smapi, display the remaining capacity of the battery
|
||||
with index INDEX as a bar.
|
||||
|
||||
|
||||
@ -1230,36 +1237,36 @@ VARIABLES
|
||||
The connection index provides you with access to each connection
|
||||
in the port monitor. The monitor will return information for in-
|
||||
dex values from 0 to n-1 connections. Values higher than n-1 are
|
||||
simply ignored. For the "count" item, the connection index must
|
||||
simply ignored. For the "count" item, the connection index must
|
||||
be omitted. It is required for all other items.
|
||||
|
||||
Examples:
|
||||
${tcp_portmon 6881 6999 count} - displays the number of connec-
|
||||
${tcp_portmon 6881 6999 count} - displays the number of connec-
|
||||
tions in the bittorrent port range
|
||||
${tcp_portmon 22 22 rip 0} - displays the remote host ip of the
|
||||
${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
|
||||
${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
|
||||
${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 sin-
|
||||
gle port range for different items and different indexes all use
|
||||
the same monitor internally. In other words, the program avoids
|
||||
the same monitor internally. In other words, the program avoids
|
||||
creating redundant monitors.
|
||||
|
||||
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 updat-
|
||||
ing. You should make the interval slightly longer then 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 in-
|
||||
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 updat-
|
||||
ing. You should make the interval slightly longer then 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 in-
|
||||
terval at least 6 seconds. See also $execi.
|
||||
|
||||
|
||||
@ -1268,8 +1275,8 @@ VARIABLES
|
||||
|
||||
|
||||
rss url delay_in_minutes action item_num
|
||||
Download and parse RSS feeds. Action may be one of the follow-
|
||||
ing: feed_title, item_title (with num par), item_desc (with num
|
||||
Download and parse RSS feeds. Action may be one of the follow-
|
||||
ing: feed_title, item_title (with num par), item_desc (with num
|
||||
par) and item_titles.
|
||||
|
||||
|
||||
@ -1284,7 +1291,7 @@ VARIABLES
|
||||
|
||||
|
||||
time (format)
|
||||
Local time, see man strftime to get more information about for-
|
||||
Local time, see man strftime to get more information about for-
|
||||
mat
|
||||
|
||||
|
||||
@ -1293,23 +1300,23 @@ VARIABLES
|
||||
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
totaldown net
|
||||
Total download, overflows at 4 GB on Linux with 32-bit arch and
|
||||
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 al-
|
||||
ready done that before conky has started.
|
||||
|
||||
|
||||
top type, num
|
||||
This takes arguments in the form:top (name) (number) Basically,
|
||||
processes are ranked from highest to lowest in terms of cpu us-
|
||||
age, which is what (num) represents. The types are: "name",
|
||||
"pid", "cpu", "mem", and "time". There can be a max of 10 pro-
|
||||
This takes arguments in the form:top (name) (number) Basically,
|
||||
processes are ranked from highest to lowest in terms of cpu us-
|
||||
age, which is what (num) represents. The types are: "name",
|
||||
"pid", "cpu", "mem", and "time". There can be a max of 10 pro-
|
||||
cesses listed.
|
||||
|
||||
|
||||
@ -1333,9 +1340,9 @@ VARIABLES
|
||||
Upload speed in kilobytes with one decimal
|
||||
|
||||
|
||||
upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
|
||||
upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
|
||||
2) (scale)
|
||||
Upload speed graph, colours defined in hex, minus the #. If
|
||||
Upload speed graph, colours defined in hex, minus the #. If
|
||||
scale is non-zero, it becomes the scale for the graph.
|
||||
|
||||
|
||||
@ -1363,12 +1370,12 @@ VARIABLES
|
||||
|
||||
|
||||
voffset (pixels)
|
||||
Change vertical offset by N pixels. Negative values will cause
|
||||
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
|
||||
Returns CPU #n's voltage in mV. CPUs are counted from 1. If
|
||||
omitted, the parameter defaults to 1.
|
||||
|
||||
|
||||
@ -1496,11 +1503,11 @@ FILES
|
||||
BUGS
|
||||
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
|
||||
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.
|
||||
|
||||
SEE ALSO
|
||||
|
137
app-admin/conky/conky-1.5.0.ebuild
Normal file
137
app-admin/conky/conky-1.5.0.ebuild
Normal file
@ -0,0 +1,137 @@
|
||||
# Copyright 1999-2007 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
inherit eutils
|
||||
# used for epause
|
||||
|
||||
DESCRIPTION="An advanced, highly configurable system monitor for X"
|
||||
HOMEPAGE="http://conky.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/conky/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="audacious audacious-legacy bmpx debug hddtemp ipv6 mpd nano-syntax rss truetype vim-syntax
|
||||
smapi wifi X"
|
||||
|
||||
DEPEND_COMMON="
|
||||
virtual/libc
|
||||
X? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libXext
|
||||
x11-libs/libX11
|
||||
x11-libs/libSM
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXft
|
||||
truetype? ( >=media-libs/freetype-2 )
|
||||
audacious? ( >=media-sound/audacious-1.4.0 )
|
||||
audacious-legacy? ( <media-sound/audacious-1.4.0 )
|
||||
bmpx? ( media-sound/bmpx
|
||||
>=sys-apps/dbus-0.35
|
||||
)
|
||||
)
|
||||
rss? ( dev-libs/libxml2
|
||||
net-misc/curl
|
||||
)
|
||||
wifi? ( net-wireless/wireless-tools )
|
||||
!ipv6? ( >=dev-libs/glib-2.0 )"
|
||||
RDEPEND="${DEPEND_COMMON}
|
||||
hddtemp? ( app-admin/hddtemp )
|
||||
vim-syntax? ( || ( app-editors/vim
|
||||
app-editors/gvim ) )
|
||||
nano-syntax? ( app-editors/nano )"
|
||||
|
||||
DEPEND="
|
||||
${DEPEND_COMMON}
|
||||
X? (
|
||||
x11-libs/libXt
|
||||
x11-proto/xextproto
|
||||
x11-proto/xproto
|
||||
)"
|
||||
|
||||
pkg_setup() {
|
||||
if use audacious; then
|
||||
if has_version <media-sound/audacious-1.5.0 && ! built_with_use media-sound/audacious dbus; then
|
||||
eerror "media-sound/audacious is not built with dbus USE flag."
|
||||
eerror "Please add 'dbus' to your USE flags, and re-emerge media-sound/audacious."
|
||||
die "media-sound/audacious needs USE=dbus"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local mymake
|
||||
if useq ipv6 ; then
|
||||
ewarn "You have the ipv6 USE flag enabled. Please note that using"
|
||||
ewarn "the ipv6 USE flag with Conky disables the port monitor."
|
||||
epause
|
||||
else
|
||||
mymake="MPD_NO_IPV6=noipv6"
|
||||
fi
|
||||
local myconf
|
||||
myconf="--enable-proc-uptime"
|
||||
if useq X; then
|
||||
myconf="${myconf} --enable-x11 --enable-double-buffer --enable-xdamage --enable-own-window"
|
||||
myconf="${myconf} $(use_enable truetype xft)"
|
||||
else
|
||||
myconf="${myconf} --disable-x11 --disable-double-buffer --disable-xdamage --disable-own-window"
|
||||
myconf="${myconf} --disable-xft"
|
||||
fi
|
||||
if useq audacious-legacy; then
|
||||
myconf="${myconf} --enable-audacious=legacy"
|
||||
elif useq audacious; then
|
||||
myconf="${myconf} --enable-audacious"
|
||||
fi
|
||||
econf \
|
||||
${myconf} \
|
||||
$(use_enable bmpx) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable hddtemp ) \
|
||||
$(use_enable mpd) \
|
||||
$(use_enable rss) \
|
||||
$(use_enable smapi) \
|
||||
$(use_enable wifi wlan) \
|
||||
$(use_enable !ipv6 portmon) || die "econf failed"
|
||||
emake ${mymake} || die "compile failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die "make install failed"
|
||||
dodoc ChangeLog AUTHORS README
|
||||
dohtml doc/docs.html doc/config_settings.html doc/variables.html
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${S}"/extras/vim/ftdetect/conkyrc.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins "${S}"/extras/vim/syntax/conkyrc.vim
|
||||
fi
|
||||
|
||||
if use nano-syntax; then
|
||||
insinto /usr/share/nano/
|
||||
doins "${S}"/extras/nano/conky.nanorc
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You can find the sample configuration file at"
|
||||
elog "/etc/conky/conky.conf. To customize it, copy"
|
||||
elog "/etc/conky/conky.conf to ~/.conkyrc and edit"
|
||||
elog "it to your liking."
|
||||
elog
|
||||
elog "For more info on Conky's new features,"
|
||||
elog "please look at the README and ChangeLog:"
|
||||
elog "/usr/share/doc/${PF}/README.bz2"
|
||||
elog "/usr/share/doc/${PF}/ChangeLog.bz2"
|
||||
elog "There are also pretty html docs available"
|
||||
elog "on Conky's site or in /usr/share/doc/${PF}"
|
||||
elog
|
||||
elog "Also see http://www.gentoo.org/doc/en/conky-howto.xml"
|
||||
elog
|
||||
elog "Vim syntax highlighting for conkyrc now enabled with"
|
||||
elog "USE=vim-syntax, for Nano with USE=nano-syntax"
|
||||
elog
|
||||
}
|
@ -24,6 +24,8 @@ endif
|
||||
|
||||
man_MANS = conky.1
|
||||
|
||||
EXTRA_DIST = $(DOCS) conkyrc.sample command_options.xml config_settings.xml docgen.sh docs.xml variables.xml variables.xsl config_settings.xsl
|
||||
sysconf_SYSCONFS = conky.conf
|
||||
|
||||
EXTRA_DIST = $(DOCS) conky.conf command_options.xml config_settings.xml docgen.sh docs.xml variables.xml variables.xsl config_settings.xsl
|
||||
|
||||
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
|
||||
|
14
doc/conky.1
14
doc/conky.1
@ -675,11 +675,6 @@ Total size of system entropy pool for crypto freaks
|
||||
\fB\*(T<\fBexec\fR\*(T>\fR \*(T<\fBcommand\fR\*(T>
|
||||
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 and posting a patch.
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBexecp\fR\*(T>\fR \*(T<\fBcommand\fR\*(T>
|
||||
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 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.
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBexecbar\fR\*(T>\fR \*(T<\fBcommand\fR\*(T>
|
||||
Same as exec, except if the first value return is a value between 0-100, it will use that number for a bar. The size for the bar is currently fixed, but that may change in the future.
|
||||
@ -700,6 +695,15 @@ Same as execbar, except with an interval
|
||||
\fB\*(T<\fBexecigraph\fR\*(T>\fR \*(T<\fBinterval command\fR\*(T>
|
||||
Same as execigraph, but takes an interval arg graphs values
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBexecp\fR\*(T>\fR \*(T<\fBcommand\fR\*(T>
|
||||
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 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.
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBexecpi\fR\*(T>\fR \*(T<\fBinterval command\fR\*(T>
|
||||
Same as execp but with specific interval. Interval can't be less than update_interval in configuration. Note that the output from the $execpi command is still parsed and evaluated at every interval.
|
||||
|
||||
.TP
|
||||
\fB\*(T<\fBfont\fR\*(T>\fR \*(T<\fB(font)\fR\*(T>
|
||||
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)
|
||||
|
@ -647,17 +647,6 @@
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command><option>execp</option></command>
|
||||
<option>command</option>
|
||||
</term>
|
||||
<listitem>
|
||||
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 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.
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command><option>execbar</option></command>
|
||||
@ -708,6 +697,27 @@
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command><option>execp</option></command>
|
||||
<option>command</option>
|
||||
</term>
|
||||
<listitem>
|
||||
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 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.
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command><option>execpi</option></command>
|
||||
<option>interval command</option>
|
||||
</term>
|
||||
<listitem>
|
||||
Same as execp but with specific interval. Interval can't be less than update_interval in configuration. Note that the output from the $execpi command is still parsed and evaluated at every interval.
|
||||
<para></para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<command><option>font</option></command>
|
||||
|
@ -1,5 +1,5 @@
|
||||
##
|
||||
## Syntax highlighting for conky .rc files.
|
||||
## Syntax highlighting for conkyrc files.
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
@ -69,6 +69,7 @@ syn keyword ConkyrcConstant
|
||||
\ below
|
||||
\ bottom_left
|
||||
\ bottom_right
|
||||
\ bottom_middle
|
||||
\ desktop
|
||||
\ no
|
||||
\ none
|
||||
@ -79,6 +80,9 @@ syn keyword ConkyrcConstant
|
||||
\ sticky
|
||||
\ top_left
|
||||
\ top_right
|
||||
\ top_middle
|
||||
\ middle_left
|
||||
\ middle_right
|
||||
\ undecorated
|
||||
\ yes
|
||||
|
||||
@ -150,6 +154,7 @@ syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipw
|
||||
\ execi
|
||||
\ execibar
|
||||
\ execigraph
|
||||
\ execp
|
||||
\ font
|
||||
\ freq
|
||||
\ freq_dyn
|
||||
|
69
src/conky.c
69
src/conky.c
@ -79,7 +79,7 @@ static void print_version()
|
||||
printf("Conky %s compiled %s for %s\n", VERSION, BUILD_DATE, BUILD_ARCH);
|
||||
|
||||
printf("\nCompiled in features:\n\n"
|
||||
"system config file: %s\n\n"
|
||||
"System config file: %s\n\n"
|
||||
#ifdef X11
|
||||
" X11:\n"
|
||||
# ifdef HAVE_XDAMAGE
|
||||
@ -1097,13 +1097,14 @@ enum text_object_type {
|
||||
OBJ_endif,
|
||||
OBJ_image,
|
||||
OBJ_exec,
|
||||
OBJ_execp,
|
||||
OBJ_execi,
|
||||
OBJ_texeci,
|
||||
OBJ_execbar,
|
||||
OBJ_execgraph,
|
||||
OBJ_execibar,
|
||||
OBJ_execigraph,
|
||||
OBJ_execp,
|
||||
OBJ_execpi,
|
||||
OBJ_freq,
|
||||
OBJ_freq_g,
|
||||
OBJ_freq_dyn,
|
||||
@ -2031,17 +2032,11 @@ static void free_text_objects(unsigned int count, struct text_object *objs)
|
||||
case OBJ_font:
|
||||
case OBJ_image:
|
||||
case OBJ_exec:
|
||||
case OBJ_execp:
|
||||
case OBJ_execbar:
|
||||
case OBJ_execgraph:
|
||||
case OBJ_execp:
|
||||
free(objs[i].data.s);
|
||||
break;
|
||||
/* case OBJ_execibar:
|
||||
free(objs[i].data.s);
|
||||
break;
|
||||
case OBJ_execigraph:
|
||||
free(objs[i].data.s);
|
||||
break; */
|
||||
#ifdef HAVE_ICONV
|
||||
case OBJ_iconv_start:
|
||||
free_iconv();
|
||||
@ -2148,7 +2143,10 @@ static void free_text_objects(unsigned int count, struct text_object *objs)
|
||||
free(objs[i].data.s);
|
||||
break;
|
||||
#endif /* !__OpenBSD__ */
|
||||
case OBJ_execpi:
|
||||
case OBJ_execi:
|
||||
case OBJ_execibar:
|
||||
case OBJ_execigraph:
|
||||
free(objs[i].data.execi.cmd);
|
||||
free(objs[i].data.execi.buffer);
|
||||
break;
|
||||
@ -2157,11 +2155,6 @@ static void free_text_objects(unsigned int count, struct text_object *objs)
|
||||
free(objs[i].data.texeci.buffer);
|
||||
break;
|
||||
case OBJ_top:
|
||||
if (info.first_process) {
|
||||
free_all_processes();
|
||||
info.first_process = NULL;
|
||||
}
|
||||
break;
|
||||
case OBJ_top_mem:
|
||||
if (info.first_process) {
|
||||
free_all_processes();
|
||||
@ -2700,7 +2693,21 @@ static struct text_object *construct_text_object(const char *s,
|
||||
obj->data.s = strdup(buf);
|
||||
} else {
|
||||
obj->data.execi.cmd = strdup(arg + n);
|
||||
obj->data.execi.buffer = (char *) calloc(1, text_buffer_size);
|
||||
obj->data.execi.buffer = malloc(text_buffer_size);
|
||||
}
|
||||
END OBJ(execpi, 0)
|
||||
unsigned int n;
|
||||
|
||||
if (!arg || sscanf(arg, "%f %n", &obj->data.execi.interval, &n) <= 0) {
|
||||
char buf[256];
|
||||
|
||||
ERR("${execi <interval> command}");
|
||||
obj->type = OBJ_text;
|
||||
snprintf(buf, 256, "${%s}", s);
|
||||
obj->data.s = strdup(buf);
|
||||
} else {
|
||||
obj->data.execi.cmd = strdup(arg + n);
|
||||
obj->data.execi.buffer = malloc(text_buffer_size);
|
||||
}
|
||||
END OBJ(texeci, 0)
|
||||
unsigned int n;
|
||||
@ -2714,7 +2721,7 @@ static struct text_object *construct_text_object(const char *s,
|
||||
obj->data.s = strdup(buf);
|
||||
} else {
|
||||
obj->data.texeci.cmd = strdup(arg + n);
|
||||
obj->data.texeci.buffer = (char *) calloc(1, text_buffer_size);
|
||||
obj->data.texeci.buffer = malloc(text_buffer_size);
|
||||
}
|
||||
obj->data.texeci.p_timed_thread = NULL;
|
||||
END OBJ(pre_exec, 0)
|
||||
@ -4719,7 +4726,6 @@ static void generate_text_internal(char *p, int p_max_size,
|
||||
char *output = obj->data.execi.buffer;
|
||||
FILE *fp = popen(obj->data.execi.cmd, "r");
|
||||
|
||||
// int length = fread(output, 1, text_buffer_size, fp);
|
||||
int length = fread(output, 1, text_buffer_size, fp);
|
||||
|
||||
pclose(fp);
|
||||
@ -4732,6 +4738,35 @@ static void generate_text_internal(char *p, int p_max_size,
|
||||
}
|
||||
// parse_conky_vars(output, p, cur);
|
||||
}
|
||||
OBJ(execpi) {
|
||||
struct information *my_info =
|
||||
malloc(sizeof(struct information));
|
||||
memcpy(my_info, cur, sizeof(struct information));
|
||||
struct text_object_list *text_objects = 0;
|
||||
|
||||
if (current_update_time - obj->data.execi.last_update
|
||||
< obj->data.execi.interval
|
||||
|| obj->data.execi.interval == 0) {
|
||||
text_objects = parse_conky_vars(obj->data.execi.buffer, p, my_info);
|
||||
} else {
|
||||
char *output = obj->data.execi.buffer;
|
||||
FILE *fp = popen(obj->data.execi.cmd, "r");
|
||||
int length = fread(output, 1, text_buffer_size, fp);
|
||||
|
||||
pclose(fp);
|
||||
|
||||
output[length] = '\0';
|
||||
if (length > 0 && output[length - 1] == '\n') {
|
||||
output[length - 1] = '\0';
|
||||
}
|
||||
|
||||
text_objects = parse_conky_vars(obj->data.execi.buffer, p, my_info);
|
||||
obj->data.execi.last_update = current_update_time;
|
||||
}
|
||||
free_text_objects(text_objects->text_object_count, text_objects->text_objects);
|
||||
free(text_objects);
|
||||
free(my_info);
|
||||
}
|
||||
OBJ(texeci) {
|
||||
if (!obj->data.texeci.p_timed_thread) {
|
||||
obj->data.texeci.p_timed_thread =
|
||||
|
Loading…
Reference in New Issue
Block a user