Infobar highlight notifications
This commit is contained in:
parent
7d91cdcbb3
commit
dc38b59849
@ -7,6 +7,7 @@ ChangeLog - 2004-01-21
|
||||
Version 0.0.5 (under dev!):
|
||||
* fixed QUIT IRC command: now sent to all connected servers (not only current)
|
||||
* new Perl script function to display message in info bar ("IRC::print_infobar")
|
||||
* info bar highlight notifications
|
||||
* info bar timestamp is added to config ("look_infobar_timestamp")
|
||||
* added info bar (optional, "look_infobar" to enable it, "on" by default)
|
||||
* fixed crash with /oper command
|
||||
|
445
po/weechat.pot
445
po/weechat.pot
File diff suppressed because it is too large
Load Diff
@ -75,6 +75,7 @@ char *cfg_look_no_nickname;
|
||||
char *cfg_look_completor;
|
||||
int cfg_look_infobar;
|
||||
char *cfg_look_infobar_timestamp;
|
||||
int cfg_look_infobar_delay_highlight;
|
||||
|
||||
t_config_option weechat_options_look[] =
|
||||
{ { "look_set_title", N_("set title for terminal window (curses GUI) with name & version"),
|
||||
@ -147,6 +148,11 @@ t_config_option weechat_options_look[] =
|
||||
N_("timestamp for time in infobar"),
|
||||
OPTION_TYPE_STRING, 0, 0, 0,
|
||||
"%B, %A %d %G - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, NULL },
|
||||
{ "look_infobar_delay_highlight", N_("delay (in seconds) for highlight messages in infobar"),
|
||||
N_("delay (in seconds) for highlight messages in infobar "
|
||||
"(0 = disable highlight notifications in infobar)"),
|
||||
OPTION_TYPE_INT, 0, INT_MAX, 7,
|
||||
NULL, NULL, &cfg_look_infobar_delay_highlight, NULL, NULL },
|
||||
{ NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
@ -172,6 +178,7 @@ int cfg_col_status_data_other;
|
||||
int cfg_col_status_more;
|
||||
int cfg_col_status_bg;
|
||||
int cfg_col_infobar;
|
||||
int cfg_col_infobar_highlight;
|
||||
int cfg_col_infobar_bg;
|
||||
int cfg_col_input;
|
||||
int cfg_col_input_channel;
|
||||
@ -274,6 +281,10 @@ t_config_option weechat_options_colors[] =
|
||||
N_("color for info bar text"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
"black", NULL, &cfg_col_infobar, NULL, NULL },
|
||||
{ "col_infobar_highlight", N_("color for info bar highlight notification"),
|
||||
N_("color for info bar highlight notification"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
"white", NULL, &cfg_col_infobar_highlight, NULL, NULL },
|
||||
{ "col_infobar_bg", N_("background for info bar window"),
|
||||
N_("background for info bar window"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
|
@ -90,6 +90,7 @@ extern char *cfg_look_no_nickname;
|
||||
extern char *cfg_look_completor;
|
||||
extern int cfg_look_infobar;
|
||||
extern char *cfg_look_infobar_timestamp;
|
||||
extern int cfg_look_infobar_delay_highlight;
|
||||
|
||||
extern int cfg_col_title;
|
||||
extern int cfg_col_title_bg;
|
||||
@ -111,6 +112,7 @@ extern int cfg_col_status_data_other;
|
||||
extern int cfg_col_status_more;
|
||||
extern int cfg_col_status_bg;
|
||||
extern int cfg_col_infobar;
|
||||
extern int cfg_col_infobar_highlight;
|
||||
extern int cfg_col_infobar_bg;
|
||||
extern int cfg_col_input;
|
||||
extern int cfg_col_input_channel;
|
||||
|
@ -944,10 +944,12 @@ gui_draw_window_infobar (t_gui_window *window)
|
||||
time_seconds = time (NULL);
|
||||
local_time = localtime (&time_seconds);
|
||||
strftime (text, 1024, cfg_look_infobar_timestamp, local_time);
|
||||
if (gui_infobar)
|
||||
wprintw (window->win_infobar, "%s | %s", text, gui_infobar->text);
|
||||
else
|
||||
wprintw (window->win_infobar, "%s", text);
|
||||
if (gui_infobar)
|
||||
{
|
||||
gui_window_set_color (window->win_infobar, gui_infobar->color);
|
||||
wprintw (window->win_infobar, " | %s", gui_infobar->text);
|
||||
}
|
||||
|
||||
wrefresh (window->win_infobar);
|
||||
refresh ();
|
||||
@ -1408,6 +1410,8 @@ gui_init_colors ()
|
||||
cfg_col_status_more & A_CHARTEXT, cfg_col_status_bg);
|
||||
init_pair (COLOR_WIN_INFOBAR,
|
||||
cfg_col_infobar & A_CHARTEXT, cfg_col_infobar_bg);
|
||||
init_pair (COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
cfg_col_infobar_highlight & A_CHARTEXT, cfg_col_infobar_bg);
|
||||
init_pair (COLOR_WIN_INPUT,
|
||||
cfg_col_input & A_CHARTEXT, cfg_col_input_bg);
|
||||
init_pair (COLOR_WIN_INPUT_CHANNEL,
|
||||
@ -1455,6 +1459,7 @@ gui_init_colors ()
|
||||
color_attr[COLOR_WIN_STATUS_DATA_OTHER - 1] = cfg_col_status_data_other & A_BOLD;
|
||||
color_attr[COLOR_WIN_STATUS_MORE - 1] = cfg_col_status_more & A_BOLD;
|
||||
color_attr[COLOR_WIN_INFOBAR - 1] = cfg_col_infobar & A_BOLD;
|
||||
color_attr[COLOR_WIN_INFOBAR_HIGHLIGHT - 1] = cfg_col_infobar_highlight & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT - 1] = cfg_col_input & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT_CHANNEL - 1] = cfg_col_input_channel & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT_NICK - 1] = cfg_col_input_nick & A_BOLD;
|
||||
|
@ -184,19 +184,26 @@ gui_window_clear_all ()
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_infobar_print: display message in infobar
|
||||
* gui_infobar_printf: display message in infobar
|
||||
*/
|
||||
|
||||
void
|
||||
gui_infobar_print (char *message, int time_displayed)
|
||||
gui_infobar_printf (int time_displayed, int color, char *message, ...)
|
||||
{
|
||||
static char buffer[1024];
|
||||
va_list argptr;
|
||||
t_gui_infobar *ptr_infobar;
|
||||
char *pos;
|
||||
|
||||
va_start (argptr, message);
|
||||
vsnprintf (buffer, sizeof (buffer) - 1, message, argptr);
|
||||
va_end (argptr);
|
||||
|
||||
ptr_infobar = (t_gui_infobar *)malloc (sizeof (t_gui_infobar));
|
||||
if (ptr_infobar)
|
||||
{
|
||||
ptr_infobar->text = strdup (message);
|
||||
ptr_infobar->color = color;
|
||||
ptr_infobar->text = strdup (buffer);
|
||||
pos = strchr (ptr_infobar->text, '\n');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
#define INPUT_BUFFER_BLOCK_SIZE 256
|
||||
|
||||
#define NUM_COLORS 37
|
||||
#define NUM_COLORS 38
|
||||
#define COLOR_WIN_TITLE 1
|
||||
#define COLOR_WIN_CHAT 2
|
||||
#define COLOR_WIN_CHAT_TIME 3
|
||||
@ -44,18 +44,19 @@
|
||||
#define COLOR_WIN_STATUS_DATA_OTHER 15
|
||||
#define COLOR_WIN_STATUS_MORE 16
|
||||
#define COLOR_WIN_INFOBAR 17
|
||||
#define COLOR_WIN_INPUT 18
|
||||
#define COLOR_WIN_INPUT_CHANNEL 19
|
||||
#define COLOR_WIN_INPUT_NICK 20
|
||||
#define COLOR_WIN_NICK 21
|
||||
#define COLOR_WIN_NICK_OP 22
|
||||
#define COLOR_WIN_NICK_HALFOP 23
|
||||
#define COLOR_WIN_NICK_VOICE 24
|
||||
#define COLOR_WIN_NICK_SEP 25
|
||||
#define COLOR_WIN_NICK_SELF 26
|
||||
#define COLOR_WIN_NICK_PRIVATE 27
|
||||
#define COLOR_WIN_NICK_FIRST 28
|
||||
#define COLOR_WIN_NICK_LAST 37
|
||||
#define COLOR_WIN_INFOBAR_HIGHLIGHT 18
|
||||
#define COLOR_WIN_INPUT 19
|
||||
#define COLOR_WIN_INPUT_CHANNEL 20
|
||||
#define COLOR_WIN_INPUT_NICK 21
|
||||
#define COLOR_WIN_NICK 22
|
||||
#define COLOR_WIN_NICK_OP 23
|
||||
#define COLOR_WIN_NICK_HALFOP 24
|
||||
#define COLOR_WIN_NICK_VOICE 25
|
||||
#define COLOR_WIN_NICK_SEP 26
|
||||
#define COLOR_WIN_NICK_SELF 27
|
||||
#define COLOR_WIN_NICK_PRIVATE 28
|
||||
#define COLOR_WIN_NICK_FIRST 29
|
||||
#define COLOR_WIN_NICK_LAST 38
|
||||
#define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1)
|
||||
|
||||
#define SERVER(window) ((t_irc_server *)(window->server))
|
||||
@ -112,6 +113,7 @@ typedef struct t_gui_infobar t_gui_infobar;
|
||||
|
||||
struct t_gui_infobar
|
||||
{
|
||||
int color; /* text color */
|
||||
char *text; /* infobar text */
|
||||
int remaining_time; /* delay (sec) before erasing this text */
|
||||
/* if < 0, text is never erased (except */
|
||||
@ -204,7 +206,7 @@ extern t_gui_infobar *gui_infobar;
|
||||
extern t_gui_window *gui_window_new (void *, void *, int /*int, int, int, int*/); /* TODO: add coordinates and size */
|
||||
extern void gui_window_clear (t_gui_window *);
|
||||
extern void gui_window_clear_all ();
|
||||
extern void gui_infobar_print (char *, int);
|
||||
extern void gui_infobar_printf (int, int, char *, ...);
|
||||
extern void gui_infobar_remove ();
|
||||
extern t_gui_line *gui_new_line (t_gui_window *);
|
||||
extern t_gui_message *gui_new_message (t_gui_window *);
|
||||
|
@ -788,8 +788,17 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
pos2[0] = '\0';
|
||||
irc_display_prefix (ptr_channel->window, PREFIX_ACTION_ME);
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
gui_printf_color (ptr_channel->window,
|
||||
COLOR_WIN_CHAT_HIGHLIGHT, "%s", host);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("On %s: * %s %s"),
|
||||
ptr_channel->name,
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
gui_printf_color (ptr_channel->window,
|
||||
COLOR_WIN_CHAT_NICK, "%s", host);
|
||||
@ -802,8 +811,17 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
if (ptr_nick)
|
||||
{
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
irc_display_nick (ptr_channel->window, ptr_nick,
|
||||
MSG_TYPE_NICK, 1, -1, 0);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("On %s: %s> %s"),
|
||||
ptr_channel->name,
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
irc_display_nick (ptr_channel->window, ptr_nick,
|
||||
MSG_TYPE_NICK, 1, 1, 0);
|
||||
@ -915,10 +933,18 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
MSG_TYPE_NICK,
|
||||
COLOR_WIN_CHAT_DARK, "<");
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
gui_printf_color_type (ptr_channel->window,
|
||||
MSG_TYPE_NICK,
|
||||
COLOR_WIN_CHAT_HIGHLIGHT,
|
||||
"%s", host);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("Private %s> %s"),
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
gui_printf_color_type (ptr_channel->window,
|
||||
MSG_TYPE_NICK,
|
||||
|
@ -215,7 +215,7 @@ static XS (XS_IRC_print_infobar)
|
||||
(void) cv;
|
||||
|
||||
if (items == 2)
|
||||
gui_infobar_print (SvPV (ST (1), integer), SvIV (ST (0)));
|
||||
gui_infobar_printf (SvIV (ST (0)), COLOR_WIN_INFOBAR, SvPV (ST (1), integer));
|
||||
else
|
||||
{
|
||||
irc_display_prefix (NULL, PREFIX_ERROR);
|
||||
|
@ -7,6 +7,7 @@ ChangeLog - 2004-01-21
|
||||
Version 0.0.5 (under dev!):
|
||||
* fixed QUIT IRC command: now sent to all connected servers (not only current)
|
||||
* new Perl script function to display message in info bar ("IRC::print_infobar")
|
||||
* info bar highlight notifications
|
||||
* info bar timestamp is added to config ("look_infobar_timestamp")
|
||||
* added info bar (optional, "look_infobar" to enable it, "on" by default)
|
||||
* fixed crash with /oper command
|
||||
|
448
weechat/po/fr.po
448
weechat/po/fr.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -75,6 +75,7 @@ char *cfg_look_no_nickname;
|
||||
char *cfg_look_completor;
|
||||
int cfg_look_infobar;
|
||||
char *cfg_look_infobar_timestamp;
|
||||
int cfg_look_infobar_delay_highlight;
|
||||
|
||||
t_config_option weechat_options_look[] =
|
||||
{ { "look_set_title", N_("set title for terminal window (curses GUI) with name & version"),
|
||||
@ -147,6 +148,11 @@ t_config_option weechat_options_look[] =
|
||||
N_("timestamp for time in infobar"),
|
||||
OPTION_TYPE_STRING, 0, 0, 0,
|
||||
"%B, %A %d %G - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, NULL },
|
||||
{ "look_infobar_delay_highlight", N_("delay (in seconds) for highlight messages in infobar"),
|
||||
N_("delay (in seconds) for highlight messages in infobar "
|
||||
"(0 = disable highlight notifications in infobar)"),
|
||||
OPTION_TYPE_INT, 0, INT_MAX, 7,
|
||||
NULL, NULL, &cfg_look_infobar_delay_highlight, NULL, NULL },
|
||||
{ NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
@ -172,6 +178,7 @@ int cfg_col_status_data_other;
|
||||
int cfg_col_status_more;
|
||||
int cfg_col_status_bg;
|
||||
int cfg_col_infobar;
|
||||
int cfg_col_infobar_highlight;
|
||||
int cfg_col_infobar_bg;
|
||||
int cfg_col_input;
|
||||
int cfg_col_input_channel;
|
||||
@ -274,6 +281,10 @@ t_config_option weechat_options_colors[] =
|
||||
N_("color for info bar text"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
"black", NULL, &cfg_col_infobar, NULL, NULL },
|
||||
{ "col_infobar_highlight", N_("color for info bar highlight notification"),
|
||||
N_("color for info bar highlight notification"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
"white", NULL, &cfg_col_infobar_highlight, NULL, NULL },
|
||||
{ "col_infobar_bg", N_("background for info bar window"),
|
||||
N_("background for info bar window"),
|
||||
OPTION_TYPE_COLOR, 0, 0, 0,
|
||||
|
@ -90,6 +90,7 @@ extern char *cfg_look_no_nickname;
|
||||
extern char *cfg_look_completor;
|
||||
extern int cfg_look_infobar;
|
||||
extern char *cfg_look_infobar_timestamp;
|
||||
extern int cfg_look_infobar_delay_highlight;
|
||||
|
||||
extern int cfg_col_title;
|
||||
extern int cfg_col_title_bg;
|
||||
@ -111,6 +112,7 @@ extern int cfg_col_status_data_other;
|
||||
extern int cfg_col_status_more;
|
||||
extern int cfg_col_status_bg;
|
||||
extern int cfg_col_infobar;
|
||||
extern int cfg_col_infobar_highlight;
|
||||
extern int cfg_col_infobar_bg;
|
||||
extern int cfg_col_input;
|
||||
extern int cfg_col_input_channel;
|
||||
|
@ -944,10 +944,12 @@ gui_draw_window_infobar (t_gui_window *window)
|
||||
time_seconds = time (NULL);
|
||||
local_time = localtime (&time_seconds);
|
||||
strftime (text, 1024, cfg_look_infobar_timestamp, local_time);
|
||||
if (gui_infobar)
|
||||
wprintw (window->win_infobar, "%s | %s", text, gui_infobar->text);
|
||||
else
|
||||
wprintw (window->win_infobar, "%s", text);
|
||||
if (gui_infobar)
|
||||
{
|
||||
gui_window_set_color (window->win_infobar, gui_infobar->color);
|
||||
wprintw (window->win_infobar, " | %s", gui_infobar->text);
|
||||
}
|
||||
|
||||
wrefresh (window->win_infobar);
|
||||
refresh ();
|
||||
@ -1408,6 +1410,8 @@ gui_init_colors ()
|
||||
cfg_col_status_more & A_CHARTEXT, cfg_col_status_bg);
|
||||
init_pair (COLOR_WIN_INFOBAR,
|
||||
cfg_col_infobar & A_CHARTEXT, cfg_col_infobar_bg);
|
||||
init_pair (COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
cfg_col_infobar_highlight & A_CHARTEXT, cfg_col_infobar_bg);
|
||||
init_pair (COLOR_WIN_INPUT,
|
||||
cfg_col_input & A_CHARTEXT, cfg_col_input_bg);
|
||||
init_pair (COLOR_WIN_INPUT_CHANNEL,
|
||||
@ -1455,6 +1459,7 @@ gui_init_colors ()
|
||||
color_attr[COLOR_WIN_STATUS_DATA_OTHER - 1] = cfg_col_status_data_other & A_BOLD;
|
||||
color_attr[COLOR_WIN_STATUS_MORE - 1] = cfg_col_status_more & A_BOLD;
|
||||
color_attr[COLOR_WIN_INFOBAR - 1] = cfg_col_infobar & A_BOLD;
|
||||
color_attr[COLOR_WIN_INFOBAR_HIGHLIGHT - 1] = cfg_col_infobar_highlight & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT - 1] = cfg_col_input & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT_CHANNEL - 1] = cfg_col_input_channel & A_BOLD;
|
||||
color_attr[COLOR_WIN_INPUT_NICK - 1] = cfg_col_input_nick & A_BOLD;
|
||||
|
@ -184,19 +184,26 @@ gui_window_clear_all ()
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_infobar_print: display message in infobar
|
||||
* gui_infobar_printf: display message in infobar
|
||||
*/
|
||||
|
||||
void
|
||||
gui_infobar_print (char *message, int time_displayed)
|
||||
gui_infobar_printf (int time_displayed, int color, char *message, ...)
|
||||
{
|
||||
static char buffer[1024];
|
||||
va_list argptr;
|
||||
t_gui_infobar *ptr_infobar;
|
||||
char *pos;
|
||||
|
||||
va_start (argptr, message);
|
||||
vsnprintf (buffer, sizeof (buffer) - 1, message, argptr);
|
||||
va_end (argptr);
|
||||
|
||||
ptr_infobar = (t_gui_infobar *)malloc (sizeof (t_gui_infobar));
|
||||
if (ptr_infobar)
|
||||
{
|
||||
ptr_infobar->text = strdup (message);
|
||||
ptr_infobar->color = color;
|
||||
ptr_infobar->text = strdup (buffer);
|
||||
pos = strchr (ptr_infobar->text, '\n');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
#define INPUT_BUFFER_BLOCK_SIZE 256
|
||||
|
||||
#define NUM_COLORS 37
|
||||
#define NUM_COLORS 38
|
||||
#define COLOR_WIN_TITLE 1
|
||||
#define COLOR_WIN_CHAT 2
|
||||
#define COLOR_WIN_CHAT_TIME 3
|
||||
@ -44,18 +44,19 @@
|
||||
#define COLOR_WIN_STATUS_DATA_OTHER 15
|
||||
#define COLOR_WIN_STATUS_MORE 16
|
||||
#define COLOR_WIN_INFOBAR 17
|
||||
#define COLOR_WIN_INPUT 18
|
||||
#define COLOR_WIN_INPUT_CHANNEL 19
|
||||
#define COLOR_WIN_INPUT_NICK 20
|
||||
#define COLOR_WIN_NICK 21
|
||||
#define COLOR_WIN_NICK_OP 22
|
||||
#define COLOR_WIN_NICK_HALFOP 23
|
||||
#define COLOR_WIN_NICK_VOICE 24
|
||||
#define COLOR_WIN_NICK_SEP 25
|
||||
#define COLOR_WIN_NICK_SELF 26
|
||||
#define COLOR_WIN_NICK_PRIVATE 27
|
||||
#define COLOR_WIN_NICK_FIRST 28
|
||||
#define COLOR_WIN_NICK_LAST 37
|
||||
#define COLOR_WIN_INFOBAR_HIGHLIGHT 18
|
||||
#define COLOR_WIN_INPUT 19
|
||||
#define COLOR_WIN_INPUT_CHANNEL 20
|
||||
#define COLOR_WIN_INPUT_NICK 21
|
||||
#define COLOR_WIN_NICK 22
|
||||
#define COLOR_WIN_NICK_OP 23
|
||||
#define COLOR_WIN_NICK_HALFOP 24
|
||||
#define COLOR_WIN_NICK_VOICE 25
|
||||
#define COLOR_WIN_NICK_SEP 26
|
||||
#define COLOR_WIN_NICK_SELF 27
|
||||
#define COLOR_WIN_NICK_PRIVATE 28
|
||||
#define COLOR_WIN_NICK_FIRST 29
|
||||
#define COLOR_WIN_NICK_LAST 38
|
||||
#define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1)
|
||||
|
||||
#define SERVER(window) ((t_irc_server *)(window->server))
|
||||
@ -112,6 +113,7 @@ typedef struct t_gui_infobar t_gui_infobar;
|
||||
|
||||
struct t_gui_infobar
|
||||
{
|
||||
int color; /* text color */
|
||||
char *text; /* infobar text */
|
||||
int remaining_time; /* delay (sec) before erasing this text */
|
||||
/* if < 0, text is never erased (except */
|
||||
@ -204,7 +206,7 @@ extern t_gui_infobar *gui_infobar;
|
||||
extern t_gui_window *gui_window_new (void *, void *, int /*int, int, int, int*/); /* TODO: add coordinates and size */
|
||||
extern void gui_window_clear (t_gui_window *);
|
||||
extern void gui_window_clear_all ();
|
||||
extern void gui_infobar_print (char *, int);
|
||||
extern void gui_infobar_printf (int, int, char *, ...);
|
||||
extern void gui_infobar_remove ();
|
||||
extern t_gui_line *gui_new_line (t_gui_window *);
|
||||
extern t_gui_message *gui_new_message (t_gui_window *);
|
||||
|
@ -788,8 +788,17 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
pos2[0] = '\0';
|
||||
irc_display_prefix (ptr_channel->window, PREFIX_ACTION_ME);
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
gui_printf_color (ptr_channel->window,
|
||||
COLOR_WIN_CHAT_HIGHLIGHT, "%s", host);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("On %s: * %s %s"),
|
||||
ptr_channel->name,
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
gui_printf_color (ptr_channel->window,
|
||||
COLOR_WIN_CHAT_NICK, "%s", host);
|
||||
@ -802,8 +811,17 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
if (ptr_nick)
|
||||
{
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
irc_display_nick (ptr_channel->window, ptr_nick,
|
||||
MSG_TYPE_NICK, 1, -1, 0);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("On %s: %s> %s"),
|
||||
ptr_channel->name,
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
irc_display_nick (ptr_channel->window, ptr_nick,
|
||||
MSG_TYPE_NICK, 1, 1, 0);
|
||||
@ -915,10 +933,18 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *arguments)
|
||||
MSG_TYPE_NICK,
|
||||
COLOR_WIN_CHAT_DARK, "<");
|
||||
if (strstr (pos, server->nick))
|
||||
{
|
||||
gui_printf_color_type (ptr_channel->window,
|
||||
MSG_TYPE_NICK,
|
||||
COLOR_WIN_CHAT_HIGHLIGHT,
|
||||
"%s", host);
|
||||
if ( (cfg_look_infobar_delay_highlight > 0)
|
||||
&& (ptr_channel->window != gui_current_window) )
|
||||
gui_infobar_printf (cfg_look_infobar_delay_highlight,
|
||||
COLOR_WIN_INFOBAR_HIGHLIGHT,
|
||||
_("Private %s> %s"),
|
||||
host, pos);
|
||||
}
|
||||
else
|
||||
gui_printf_color_type (ptr_channel->window,
|
||||
MSG_TYPE_NICK,
|
||||
|
@ -215,7 +215,7 @@ static XS (XS_IRC_print_infobar)
|
||||
(void) cv;
|
||||
|
||||
if (items == 2)
|
||||
gui_infobar_print (SvPV (ST (1), integer), SvIV (ST (0)));
|
||||
gui_infobar_printf (SvIV (ST (0)), COLOR_WIN_INFOBAR, SvPV (ST (1), integer));
|
||||
else
|
||||
{
|
||||
irc_display_prefix (NULL, PREFIX_ERROR);
|
||||
|
Loading…
x
Reference in New Issue
Block a user