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:
parent
b6d1ff6c42
commit
9efa384bbc
32
src/conky.c
32
src/conky.c
@ -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 */
|
||||
|
73
src/llua.c
73
src/llua.c
@ -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 */
|
||||
|
14
src/llua.h
14
src/llua.h
@ -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_*/
|
||||
|
Loading…
Reference in New Issue
Block a user