Detect hilights in NOTICEs
This commit is contained in:
parent
c1091c38b8
commit
4ac7664a06
@ -935,6 +935,7 @@ inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id,
|
|||||||
char *ptr = to;
|
char *ptr = to;
|
||||||
session *sess = 0;
|
session *sess = 0;
|
||||||
int server_notice = FALSE;
|
int server_notice = FALSE;
|
||||||
|
int hilight = FALSE;
|
||||||
|
|
||||||
if (is_channel (serv, ptr))
|
if (is_channel (serv, ptr))
|
||||||
sess = find_channel (serv, ptr);
|
sess = find_channel (serv, ptr);
|
||||||
@ -1021,9 +1022,15 @@ inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id,
|
|||||||
msg[len - 1] = '\000';
|
msg[len - 1] = '\000';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_hilight (nick, msg, sess, serv))
|
||||||
|
hilight = TRUE;
|
||||||
|
|
||||||
if (server_notice)
|
if (server_notice)
|
||||||
EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVNOTICE, sess, msg, nick, NULL, NULL, 0,
|
EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVNOTICE, sess, msg, nick, NULL, NULL, 0,
|
||||||
tags_data->timestamp);
|
tags_data->timestamp);
|
||||||
|
else if (hilight)
|
||||||
|
EMIT_SIGNAL_TIMESTAMP (XP_TE_HCHANNOTICE, sess, nick, to, msg, NULL, 0,
|
||||||
|
tags_data->timestamp);
|
||||||
else if (ptr)
|
else if (ptr)
|
||||||
EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANNOTICE, sess, nick, to, msg, NULL, 0,
|
EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANNOTICE, sess, nick, to, msg, NULL, 0,
|
||||||
tags_data->timestamp);
|
tags_data->timestamp);
|
||||||
|
@ -2083,6 +2083,7 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d,
|
|||||||
/* ===Highlighted message=== */
|
/* ===Highlighted message=== */
|
||||||
case XP_TE_HCHANACTION:
|
case XP_TE_HCHANACTION:
|
||||||
case XP_TE_HCHANMSG:
|
case XP_TE_HCHANMSG:
|
||||||
|
case XP_TE_HCHANNOTICE:
|
||||||
if (chanopt_is_set (prefs.hex_input_beep_hilight, sess->alert_beep) && (!prefs.hex_away_omit_alerts || !sess->server->is_away))
|
if (chanopt_is_set (prefs.hex_input_beep_hilight, sess->alert_beep) && (!prefs.hex_away_omit_alerts || !sess->server->is_away))
|
||||||
sound_beep (sess);
|
sound_beep (sess);
|
||||||
if (chanopt_is_set (prefs.hex_input_flash_hilight, sess->alert_taskbar) && (!prefs.hex_away_omit_alerts || !sess->server->is_away))
|
if (chanopt_is_set (prefs.hex_input_flash_hilight, sess->alert_taskbar) && (!prefs.hex_away_omit_alerts || !sess->server->is_away))
|
||||||
|
@ -148,6 +148,12 @@ pevt_channotice_help
|
|||||||
-%C18$1%C/%C22$2%C-$t$3%O
|
-%C18$1%C/%C22$2%C-$t$3%O
|
||||||
n3
|
n3
|
||||||
|
|
||||||
|
Channel Notice Hilight
|
||||||
|
XP_TE_HCHANNOTICE
|
||||||
|
pevt_channotice_help
|
||||||
|
%C19-%B$1%B/$2-$t$3%O
|
||||||
|
n3
|
||||||
|
|
||||||
Channel Operator
|
Channel Operator
|
||||||
XP_TE_CHANOP
|
XP_TE_CHANOP
|
||||||
pevt_chanop_help
|
pevt_chanop_help
|
||||||
|
@ -192,6 +192,7 @@ notification_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, cha
|
|||||||
|
|
||||||
hexchat_hook_print (ph, "Channel Msg Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL);
|
hexchat_hook_print (ph, "Channel Msg Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL);
|
||||||
hexchat_hook_print (ph, "Channel Action Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL);
|
hexchat_hook_print (ph, "Channel Action Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL);
|
||||||
|
hexchat_hook_print (ph, "Channel Notice Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL);
|
||||||
|
|
||||||
hexchat_hook_print (ph, "Channel Message", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL);
|
hexchat_hook_print (ph, "Channel Message", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL);
|
||||||
hexchat_hook_print (ph, "Channel Action", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL);
|
hexchat_hook_print (ph, "Channel Action", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL);
|
||||||
|
@ -783,6 +783,7 @@ tray_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name,
|
|||||||
|
|
||||||
hexchat_hook_print (ph, "Channel Msg Hilight", -1, tray_hilight_cb, NULL);
|
hexchat_hook_print (ph, "Channel Msg Hilight", -1, tray_hilight_cb, NULL);
|
||||||
hexchat_hook_print (ph, "Channel Action Hilight", -1, tray_hilight_cb, NULL);
|
hexchat_hook_print (ph, "Channel Action Hilight", -1, tray_hilight_cb, NULL);
|
||||||
|
hexchat_hook_print (ph, "Channel Notice Hilight", -1, tray_hilight_cb, NULL);
|
||||||
|
|
||||||
hexchat_hook_print (ph, "Channel Message", -1, tray_message_cb, NULL);
|
hexchat_hook_print (ph, "Channel Message", -1, tray_message_cb, NULL);
|
||||||
hexchat_hook_print (ph, "Channel Action", -1, tray_message_cb, NULL);
|
hexchat_hook_print (ph, "Channel Action", -1, tray_message_cb, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user