1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-12-25 04:06:03 +00:00

lua: outsource code

This commit is contained in:
Phil Sutter 2009-11-16 21:31:51 +01:00
parent b6d1ff6c42
commit 9efa384bbc
3 changed files with 81 additions and 38 deletions

View File

@ -1278,42 +1278,20 @@ void generate_text_internal(char *p, int p_max_size,
#endif
#ifdef HAVE_LUA
OBJ(lua) {
char *str = llua_getstring(obj->data.s);
if (str) {
snprintf(p, p_max_size, "%s", str);
free(str);
}
print_lua(obj, p, p_max_size);
}
OBJ(lua_parse) {
char *str = llua_getstring(obj->data.s);
if (str) {
evaluate(str, p, p_max_size);
free(str);
}
print_lua_parse(obj, p, p_max_size);
}
OBJ(lua_bar) {
double per;
if (llua_getnumber(obj->data.s, &per)) {
#ifdef X11
if(output_methods & TO_X) {
new_bar(obj, p, (per/100.0 * 255));
} else
#endif /* X11 */
new_bar_in_shell(obj, p, p_max_size, per);
}
print_lua_bar(obj, p, p_max_size);
}
#ifdef X11
OBJ(lua_graph) {
double per;
if (llua_getnumber(obj->data.s, &per)) {
new_graph(obj, p, per);
}
print_lua_graph(obj, p, p_max_size);
}
OBJ(lua_gauge) {
double per;
if (llua_getnumber(obj->data.s, &per)) {
new_gauge(obj, p, (per/100.0 * 255));
}
print_lua_gauge(obj, p, p_max_size);
}
#endif /* X11 */
#endif /* HAVE_LUA */

View File

@ -158,7 +158,7 @@ void llua_load(const char *script)
string: <function> [par1] [par2...]
retc: the number of return values expected
*/
char *llua_do_call(const char *string, int retc)
static char *llua_do_call(const char *string, int retc)
{
static char func[64];
int argc = 0;
@ -201,10 +201,11 @@ char *llua_do_call(const char *string, int retc)
return func;
}
#if 0
/*
* same as llua_do_call() except passes everything after func as one arg.
*/
char *llua_do_read_call(const char *function, const char *arg, int retc)
static char *llua_do_read_call(const char *function, const char *arg, int retc)
{
static char func[64];
snprintf(func, 64, "conky_%s", function);
@ -223,8 +224,10 @@ char *llua_do_read_call(const char *function, const char *arg, int retc)
return func;
}
#endif
char *llua_getstring(const char *args)
/* call a function with args, and return a string from it (must be free'd) */
static char *llua_getstring(const char *args)
{
char *func;
char *ret = NULL;
@ -244,7 +247,9 @@ char *llua_getstring(const char *args)
return ret;
}
char *llua_getstring_read(const char *function, const char *arg)
#if 0
/* call a function with args, and return a string from it (must be free'd) */
static char *llua_getstring_read(const char *function, const char *arg)
{
char *func;
char *ret = NULL;
@ -263,8 +268,10 @@ char *llua_getstring_read(const char *function, const char *arg)
return ret;
}
#endif
int llua_getnumber(const char *args, double *ret)
/* call a function with args, and put the result in ret */
static int llua_getnumber(const char *args, double *ret)
{
char *func;
@ -521,3 +528,59 @@ void llua_update_info(struct information *i, double u_interval)
lua_setglobal(lua_L, "conky_info");
}
void print_lua(struct text_object *obj, char *p, int p_max_size)
{
char *str = llua_getstring(obj->data.s);
if (str) {
snprintf(p, p_max_size, "%s", str);
free(str);
}
}
void print_lua_parse(struct text_object *obj, char *p, int p_max_size)
{
char *str = llua_getstring(obj->data.s);
if (str) {
evaluate(str, p, p_max_size);
free(str);
}
}
void print_lua_bar(struct text_object *obj, char *p, int p_max_size)
{
double per;
if (llua_getnumber(obj->data.s, &per)) {
#ifdef X11
if(output_methods & TO_X) {
new_bar(obj, p, (per/100.0 * 255));
} else
#endif /* X11 */
new_bar_in_shell(obj, p, p_max_size, per);
}
}
#ifdef X11
void print_lua_graph(struct text_object *obj, char *p, int p_max_size)
{
double per;
if (!p_max_size)
return;
if (llua_getnumber(obj->data.s, &per)) {
new_graph(obj, p, per);
}
}
void print_lua_gauge(struct text_object *obj, char *p, int p_max_size)
{
double per;
if (!p_max_size)
return;
if (llua_getnumber(obj->data.s, &per)) {
new_gauge(obj, p, (per/100.0 * 255));
}
}
#endif /* X11 */

View File

@ -38,12 +38,6 @@
/* load a lua script */
void llua_load(const char *script);
/* call a function with args, and return a string from it (must be free'd) */
char *llua_getstring(const char *args);
/* call a function with args, and return a string from it (must be free'd) */
char *llua_getstring_read(const char *function, const char *arg);
/* call a function with args, and put the result in ret */
int llua_getnumber(const char *args, double *ret);
/* close lua stuff */
void llua_close(void);
#ifdef HAVE_SYS_INOTIFY_H
@ -71,4 +65,12 @@ void llua_update_window_table(int text_start_x, int text_start_y, int text_width
void llua_setup_info(struct information *i, double u_interval);
void llua_update_info(struct information *i, double u_interval);
void print_lua(struct text_object *, char *, int);
void print_lua_parse(struct text_object *, char *, int);
void print_lua_bar(struct text_object *, char *, int);
#ifdef X11
void print_lua_graph(struct text_object *, char *, int);
void print_lua_gauge(struct text_object *, char *, int);
#endif /* X11 */
#endif /* LUA_H_*/