6 /* first argument of signal must match to active .. */
11 EXPANDO_ARG_WINDOW_ITEM,
13 EXPANDO_NEVER /* special: expando never changes */
16 typedef char* (*EXPANDO_FUNC)
17 (SERVER_REC *server, void *item, int *free_ret);
19 extern const char *current_expando;
21 /* Create expando - overrides any existing ones.
22 ... = signal, type, ..., NULL - list of signals that might change the
23 value of this expando */
24 void expando_create(const char *key, EXPANDO_FUNC func, ...);
25 /* Add new signal to expando */
26 void expando_add_signal(const char *key, const char *signal, ExpandoArg arg);
28 void expando_destroy(const char *key, EXPANDO_FUNC func);
30 void expando_bind(const char *key, int funccount, SIGNAL_FUNC *funcs);
31 void expando_unbind(const char *key, int funccount, SIGNAL_FUNC *funcs);
33 /* Returns [<signal id>, EXPANDO_ARG_xxx, <signal id>, ..., -1] */
34 int *expando_get_signals(const char *key);
37 EXPANDO_FUNC expando_find_char(char chr);
38 EXPANDO_FUNC expando_find_long(const char *key);
40 void expandos_init(void);
41 void expandos_deinit(void);