function_name (function parameters)</option>
</term>
<listitem>Executes a Lua function with given parameters and
- draws a graph. Expects result value to be an integer
- between 0 and 100. See also 'lua_load' on how to load
+ draws a graph. Expects result value to be any number, and by default will scale to show the full range. See also 'lua_load' on how to load
scripts. Takes the switch '-t' to use a temperature
gradient, which makes the gradient values change depending
on the amplitude of a particular graph value (try it and
read_exec(cmd, p, text_buffer_size);
barnum = get_barnum(p);
- if (barnum >= 0.0) {
+ if (barnum > 0) {
new_graph(p, obj->a, obj->b, obj->c, obj->d, round_to_int(barnum),
100, 1, showaslog, tempgrad);
}
}
OBJ(lua_bar) {
int per;
- if (llua_getinteger(obj->data.s, &per)) {
+ if (llua_getnumber(obj->data.s, &per)) {
#ifdef X11
if(output_methods & TO_X) {
new_bar(p, obj->a, obj->b, (per/100.0 * 255));
#ifdef X11
OBJ(lua_graph) {
int per;
- if (llua_getinteger(obj->data.s, &per)) {
+ if (llua_getnumber(obj->data.s, &per)) {
new_graph(p, obj->a, obj->b, obj->c, obj->d,
- (per/100.0 * 255), 100, 1, obj->char_a, obj->char_b);
+ per, obj->e, 1, obj->char_a, obj->char_b);
}
}
OBJ(lua_gauge) {
int per;
- if (llua_getinteger(obj->data.s, &per)) {
+ if (llua_getnumber(obj->data.s, &per)) {
new_gauge(p, obj->a, obj->b, (per/100.0 * 255));
}
}
return ret;
}
-int llua_getinteger(const char *args, int *per)
+double llua_getnumber(const char *args, int *per)
{
char *func;
func = llua_do_call(args, 1);
if(func) {
if(!lua_isnumber(lua_L, -1)) {
- ERR("llua_getinteger: function %s didn't return an integer, result discarded", func);
+ ERR("llua_getnumber: function %s didn't return a number, result discarded", func);
} else {
- *per = lua_tointeger(lua_L, -1);
+ *per = lua_tonumber(lua_L, -1);
lua_pop(lua_L, 1);
return 1;
}
void llua_load(const char *script);
char *llua_getstring(const char *args);
char *llua_getstring_read(const char *function, const char *arg);
-int llua_getinteger(const char *args, int *per);
+double llua_getnumber(const char *args, int *per);
void llua_close(void);
#ifdef HAVE_SYS_INOTIFY_H
void llua_inotify_query(int wd, int mask);