mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
%n+bg color change doesn't anymore set foreground black. changed theme's
default_bold_color to default_real_color. Activity list printed first item with white always. Color redrawed itself every second. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1381 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
7ced2beab4
commit
1d453ed92c
@ -740,8 +740,8 @@ static int theme_read(THEME_REC *theme, const char *path, const char *data)
|
|||||||
|
|
||||||
theme->default_color =
|
theme->default_color =
|
||||||
config_get_int(config, NULL, "default_color", 0);
|
config_get_int(config, NULL, "default_color", 0);
|
||||||
theme->default_bold_color =
|
theme->default_real_color =
|
||||||
config_get_int(config, NULL, "default_bold_color", 7);
|
config_get_int(config, NULL, "default_real_color", 7);
|
||||||
theme_read_replaces(config, theme);
|
theme_read_replaces(config, theme);
|
||||||
theme_read_abstracts(config, theme);
|
theme_read_abstracts(config, theme);
|
||||||
|
|
||||||
@ -1069,7 +1069,7 @@ static void themes_read(void)
|
|||||||
g_get_home_dir());
|
g_get_home_dir());
|
||||||
current_theme = theme_create(fname, "default");
|
current_theme = theme_create(fname, "default");
|
||||||
current_theme->default_color = 0;
|
current_theme->default_color = 0;
|
||||||
current_theme->default_bold_color = 7;
|
current_theme->default_real_color = 7;
|
||||||
theme_read(current_theme, NULL, default_theme);
|
theme_read(current_theme, NULL, default_theme);
|
||||||
g_free(fname);
|
g_free(fname);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,12 @@ typedef struct {
|
|||||||
char *name;
|
char *name;
|
||||||
time_t last_modify;
|
time_t last_modify;
|
||||||
|
|
||||||
int default_color, default_bold_color;
|
int default_color; /* default color to use with text with default
|
||||||
|
background. default is 0 which means the default
|
||||||
|
color set by terminal */
|
||||||
|
int default_real_color; /* default color to use with background set.
|
||||||
|
this shouldn't be 0, unless black is really
|
||||||
|
wanted. default is 7 (white). */
|
||||||
GHashTable *modules;
|
GHashTable *modules;
|
||||||
|
|
||||||
GSList *replace_keys;
|
GSList *replace_keys;
|
||||||
|
@ -282,16 +282,17 @@ static void get_colors(int flags, int *fg, int *bg)
|
|||||||
if (flags & PRINTFLAG_MIRC_COLOR) {
|
if (flags & PRINTFLAG_MIRC_COLOR) {
|
||||||
/* mirc colors - real range is 0..15, but after 16
|
/* mirc colors - real range is 0..15, but after 16
|
||||||
colors wrap to 0, 1, ... */
|
colors wrap to 0, 1, ... */
|
||||||
*fg = *fg < 0 ?
|
|
||||||
current_theme->default_color : mirc_colors[*fg % 16];
|
|
||||||
*bg = *bg < 0 ? 0 : mirc_colors[*bg % 16];
|
*bg = *bg < 0 ? 0 : mirc_colors[*bg % 16];
|
||||||
|
if (*fg > 0) *fg = mirc_colors[*fg % 16];
|
||||||
} else {
|
} else {
|
||||||
/* default colors */
|
/* default colors */
|
||||||
*fg = *fg < 0 || *fg > 15 ?
|
|
||||||
current_theme->default_color : *fg;
|
|
||||||
*bg = *bg < 0 || *bg > 15 ? 0 : *bg;
|
*bg = *bg < 0 || *bg > 15 ? 0 : *bg;
|
||||||
|
if (*fg > 8) *fg &= ~8;
|
||||||
|
}
|
||||||
|
|
||||||
if (*fg > 8) *fg -= 8;
|
if (*fg < 0 || *fg > 15) {
|
||||||
|
*fg = *bg == 0 ? current_theme->default_color :
|
||||||
|
current_theme->default_real_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & PRINTFLAG_REVERSE) {
|
if (flags & PRINTFLAG_REVERSE) {
|
||||||
@ -302,7 +303,7 @@ static void get_colors(int flags, int *fg, int *bg)
|
|||||||
|
|
||||||
if (*fg == 8) *fg |= ATTR_COLOR8;
|
if (*fg == 8) *fg |= ATTR_COLOR8;
|
||||||
if (flags & PRINTFLAG_BOLD) {
|
if (flags & PRINTFLAG_BOLD) {
|
||||||
if (*fg == 0) *fg = current_theme->default_bold_color;
|
if (*fg == 0) *fg = current_theme->default_real_color;
|
||||||
*fg |= 8;
|
*fg |= 8;
|
||||||
}
|
}
|
||||||
if (flags & PRINTFLAG_UNDERLINE) *fg |= ATTR_UNDERLINE;
|
if (flags & PRINTFLAG_UNDERLINE) *fg |= ATTR_UNDERLINE;
|
||||||
|
@ -96,7 +96,7 @@ static void item_default(SBAR_ITEM_REC *item, int get_size_only,
|
|||||||
{
|
{
|
||||||
SERVER_REC *server;
|
SERVER_REC *server;
|
||||||
WI_ITEM_REC *wiitem;
|
WI_ITEM_REC *wiitem;
|
||||||
char *parsed, *printstr;
|
char *stripped, *parsed, *printstr;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (active_win == NULL) {
|
if (active_win == NULL) {
|
||||||
@ -109,6 +109,8 @@ static void item_default(SBAR_ITEM_REC *item, int get_size_only,
|
|||||||
|
|
||||||
parsed = parse_special_string(str, server, wiitem, "", NULL,
|
parsed = parse_special_string(str, server, wiitem, "", NULL,
|
||||||
PARSE_FLAG_ESCAPE_VARS);
|
PARSE_FLAG_ESCAPE_VARS);
|
||||||
|
stripped = strip_codes(parsed);
|
||||||
|
g_free(parsed); parsed = stripped;
|
||||||
|
|
||||||
if (get_size_only) {
|
if (get_size_only) {
|
||||||
item->min_size = item->max_size = format_get_length(parsed);
|
item->min_size = item->max_size = format_get_length(parsed);
|
||||||
@ -119,7 +121,7 @@ static void item_default(SBAR_ITEM_REC *item, int get_size_only,
|
|||||||
parsed[len] = '\0';
|
parsed[len] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
printstr = g_strconcat("%4", parsed, NULL);
|
printstr = g_strconcat("%n%4", parsed, NULL);
|
||||||
gui_printtext(item->xpos, item->bar->ypos, printstr);
|
gui_printtext(item->xpos, item->bar->ypos, printstr);
|
||||||
g_free(printstr);
|
g_free(printstr);
|
||||||
}
|
}
|
||||||
@ -147,6 +149,7 @@ static int statusbar_clock_timeout(void)
|
|||||||
|
|
||||||
if (tm->tm_min != min) {
|
if (tm->tm_min != min) {
|
||||||
/* minute changed, redraw! */
|
/* minute changed, redraw! */
|
||||||
|
clock_last = t;
|
||||||
statusbar_item_redraw(clock_item);
|
statusbar_item_redraw(clock_item);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
@ -240,8 +243,9 @@ static char *get_activity_list(int normal, int hilight)
|
|||||||
if ((!is_det && !normal) || (is_det && !hilight))
|
if ((!is_det && !normal) || (is_det && !hilight))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (str->len > 0)
|
g_string_append(str, "%c");
|
||||||
g_string_append(str, "%c,");
|
if (str->len > 2)
|
||||||
|
g_string_append_c(str, ',');
|
||||||
|
|
||||||
switch (window->data_level) {
|
switch (window->data_level) {
|
||||||
case DATA_LEVEL_NONE:
|
case DATA_LEVEL_NONE:
|
||||||
|
Loading…
Reference in New Issue
Block a user