static void sig_hilight_text(TEXT_DEST_REC *dest, const char *msg) { WI_ITEM_REC *item; int data_level; if (dest->window == active_win || (dest->level & hide_level)) return; if (dest->level & hilight_level) { data_level = DATA_LEVEL_HILIGHT+dest->hilight_priority; } else { data_level = (dest->level & msg_level) ? 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 (dest->target != NULL) { item = window_item_find(dest->server, dest->target); if (item != NULL) { window_item_activity(item, data_level, dest->hilight_color); } } window_activity(dest->window, data_level, dest->hilight_color); }
static void sig_dehilight_window(WINDOW_REC *window) { GSList *tmp; g_return_if_fail(window != NULL); if (window->data_level != 0) { window_activity(window, 0, NULL); for (tmp = window->items; tmp != NULL; tmp = tmp->next) window_item_activity(tmp->data, 0, NULL); } }
static void sig_hilight_text(TEXT_DEST_REC *dest, const char *msg) { WI_ITEM_REC *item; char *tagtarget; int data_level; if (dest->window == active_win || (dest->level & hide_level)) return; if (dest->level & hilight_level) { data_level = DATA_LEVEL_HILIGHT+dest->hilight_priority; } else { data_level = (dest->level & msg_level) ? DATA_LEVEL_MSG : DATA_LEVEL_TEXT; } if ((dest->level & MSGLEVEL_HILIGHT) == 0 && dest->target != NULL) { /* check for both target and tag/target */ if (hide_target_activity(data_level, dest->target)) return; tagtarget = dest->server_tag == NULL ? NULL : g_strdup_printf("%s/%s", dest->server_tag, dest->target); if (hide_target_activity(data_level, tagtarget)) { g_free(tagtarget); return; } g_free(tagtarget); } if (dest->target != NULL) { item = window_item_find(dest->server, dest->target); if (item != NULL) { window_item_activity(item, data_level, dest->hilight_color); } } window_activity(dest->window, data_level, dest->hilight_color); }