Beginnings of configurable statusbar. The existing items can be configured

in default.theme.

If some abstract isn't set in theme, it fallbacks to the one in
default.theme now. This should help with old themes, and maybe themes
that don't change something should just keep those parts commented out..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1386 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-03-15 02:26:12 +00:00 committed by cras
commit 87777968c3
8 changed files with 317 additions and 244 deletions

View file

@ -23,7 +23,7 @@ typedef struct {
wanted. default is 7 (white). */
GHashTable *modules;
GSList *replace_keys;
int replace_keys[256]; /* index to replace_values for each char */
GSList *replace_values;
GHashTable *abstracts;
@ -46,6 +46,19 @@ THEME_REC *theme_load(const char *name);
void theme_register_module(const char *module, FORMAT_REC *formats);
void theme_unregister_module(const char *module);
#define EXPAND_FLAG_IGNORE_REPLACES 0x01 /* don't use the character replaces when expanding */
#define EXPAND_FLAG_IGNORE_EMPTY 0x02 /* if abstract's argument is empty, don't try to expand it (ie. {xx }, but not {xx}) */
#define EXPAND_FLAG_RECURSIVE_MASK 0x0f
/* private */
#define EXPAND_FLAG_ROOT 0x10
#define EXPAND_FLAG_LASTCOLOR_ARG 0x20
char *theme_format_expand(THEME_REC *theme, const char *format);
char *theme_format_expand_data(THEME_REC *theme, const char **format,
char default_fg, char default_bg,
char *save_last_fg, char *save_last_bg,
int flags);
void themes_init(void);
void themes_deinit(void);