<varlistentry>
<term>
+ <command><option>eval</option></command>
+ <option>string</option>
+ </term>
+ <listitem>
+ Evalutates given string according to the rules of TEXT interpretation, i.e. parsing any contained text object specifications into their output, any occuring '$$' into a single '$' and so on. The output is then being parsed again.
+ <para></para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<command><option>exec</option></command>
<option>command</option>
</term>
case OBJ_text:
case OBJ_font:
case OBJ_image:
+ case OBJ_eval:
case OBJ_exec:
case OBJ_execgauge:
case OBJ_execbar:
obj_be_ifblock_else(ifblock_opaque, obj);
END OBJ(endif, 0)
obj_be_ifblock_endif(ifblock_opaque, obj);
+ END OBJ(eval, 0)
+ obj->data.s = strndup(arg ? arg : "", text_buffer_size);
END OBJ(image, 0)
obj->data.s = strndup(arg ? arg : "", text_buffer_size);
#ifdef HAVE_POPEN
}
#endif /* IMLIB2 */
+ OBJ(eval) {
+ struct information *tmp_info;
+ struct text_object subroot, subroot2;
+
+ tmp_info = malloc(sizeof(struct information));
+ memcpy(tmp_info, cur, sizeof(struct information));
+ parse_conky_vars(&subroot, obj->data.s, p, tmp_info);
+ DBGP("evaluated '%s' to '%s'", obj->data.s, p);
+ parse_conky_vars(&subroot2, p, p, tmp_info);
+
+ free_text_objects(&subroot);
+ free_text_objects(&subroot2);
+ free(tmp_info);
+ }
OBJ(exec) {
read_exec(obj->data.s, p, text_buffer_size);
remove_deleted_chars(p);