From 3c894ea558ef167d3332b07ea7929854b53b3ae5 Mon Sep 17 00:00:00 2001 From: Luke Marlin Date: Thu, 13 Oct 2016 18:46:03 +0200 Subject: Added information_popup_type_filter that allow to filter an entire type of messages such as 'roster' 'error' 'information' or 'debug' --- data/default_config.cfg | 5 +++++ doc/source/configuration.rst | 11 +++++++++++ poezio/config.py | 1 + poezio/core/core.py | 6 +++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/data/default_config.cfg b/data/default_config.cfg index d8ec3705..ff0bf698 100644 --- a/data/default_config.cfg +++ b/data/default_config.cfg @@ -198,6 +198,11 @@ use_bookmarks_method = # Possible values; error, roster, warning, info, help #information_buffer_popup_on = error roster warning help info +# A list of message types that should be filtered out from the +# information buffer. +# Possible values; error, roster, warning, info, help +#information_buffer_type_filter = + # The time the message will be visible. If the message takes more than # one line, the popup will stay visible two second per additional lines #popup_time = 4 diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst index 131915c9..f13597e8 100644 --- a/doc/source/configuration.rst +++ b/doc/source/configuration.rst @@ -627,6 +627,17 @@ or the way messages are displayed. A list of message types that should make the information buffer grow Possible values: ``error``, ``roster``, ``warning``, ``info``, ``help`` + information_popup_type_filter + + **Default value:** ``[empty]`` + + Some informational messages (error, a contact getting connected, etc) + are sometimes added to the information buffer. + + A list of message types that should never be displayed in the information + buffer. + Possible values: ``error``, ``roster``, ``warning``, ``info``, ``help`` + display_user_color_in_join_part **Default value:** ``true`` diff --git a/poezio/config.py b/poezio/config.py index f2002382..ade9f740 100644 --- a/poezio/config.py +++ b/poezio/config.py @@ -74,6 +74,7 @@ DEFAULT_CONFIG = { 'ignore_certificate': False, 'ignore_private': False, 'information_buffer_popup_on': 'error roster warning help info', + 'information_buffer_type_filter': '', 'jid': '', 'keyfile': '', 'lang': 'en', diff --git a/poezio/core/core.py b/poezio/core/core.py index f9d30cfe..d14130c6 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -1405,10 +1405,14 @@ class Core(object): """ Displays an informational message in the "Info" buffer """ + filter_types = config.get('information_buffer_type_filter').split(':') + if typ.lower() in filter_types: + log.debug('Did not show the message:\n\t%s> %s \n\tdue to information_popup_type_filter configuration', typ, msg) + return False filter_messages = config.get('filter_info_messages').split(':') for words in filter_messages: if words and words in msg: - log.debug('Did not show the message:\n\t%s> %s', typ, msg) + log.debug('Did not show the message:\n\t%s> %s \n\tdue to filter_info_messages configuration', typ, msg) return False colors = get_theme().INFO_COLORS color = colors.get(typ.lower(), colors.get('default', None)) -- cgit v1.2.3