1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-11-05 21:07:52 +00:00

* Added patch for the following (thanks larsko):

* New $loadgraph to show a graph of load averages,
* add "show_graph_scale" option to turn off/on the showing of the
current max value for the graph,
* minor code fixes,
* update nano and vim syntax highlighting stuff.

git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1104 7f574dfc-610e-0410-a909-a81674777703
This commit is contained in:
Brenden Matthews 2008-04-13 04:10:35 +00:00
parent 4d7ecc7951
commit 801cf11545
10 changed files with 178 additions and 76 deletions

View File

@ -1,5 +1,13 @@
# $Id$ # $Id$
2008-04-12
* Added patch for the following (thanks larsko):
* New $loadgraph to show a graph of load averages,
* add "show_graph_scale" option to turn off/on the showing of the
current max value for the graph,
* minor code fixes,
* update nano and vim syntax highlighting stuff.
2008-04-10 2008-04-10
* Getting rid of goto usage throughout code. * Getting rid of goto usage throughout code.
* Fix bug due to usage of gethostbyname() in threads (which is not * Fix bug due to usage of gethostbyname() in threads (which is not

135
README
View File

@ -388,6 +388,10 @@ CONFIGURATION SETTINGS
fault is off. fault is off.
show_graph_scale
Shows the maximum value in scaled graphs.
stippled_borders stippled_borders
Border stippling (dashing) in pixels Border stippling (dashing) in pixels
@ -1036,21 +1040,26 @@ VARIABLES
5 minutes and 3 for past 15 minutes. 5 minutes and 3 for past 15 minutes.
loadgraph (height),(width) (gradient colour 1) (gradient colour 2)
Load1 average graph, similar to xload, with optional colours in
hex, minus the #.
machine machine
Machine, i686 for example Machine, i686 for example
mails (mailbox) (interval) mails (mailbox) (interval)
Mail count in the specified mailbox or your mail spool if not. Mail count in the specified mailbox or your mail spool if not.
Both mbox and maildir type mailboxes are supported. You can use Both mbox and maildir type mailboxes are supported. You can use
a program like fetchmail to get mails from some server using a program like fetchmail to get mails from some server using
your favourite protocol. See also new_mails. your favourite protocol. See also new_mails.
mboxscan (-n number of messages to print) (-fw from width) (-sw subject mboxscan (-n number of messages to print) (-fw from width) (-sw subject
width) mbox width) mbox
Print a summary of recent messages in an mbox format mailbox. Print a summary of recent messages in an mbox format mailbox.
mbox parameter is the filename of the mailbox (can be encapsu- mbox parameter is the filename of the mailbox (can be encapsu-
lated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"} lated using '"', ie. ${mboxscan -n 10 "/home/brenden/some box"}
@ -1134,7 +1143,7 @@ VARIABLES
nameserver (index) nameserver (index)
Print a nameserver from /etc/resolv.conf. Index starts at and Print a nameserver from /etc/resolv.conf. Index starts at and
defaults to 0. defaults to 0.
@ -1153,26 +1162,26 @@ VARIABLES
pb_battery item pb_battery item
If running on Apple powerbook/ibook, display information on bat- 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: display. Exactly one item must be specified. Valid items are:
status: Display if battery is fully charged, charging, discharg- status: Display if battery is fully charged, charging, discharg-
ing or absent (running on AC) ing or absent (running on AC)
percent: Display charge of battery in percent, if charging or percent: Display charge of battery in percent, if charging or
discharging. Nothing will be displayed, if battery is fully discharging. Nothing will be displayed, if battery is fully
charged or absent. charged or absent.
time: Display the time remaining until the battery will be fully time: Display the time remaining until the battery will be fully
charged or discharged at current rate. Nothing is displayed, if charged or discharged at current rate. Nothing is displayed, if
battery is absent or if it's present but fully charged and not battery is absent or if it's present but fully charged and not
discharging. discharging.
platform (dev) type n platform (dev) type n
Platform sensor from sysfs (Linux 2.6). Parameter dev may be Platform sensor from sysfs (Linux 2.6). Parameter dev may be
omitted if you have only one platform device. Platform type is omitted if you have only one platform device. Platform type is
either 'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp' either 'in' or 'vol' meaning voltage; 'fan' meaning fan; 'temp'
(Celsius) or 'tempf' (Fahrenheit) meaning temperature. Parameter (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. your local computer.
@ -1180,17 +1189,17 @@ VARIABLES
Displays the number of unseen messages in your global POP3 inbox Displays the number of unseen messages in your global POP3 inbox
by default. You can define individual POP3 inboxes seperately by by default. You can define individual POP3 inboxes seperately by
passing arguments to this object. Arguments are: "host user pass 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 '*', fault interval is 5 minutes. If the password is supplied as '*',
you will be prompted to enter the password when Conky starts. you will be prompted to enter the password when Conky starts.
pop3_used (args) pop3_used (args)
Displays the amount of space (in MiB, 2^20) used in your global Displays the amount of space (in MiB, 2^20) used in your global
POP3 inbox by default. You can define individual POP3 inboxes POP3 inbox by default. You can define individual POP3 inboxes
seperately by passing arguments to this object. Arguments are: seperately by passing arguments to this object. Arguments are:
"host user pass [-i interval] [-p port] [-e command]". Default "host user pass [-i interval] [-p port] [-e command]". Default
port is 110, default interval is 5 minutes. If the password is port is 110, default interval is 5 minutes. If the password is
supplied as '*', you will be prompted to enter the password when supplied as '*', you will be prompted to enter the password when
Conky starts. Conky starts.
@ -1213,21 +1222,21 @@ VARIABLES
smapi (ARGS) smapi (ARGS)
when using smapi, display contents of the /sys/devices/plat- when using smapi, display contents of the /sys/devices/plat-
form/smapi directory. ARGS are either '(FILENAME)' or 'bat (IN- form/smapi directory. ARGS are either '(FILENAME)' or 'bat (IN-
DEX) (FILENAME)' to display the corresponding files' content. DEX) (FILENAME)' to display the corresponding files' content.
This is a very raw method of accessing the smapi values. When This is a very raw method of accessing the smapi values. When
available, better use one of the smapi_* variables instead. available, better use one of the smapi_* variables instead.
smapi_bat_perc (INDEX) smapi_bat_perc (INDEX)
when using smapi, display the remaining capacity in percent of when using smapi, display the remaining capacity in percent of
the battery with index INDEX. This is a separate variable be- the battery with index INDEX. This is a separate variable be-
cause it supports the 'use_spacer' configuration option. cause it supports the 'use_spacer' configuration option.
smapi_bat_bar (INDEX),(height),(width) 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. with index INDEX as a bar.
@ -1271,36 +1280,36 @@ VARIABLES
The connection index provides you with access to each connection The connection index provides you with access to each connection
in the port monitor. The monitor will return information for in- 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 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. be omitted. It is required for all other items.
Examples: 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 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 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 tenth sshd connection
${tcp_portmon 1 1024 rhost 0} - displays the remote host name of ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
the first connection on a privileged port the first connection on a privileged port
${tcp_portmon 1 1024 rport 4} - displays the remote host port of ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
the fifth connection on a privileged port 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 name of the fifteenth connection in the range of all ports
Note that port monitor variables which share the same port range Note that port monitor variables which share the same port range
actually refer to the same monitor, so many references to a sin- actually refer to the same monitor, so many references to a sin-
gle port range for different items and different indexes all use 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. creating redundant monitors.
texeci interval command texeci interval command
Runs a command at an interval inside a thread and displays the Runs a command at an interval inside a thread and displays the
output. Same as $execi, except the command is run inside a output. Same as $execi, except the command is run inside a
thread. Use this if you have a slow script to keep Conky updat- thread. Use this if you have a slow script to keep Conky updat-
ing. You should make the interval slightly longer then the time ing. You should make the interval slightly longer then the time
it takes your script to execute. For example, if you have a it takes your script to execute. For example, if you have a
script that take 5 seconds to execute, you should make the in- script that take 5 seconds to execute, you should make the in-
terval at least 6 seconds. See also $execi. terval at least 6 seconds. See also $execi.
@ -1309,8 +1318,8 @@ VARIABLES
rss url delay_in_minutes action item_num rss url delay_in_minutes action item_num
Download and parse RSS feeds. Action may be one of the follow- Download and parse RSS feeds. Action may be one of the follow-
ing: feed_title, item_title (with num par), item_desc (with num ing: feed_title, item_title (with num par), item_desc (with num
par) and item_titles. par) and item_titles.
@ -1325,7 +1334,7 @@ VARIABLES
time (format) 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 mat
@ -1334,23 +1343,23 @@ VARIABLES
tztime (timezone) (format) tztime (timezone) (format)
Local time for specified timezone, see man strftime to get more Local time for specified timezone, see man strftime to get more
information about format. The timezone argument is specified in information about format. The timezone argument is specified in
similar fashion as TZ environment variable. For hints, look in similar fashion as TZ environment variable. For hints, look in
/usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc. /usr/share/zoneinfo. e.g. US/Pacific, Europe/Zurich, etc.
totaldown net 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- there doesn't seem to be a way to know how many times it has al-
ready done that before conky has started. ready done that before conky has started.
top type, num top type, num
This takes arguments in the form:top (name) (number) Basically, This takes arguments in the form:top (name) (number) Basically,
processes are ranked from highest to lowest in terms of cpu us- processes are ranked from highest to lowest in terms of cpu us-
age, which is what (num) represents. The types are: "name", age, which is what (num) represents. The types are: "name",
"pid", "cpu", "mem", "mem_res", "mem_vsize", and "time". There "pid", "cpu", "mem", "mem_res", "mem_vsize", and "time". There
can be a max of 10 processes listed. can be a max of 10 processes listed.
@ -1374,9 +1383,9 @@ VARIABLES
Upload speed in kilobytes with one decimal 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) 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. scale is non-zero, it becomes the scale for the graph.
@ -1404,12 +1413,12 @@ VARIABLES
voffset (pixels) 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. text to overlap. See also $offset.
voltage_mv (n) 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. omitted, the parameter defaults to 1.
@ -1537,13 +1546,13 @@ FILES
BUGS BUGS
Drawing to root or some other desktop window directly doesn't work with 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 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 been reported that it doesn't work with KDE either. Nautilus can be
disabled from drawing to desktop with program gconf-editor. Uncheck disabled from drawing to desktop with program gconf-editor. Uncheck
show_desktop in /apps/nautilus/preferences/. There is -w switch in show_desktop in /apps/nautilus/preferences/. There is -w switch in
Conky to set some specific window id. You might find xwininfo -tree 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 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 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 in its own window, be sure to read up on the own_window_type settings
and experiment. and experiment.
SEE ALSO SEE ALSO
@ -1554,11 +1563,11 @@ SEE ALSO
#conky on irc.freenode.net #conky on irc.freenode.net
COPYING COPYING
Copyright (c) 2005-2008 Brenden Matthews, Philip Kovacs, et. al. Any Copyright (c) 2005-2008 Brenden Matthews, Philip Kovacs, et. al. Any
original torsmo code is licensed under the BSD license (see LICENSE.BSD 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 un- for a copy). All code written since the fork of torsmo is licensed un-
der the GPL (see LICENSE.GPL for a copy), except where noted different- der the GPL (see LICENSE.GPL for a copy), except where noted different-
ly (such as in portmon code, timed thread code, and audacious code ly (such as in portmon code, timed thread code, and audacious code
which are LGPL, and prss which is an MIT-style license). which are LGPL, and prss which is an MIT-style license).
AUTHORS AUTHORS

View File

@ -49,6 +49,7 @@ stippled_borders 0
update_interval 3.0 update_interval 3.0
uppercase no uppercase no
use_spacer no use_spacer no
show_graph_scale no
TEXT TEXT
$nodename - $sysname $kernel on $machine $nodename - $sysname $kernel on $machine

View File

@ -392,6 +392,13 @@
<para></para></listitem> <para></para></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><command><option>show_graph_scale</option></command></term>
<listitem>
Shows the maximum value in scaled graphs.
<para></para></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><command><option>stippled_borders</option></command></term> <term><command><option>stippled_borders</option></command></term>
<listitem> <listitem>

View File

@ -362,6 +362,10 @@ Default global POP3 server. Arguments are: "host user pass [-i interval] [-p por
\fB\*(T<\fBshort_units\fR\*(T>\fR \fB\*(T<\fBshort_units\fR\*(T>\fR
Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off. Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off.
.TP
\fB\*(T<\fBshow_graph_scale\fR\*(T>\fR
Shows the maximum value in scaled graphs.
.TP .TP
\fB\*(T<\fBstippled_borders\fR\*(T>\fR \fB\*(T<\fBstippled_borders\fR\*(T>\fR
Border stippling (dashing) in pixels Border stippling (dashing) in pixels
@ -917,6 +921,10 @@ The value of /proc/sys/vm/laptop_mode
\fB\*(T<\fBloadavg\fR\*(T>\fR \fB\*(T<\fBloadavg\fR\*(T>\fR
(1,2,3)> System load average, 1 is for past 1 minute, 2 for past 5 minutes and 3 for past 15 minutes. (1,2,3)> System load average, 1 is for past 1 minute, 2 for past 5 minutes and 3 for past 15 minutes.
.TP
\fB\*(T<\fBloadgraph\fR\*(T>\fR \*(T<\fB(height),(width) (gradient colour 1) (gradient colour 2)\fR\*(T>
Load1 average graph, similar to xload, with optional colours in hex, minus the #.
.TP .TP
\fB\*(T<\fBmachine\fR\*(T>\fR \fB\*(T<\fBmachine\fR\*(T>\fR
Machine, i686 for example Machine, i686 for example

View File

@ -125,6 +125,9 @@ override_utf8_locale no
# Add spaces to keep things from moving about? This only affects certain objects. # Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none use_spacer none
# Shows the maximum value in scaled graphs.
show_graph_scale no
# Allow each port monitor to track at most this many connections (if 0 or not set, default is 256) # Allow each port monitor to track at most this many connections (if 0 or not set, default is 256)
#max_port_monitor_connections 256 #max_port_monitor_connections 256

View File

@ -1215,6 +1215,16 @@
<para></para></listitem> <para></para></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<command><option>loadgraph</option></command>
<option>(height),(width) (gradient colour 1) (gradient colour 2)</option>
</term>
<listitem>
Load1 average graph, similar to xload, with optional colours in hex, minus the #.
<para></para></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<command><option>machine</option></command> <command><option>machine</option></command>

View File

@ -6,10 +6,10 @@
syntax "conky" "(\.*conkyrc.*$|conky.conf)" syntax "conky" "(\.*conkyrc.*$|conky.conf)"
## Configuration items ## Configuration items
color green "\<(alignment|background|border_margin|border_width|cpu_avg_samples|default_color|default_shade_color|default_outline_color|double_buffer|draw_borders|draw_graph_borders|draw_shades|draw_outline|font|gap_x|gap_y|imap|mail_spool|max_port_monitor_connections|max_specials|max_user_text|maximum_width|minimum_size|mpd_host|mpd_port|mpd_password|music_player_interval|net_avg_samples|no_buffers|out_to_console|override_utf8_locale|own_window|own_window_class|own_window_colour|own_window_hints|own_window_title|own_window_transparent|own_window_type|pad_percents|pop3|stippled_borders|total_run_times|update_interval|uppercase|use_spacer|use_xft|xftalpha|xftfont)\>" color green "\<(alignment|background|border_margin|border_width|cpu_avg_samples|default_color|default_shade_color|default_outline_color|double_buffer|draw_borders|draw_graph_borders|draw_shades|draw_outline|font|gap_x|gap_y|imap|mail_spool|max_port_monitor_connections|max_specials|max_user_text|maximum_width|minimum_size|mpd_host|mpd_port|mpd_password|music_player_interval|net_avg_samples|no_buffers|out_to_console|override_utf8_locale|own_window|own_window_class|own_window_colour|own_window_hints|own_window_title|own_window_transparent|own_window_type|pad_percents|pop3|show_graph_scale|stippled_borders|total_run_times|update_interval|uppercase|use_spacer|use_xft|xftalpha|xftfont)\>"
## Variables ## Variables
color brightblue "\<(acpiacadapter|acpifan|acpitemp|acpitempf|addr|adt746xcpu|adt746xfan|align|alignr|apm_adapter|apm_battery_life|apm_battery_time|audacious_bar|audacious_bitrate|audacious_channels|audacious_filename|audacious_frequency|audacious_length|audacious_length_seconds|audacious_playlist_length|audacious_playlist_position|audacious_position|audacious_position_seconds|audacious_status|audacious_title|battery|battery_time|bmpx_album|bmpx_artist|bmpx_bitrate|bmpx_title|bmpx_track|bmpx_uri|buffers|cached|color|colour|cpu|cpubar|cpugraph|diskio|diskiograph|downspeed|downspeedf|downspeedgraph|else|entropy_avail|entropy_bar|entropy_poolsize|exec|execbar|execgraph|execi|execibar|execigraph|font|freq|freq_dyn|freq_dyn_g|freq_g|fs_bar|fs_free|fs_free_perc|fs_size|fs_used|goto|hddtemp|head|hr|hwmon|i2c|i8k_ac_status|i8k_bios|i8k_buttons_status|i8k_cpu_temp|i8k_cpu_tempf|i8k_left_fan_rpm|i8k_left_fan_status|i8k_right_fan_rpm|i8k_right_fan_status|i8k_serial|i8k_version|if_existing|if_running|if_mounted|kernel|linkstatus|loadavg|machine|mails|mem|membar|memmax|memperc|mpd_album|mpd_artist|mpd_bar|mpd_bitrate|mpd_elapsed|mpd_file|mpd_length|mpd_name|mpd_percent|mpd_smart|mpd_status|mpd_title|mpd_vol|new_mails|nodename|offset|outlinecolor|platform|pre_exec|processes|running_processes|shadecolor|stippled_hr|swap|swapbar|swapmax|swapperc|sysname|tab|tail|tcp_portmon|texeci|time|top|top_mem|totaldown|totalup|tztime|updates|upspeed|upspeedf|upspeedgraph|uptime|uptime_short|voffset|voltage_mv|voltage_v|xmms2_artist|xmms2_album|xmms2_title|xmms2_genre|xmms2_comment|xmms2_url|xmms2_tracknr|xmms2_bitrate|xmms2_id|xmms2_duration|xmms2_elapsed|xmms2_size|xmms2_percent|xmms2_status|xmms2_bar|xmms2_smart|xmms2_date|xmms2_timesplayed|xmms2_playlist)\>" color brightblue "\<(acpiacadapter|acpifan|acpitemp|acpitempf|addr|adt746xcpu|adt746xfan|align|alignr|apm_adapter|apm_battery_life|apm_battery_time|audacious_bar|audacious_bitrate|audacious_channels|audacious_filename|audacious_frequency|audacious_length|audacious_length_seconds|audacious_playlist_length|audacious_playlist_position|audacious_position|audacious_position_seconds|audacious_status|audacious_title|battery|battery_time|bmpx_album|bmpx_artist|bmpx_bitrate|bmpx_title|bmpx_track|bmpx_uri|buffers|cached|color|colour|cpu|cpubar|cpugraph|diskio|diskiograph|downspeed|downspeedf|downspeedgraph|else|entropy_avail|entropy_bar|entropy_poolsize|exec|execbar|execgraph|execi|execibar|execigraph|font|freq|freq_dyn|freq_dyn_g|freq_g|fs_bar|fs_free|fs_free_perc|fs_size|fs_used|goto|hddtemp|head|hr|hwmon|i2c|i8k_ac_status|i8k_bios|i8k_buttons_status|i8k_cpu_temp|i8k_cpu_tempf|i8k_left_fan_rpm|i8k_left_fan_status|i8k_right_fan_rpm|i8k_right_fan_status|i8k_serial|i8k_version|if_existing|if_running|if_mounted|kernel|linkstatus|loadavg|loadgraph|machine|mails|mem|membar|memmax|memperc|mpd_album|mpd_artist|mpd_bar|mpd_bitrate|mpd_elapsed|mpd_file|mpd_length|mpd_name|mpd_percent|mpd_smart|mpd_status|mpd_title|mpd_vol|new_mails|nodename|offset|outlinecolor|platform|pre_exec|processes|running_processes|shadecolor|stippled_hr|swap|swapbar|swapmax|swapperc|sysname|tab|tail|tcp_portmon|texeci|time|top|top_mem|totaldown|totalup|tztime|updates|upspeed|upspeedf|upspeedgraph|uptime|uptime_short|voffset|voltage_mv|voltage_v|wireless_essid|wireless_mode|wireless_bitrate|wireless_ap|wireless_link_qual|wireless_link_qual_max|wireless_link_qual_perc|wireless_link_bar|xmms2_artist|xmms2_album|xmms2_title|xmms2_genre|xmms2_comment|xmms2_url|xmms2_tracknr|xmms2_bitrate|xmms2_id|xmms2_duration|xmms2_elapsed|xmms2_size|xmms2_percent|xmms2_status|xmms2_bar|xmms2_smart|xmms2_date|xmms2_timesplayed|xmms2_playlist)\>"
color brightblue "\$\{?[0-9A-Z_!@#$*?-]+\}?" color brightblue "\$\{?[0-9A-Z_!@#$*?-]+\}?"
color cyan "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" color cyan "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color brightred "^TEXT$" color brightred "^TEXT$"

View File

@ -54,6 +54,7 @@ syn keyword ConkyrcSetting
\ own_window_type \ own_window_type
\ pad_percents \ pad_percents
\ pop3 \ pop3
\ show_graph_scale
\ stippled_borders \ stippled_borders
\ total_run_times \ total_run_times
\ update_interval \ update_interval
@ -188,6 +189,7 @@ syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipw
\ kernel \ kernel
\ linkstatus \ linkstatus
\ loadavg \ loadavg
\ loadgraph
\ machine \ machine
\ mails \ mails
\ mem \ mem
@ -241,6 +243,14 @@ syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipw
\ voffset \ voffset
\ voltage_mv \ voltage_mv
\ voltage_v \ voltage_v
\ wireless_essid
\ wireless_mode
\ wireless_bitrate
\ wireless_ap
\ wireless_link_qual
\ wireless_link_qual_max
\ wireless_link_qual_perc
\ wireless_link_bar
\ xmms2_artist \ xmms2_artist
\ xmms2_album \ xmms2_album
\ xmms2_title \ xmms2_title

View File

@ -334,6 +334,8 @@ static int cpu_avg_samples, net_avg_samples;
#ifdef X11 #ifdef X11
static int show_graph_scale;
/* Position on the screen */ /* Position on the screen */
static int text_alignment; static int text_alignment;
static int gap_x, gap_y; static int gap_x, gap_y;
@ -522,6 +524,7 @@ struct special_t {
long arg; long arg;
double *graph; double *graph;
double graph_scale; double graph_scale;
short show_scale;
int graph_width; int graph_width;
int scaled; int scaled;
unsigned long first_colour; // for graph gradient unsigned long first_colour; // for graph gradient
@ -782,8 +785,10 @@ static void new_graph(char *buf, int w, int h, unsigned int first_colour,
} */ } */
if (s->scaled) { if (s->scaled) {
s->graph_scale = 1; s->graph_scale = 1;
s->show_scale = 1;
} else { } else {
s->graph_scale = scale; s->graph_scale = scale;
s->show_scale = 0;
} }
if (append) { if (append) {
graph_append(s, i); graph_append(s, i);
@ -1089,6 +1094,7 @@ enum text_object_type {
OBJ_cpu, OBJ_cpu,
OBJ_cpubar, OBJ_cpubar,
OBJ_cpugraph, OBJ_cpugraph,
OBJ_loadgraph,
OBJ_diskio, OBJ_diskio,
OBJ_diskio_read, OBJ_diskio_read,
OBJ_diskio_write, OBJ_diskio_write,
@ -1433,6 +1439,9 @@ struct text_object {
char *addr; char *addr;
int port; int port;
char *dev; char *dev;
double update_time;
char *temp;
char unit;
} hddtemp; /* 2 */ } hddtemp; /* 2 */
#endif #endif
#ifdef RSS #ifdef RSS
@ -2623,6 +2632,17 @@ static struct text_object *construct_text_object(const char *s,
} }
free(buf); free(buf);
} }
END OBJ(loadgraph, INFO_LOADAVG)
char *buf = scan_graph(arg, &obj->a, &obj->b, &obj->c, &obj->d,
&obj->e);
if (buf) {
int a = 1, r = 3;
if (arg) {
r = sscanf(arg, "%d", &a);
}
obj->data.loadavg[0] = (r >= 1) ? (unsigned char) a : 0;
free(buf);
}
END OBJ(diskio, INFO_DISKIO) END OBJ(diskio, INFO_DISKIO)
if (arg) { if (arg) {
obj->data.diskio = prepare_diskio_stat(DEV_NAME(arg)); obj->data.diskio = prepare_diskio_stat(DEV_NAME(arg));
@ -3756,6 +3776,7 @@ static struct text_object *construct_text_object(const char *s,
ERR("hddtemp needs arguments"); ERR("hddtemp needs arguments");
obj->type = OBJ_text; obj->type = OBJ_text;
obj->data.s = strndup("${hddtemp}", text_buffer_size); obj->data.s = strndup("${hddtemp}", text_buffer_size);
obj->data.hddtemp.update_time = 0;
return NULL; return NULL;
} }
#endif #endif
@ -4351,7 +4372,7 @@ static void generate_text_internal(char *p, int p_max_size,
if (obj->data.cpu_index > info.cpu_count) { if (obj->data.cpu_index > info.cpu_count) {
printf("obj->data.cpu_index %i info.cpu_count %i", printf("obj->data.cpu_index %i info.cpu_count %i",
obj->data.cpu_index, info.cpu_count); obj->data.cpu_index, info.cpu_count);
CRIT_ERR("attempting to use more CPUs then you have!"); CRIT_ERR("attempting to use more CPUs than you have!");
} }
spaced_print(p, p_max_size, "%*d", 4, "cpu", pad_percents, spaced_print(p, p_max_size, "%*d", 4, "cpu", pad_percents,
round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100.0)); round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100.0));
@ -4365,6 +4386,10 @@ static void generate_text_internal(char *p, int p_max_size,
round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100), round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100),
100, 1); 100, 1);
} }
OBJ(loadgraph) {
new_graph(p, obj->a, obj->b, obj->c, obj->d, cur->loadavg[0],
obj->e, 1);
}
OBJ(color) { OBJ(color) {
new_fg(p, obj->data.l); new_fg(p, obj->data.l);
} }
@ -5285,17 +5310,17 @@ static void generate_text_internal(char *p, int p_max_size,
#endif #endif
#ifdef HDDTEMP #ifdef HDDTEMP
OBJ(hddtemp) { OBJ(hddtemp) {
char *temp; if (obj->data.hddtemp.update_time < current_update_time - 30) {
char unit; obj->data.hddtemp.temp = get_hddtemp_info(obj->data.hddtemp.dev,
obj->data.hddtemp.addr, obj->data.hddtemp.port, &obj->data.hddtemp.unit);
temp = get_hddtemp_info(obj->data.hddtemp.dev, obj->data.hddtemp.update_time = current_update_time;
obj->data.hddtemp.addr, obj->data.hddtemp.port, &unit); }
if (!temp) { if (!obj->data.hddtemp.temp) {
snprintf(p, p_max_size, "N/A"); snprintf(p, p_max_size, "N/A");
} else if (unit == '*') { } else if (obj->data.hddtemp.unit == '*') {
snprintf(p, p_max_size, "%s", temp); snprintf(p, p_max_size, "%s", obj->data.hddtemp.temp);
} else { } else {
snprintf(p, p_max_size, "%s%c", temp, unit); snprintf(p, p_max_size, "%s%c", obj->data.hddtemp.temp, obj->data.hddtemp.unit);
} }
} }
#endif #endif
@ -5435,7 +5460,7 @@ static void generate_text_internal(char *p, int p_max_size,
OBJ(memgraph) { OBJ(memgraph) {
new_graph(p, obj->a, obj->b, obj->c, obj->d, new_graph(p, obj->a, obj->b, obj->c, obj->d,
cur->memmax ? (cur->mem * 100.0) / (cur->memmax) : 0.0, cur->memmax ? (cur->mem * 100.0) / (cur->memmax) : 0.0,
100, 1); 100, 0);
} }
/* mixer stuff */ /* mixer stuff */
@ -6745,6 +6770,7 @@ static void draw_line(char *s)
char *p; char *p;
int cur_y_add = 0; int cur_y_add = 0;
short font_h; short font_h;
char *tmp_str;
cur_x = text_start_x; cur_x = text_start_x;
cur_y += font_ascent(); cur_y += font_ascent();
@ -6838,6 +6864,8 @@ static void draw_line(char *s)
float gradient_update = 0; float gradient_update = 0;
unsigned long last_colour = current_color; unsigned long last_colour = current_color;
unsigned long tmpcolour = current_color; unsigned long tmpcolour = current_color;
int show_scale_x = cur_x + font_ascent() / 2;
int show_scale_y = cur_y + font_height() / 2;
if (cur_x - text_start_x > maximum_width if (cur_x - text_start_x > maximum_width
&& maximum_width > 0) { && maximum_width > 0) {
break; break;
@ -6905,6 +6933,20 @@ static void draw_line(char *s)
} else { } else {
set_foreground_color(default_fg_color); set_foreground_color(default_fg_color);
} */ } */
if (show_graph_scale && (specials[special_index].show_scale == 1)) {
int tmp_x = cur_x;
int tmp_y = cur_y;
cur_x = show_scale_x;
cur_y = show_scale_y;
tmp_str = (char *)
calloc(log10(floor(specials[special_index].graph_scale)) + 4,
sizeof(char));
sprintf(tmp_str, "%.1f", specials[special_index].graph_scale);
draw_string(tmp_str);
free(tmp_str);
cur_x = tmp_x;
cur_y = tmp_y;
}
set_foreground_color(last_colour); set_foreground_color(last_colour);
break; break;
} }
@ -7755,6 +7797,7 @@ static void set_default_configurations(void)
out_to_console = 1; out_to_console = 1;
#endif #endif
#ifdef X11 #ifdef X11
show_graph_scale = 0;
default_fg_color = WhitePixel(display, screen); default_fg_color = WhitePixel(display, screen);
default_bg_color = BlackPixel(display, screen); default_bg_color = BlackPixel(display, screen);
default_out_color = BlackPixel(display, screen); default_out_color = BlackPixel(display, screen);
@ -7907,6 +7950,9 @@ static void load_config_file(const char *f)
} }
#endif /* X11 */ #endif /* X11 */
#ifdef X11 #ifdef X11
CONF("show_graph_scale") {
show_graph_scale = string_to_bool(value);
}
CONF("border_margin") { CONF("border_margin") {
if (value) { if (value) {
border_margin = strtol(value, 0, 0); border_margin = strtol(value, 0, 0);