fault is off.
+ show_graph_scale
+ Shows the maximum value in scaled graphs.
+
+
stippled_borders
Border stippling (dashing) in pixels
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, i686 for example
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"}
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.
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.
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.
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.
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.
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.
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
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", "mem_res", "mem_vsize", and "time". There
+ 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", "mem_res", "mem_vsize", and "time". There
can be a max of 10 processes listed.
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.
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.
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. 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.
SEE ALSO
#conky on irc.freenode.net
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
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-
- 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).
AUTHORS
#ifdef X11
+static int show_graph_scale;
+
/* Position on the screen */
static int text_alignment;
static int gap_x, gap_y;
long arg;
double *graph;
double graph_scale;
+ short show_scale;
int graph_width;
int scaled;
unsigned long first_colour; // for graph gradient
} */
if (s->scaled) {
s->graph_scale = 1;
+ s->show_scale = 1;
} else {
s->graph_scale = scale;
+ s->show_scale = 0;
}
if (append) {
graph_append(s, i);
OBJ_cpu,
OBJ_cpubar,
OBJ_cpugraph,
+ OBJ_loadgraph,
OBJ_diskio,
OBJ_diskio_read,
OBJ_diskio_write,
char *addr;
int port;
char *dev;
+ double update_time;
+ char *temp;
+ char unit;
} hddtemp; /* 2 */
#endif
#ifdef RSS
}
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)
if (arg) {
obj->data.diskio = prepare_diskio_stat(DEV_NAME(arg));
ERR("hddtemp needs arguments");
obj->type = OBJ_text;
obj->data.s = strndup("${hddtemp}", text_buffer_size);
+ obj->data.hddtemp.update_time = 0;
return NULL;
}
#endif
if (obj->data.cpu_index > info.cpu_count) {
printf("obj->data.cpu_index %i info.cpu_count %i",
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,
round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100.0));
round_to_int(cur->cpu_usage[obj->data.cpu_index] * 100),
100, 1);
}
+ OBJ(loadgraph) {
+ new_graph(p, obj->a, obj->b, obj->c, obj->d, cur->loadavg[0],
+ obj->e, 1);
+ }
OBJ(color) {
new_fg(p, obj->data.l);
}
#endif
#ifdef HDDTEMP
OBJ(hddtemp) {
- char *temp;
- char unit;
-
- temp = get_hddtemp_info(obj->data.hddtemp.dev,
- obj->data.hddtemp.addr, obj->data.hddtemp.port, &unit);
- if (!temp) {
+ if (obj->data.hddtemp.update_time < current_update_time - 30) {
+ obj->data.hddtemp.temp = get_hddtemp_info(obj->data.hddtemp.dev,
+ obj->data.hddtemp.addr, obj->data.hddtemp.port, &obj->data.hddtemp.unit);
+ obj->data.hddtemp.update_time = current_update_time;
+ }
+ if (!obj->data.hddtemp.temp) {
snprintf(p, p_max_size, "N/A");
- } else if (unit == '*') {
- snprintf(p, p_max_size, "%s", temp);
+ } else if (obj->data.hddtemp.unit == '*') {
+ snprintf(p, p_max_size, "%s", obj->data.hddtemp.temp);
} 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
OBJ(memgraph) {
new_graph(p, obj->a, obj->b, obj->c, obj->d,
cur->memmax ? (cur->mem * 100.0) / (cur->memmax) : 0.0,
- 100, 1);
+ 100, 0);
}
/* mixer stuff */
char *p;
int cur_y_add = 0;
short font_h;
+ char *tmp_str;
cur_x = text_start_x;
cur_y += font_ascent();
float gradient_update = 0;
unsigned long last_colour = 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
&& maximum_width > 0) {
break;
} else {
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);
break;
}
out_to_console = 1;
#endif
#ifdef X11
+ show_graph_scale = 0;
default_fg_color = WhitePixel(display, screen);
default_bg_color = BlackPixel(display, screen);
default_out_color = BlackPixel(display, screen);
}
#endif /* X11 */
#ifdef X11
+ CONF("show_graph_scale") {
+ show_graph_scale = string_to_bool(value);
+ }
CONF("border_margin") {
if (value) {
border_margin = strtol(value, 0, 0);