1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00

/SET activity_level, /SET hilight_level .. which message levels should

be treated as msg/hilight activity. Patch by tommik.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@819 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-11-09 20:38:50 +00:00 committed by cras
parent b3b1438d22
commit a4bb4fb983

View File

@ -31,6 +31,7 @@
#include "hilight-text.h" #include "hilight-text.h"
static const char *noact_channels; static const char *noact_channels;
static int hilight_level, activity_level;
static void sig_hilight_text(WINDOW_REC *window, SERVER_REC *server, static void sig_hilight_text(WINDOW_REC *window, SERVER_REC *server,
const char *channel, void *levelptr, const char *channel, void *levelptr,
@ -44,9 +45,9 @@ static void sig_hilight_text(WINDOW_REC *window, SERVER_REC *server,
/* hilights and private messages get HILIGHT status, /* hilights and private messages get HILIGHT status,
public messages get MSGS status and rest get TEXT */ public messages get MSGS status and rest get TEXT */
new_data = (level & (MSGLEVEL_HILIGHT|MSGLEVEL_MSGS)) ? new_data = (level & (MSGLEVEL_HILIGHT|hilight_level)) ?
NEWDATA_HILIGHT : NEWDATA_HILIGHT :
((level & MSGLEVEL_PUBLIC) ? NEWDATA_MSG : NEWDATA_TEXT); ((level & activity_level) ? NEWDATA_MSG : NEWDATA_TEXT);
/* check that channel isn't in "don't show activity" list */ /* check that channel isn't in "don't show activity" list */
if (new_data < NEWDATA_HILIGHT && if (new_data < NEWDATA_HILIGHT &&
@ -145,7 +146,7 @@ static void sig_message(SERVER_REC *server, const char *msg,
/* hilight */ /* hilight */
if (item != NULL) item->last_color = hilight_last_nick_color(); if (item != NULL) item->last_color = hilight_last_nick_color();
level = (item != NULL && item->last_color > 0) || level = (item != NULL && item->last_color > 0) ||
(level & MSGLEVEL_MSGS) || (level & hilight_level) ||
nick_match_msg(SERVER(server), msg, server->nick) ? nick_match_msg(SERVER(server), msg, server->nick) ?
NEWDATA_HILIGHT : NEWDATA_MSG; NEWDATA_HILIGHT : NEWDATA_MSG;
if (item != NULL && item->new_data < level) { if (item != NULL && item->new_data < level) {
@ -181,11 +182,15 @@ static void sig_message_private(SERVER_REC *server, const char *msg,
static void read_settings(void) static void read_settings(void)
{ {
noact_channels = settings_get_str("noact_channels"); noact_channels = settings_get_str("noact_channels");
activity_level = level2bits(settings_get_str("activity_levels"));
hilight_level = level2bits(settings_get_str("hilight_levels"));
} }
void window_activity_init(void) void window_activity_init(void)
{ {
settings_add_str("lookandfeel", "noact_channels", ""); settings_add_str("lookandfeel", "noact_channels", "");
settings_add_str("lookandfeel", "activity_levels", "PUBLIC");
settings_add_str("lookandfeel", "hilight_levels", "MSGS DCCMSGS");
read_settings(); read_settings();
signal_add("print text", (SIGNAL_FUNC) sig_hilight_text); signal_add("print text", (SIGNAL_FUNC) sig_hilight_text);