From 44757f33e9a285f7b08d64e46eee5d9d975e8860 Mon Sep 17 00:00:00 2001 From: Moritz Wilhelmy Date: Sat, 28 Jun 2014 15:03:31 +0200 Subject: [PATCH 1/2] Make activity_hide_targets setting inhibit beeps --- src/fe-common/core/printtext.c | 4 +++- src/fe-common/core/window-activity.c | 7 +++++++ src/fe-common/core/window-activity.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/fe-common/core/printtext.c b/src/fe-common/core/printtext.c index d3653f90..e45479dd 100644 --- a/src/fe-common/core/printtext.c +++ b/src/fe-common/core/printtext.c @@ -31,6 +31,7 @@ #include "themes.h" #include "fe-windows.h" #include "printtext.h" +#include "window-activity.h" static int beep_msg_level, beep_when_away, beep_when_window_active; @@ -407,7 +408,8 @@ void printtext_gui(const char *text) static void msg_beep_check(TEXT_DEST_REC *dest) { - if (dest->level != 0 && (dest->level & MSGLEVEL_NO_ACT) == 0 && + if (dest->level != 0 && !window_activity_target_is_hidden(dest) && + (dest->level & MSGLEVEL_NO_ACT) == 0 && (beep_msg_level & dest->level) && (beep_when_away || (dest->server != NULL && !dest->server->usermode_away)) && diff --git a/src/fe-common/core/window-activity.c b/src/fe-common/core/window-activity.c index 3be30ae7..3680b3b7 100644 --- a/src/fe-common/core/window-activity.c +++ b/src/fe-common/core/window-activity.c @@ -70,6 +70,13 @@ void window_item_activity(WI_ITEM_REC *item, int data_level, GINT_TO_POINTER(old_data_level)); } +int window_activity_target_is_hidden(TEXT_DEST_REC *dest) +{ + /* check for both target and tag/target */ + return hide_targets != NULL && (dest->level & MSGLEVEL_HILIGHT) == 0 && dest->target != NULL && + strarray_find_dest(hide_targets, dest); +} + static void sig_hilight_text(TEXT_DEST_REC *dest, const char *msg) { WI_ITEM_REC *item; diff --git a/src/fe-common/core/window-activity.h b/src/fe-common/core/window-activity.h index b904872f..4fba5079 100644 --- a/src/fe-common/core/window-activity.h +++ b/src/fe-common/core/window-activity.h @@ -9,5 +9,6 @@ void window_item_activity(WI_ITEM_REC *item, int data_level, void window_activity_init(void); void window_activity_deinit(void); +int window_activity_target_is_hidden(TEXT_DEST_REC *dest); #endif From c89d58835e1a9e759aea43b49f96a9f6a3d2a242 Mon Sep 17 00:00:00 2001 From: Moritz Wilhelmy Date: Sat, 28 Jun 2014 15:10:53 +0200 Subject: [PATCH 2/2] reuse window_activity_target_is_hidden in sig_hilight_text --- src/fe-common/core/window-activity.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/fe-common/core/window-activity.c b/src/fe-common/core/window-activity.c index 3680b3b7..07c907ff 100644 --- a/src/fe-common/core/window-activity.c +++ b/src/fe-common/core/window-activity.c @@ -92,11 +92,8 @@ static void sig_hilight_text(TEXT_DEST_REC *dest, const char *msg) DATA_LEVEL_MSG : DATA_LEVEL_TEXT; } - if (hide_targets != NULL && (dest->level & MSGLEVEL_HILIGHT) == 0 && dest->target != NULL) { - /* check for both target and tag/target */ - if (strarray_find_dest(hide_targets, dest)) - return; - } + if (window_activity_target_is_hidden(dest)) + return; if (dest->target != NULL) { item = window_item_find(dest->server, dest->target);