summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Marlin <luke.marlin@viacesi.fr>2016-10-13 18:46:03 +0200
committerLuke Marlin <luke.marlin@viacesi.Fr>2016-10-23 16:25:44 +0200
commit3c894ea558ef167d3332b07ea7929854b53b3ae5 (patch)
treea58c3bb0b9405231e12b5d5313743a610dda9b91
parentb026bb190d9218578ee08460c8964968784a6dd5 (diff)
downloadpoezio-3c894ea558ef167d3332b07ea7929854b53b3ae5.tar.gz
poezio-3c894ea558ef167d3332b07ea7929854b53b3ae5.tar.bz2
poezio-3c894ea558ef167d3332b07ea7929854b53b3ae5.tar.xz
poezio-3c894ea558ef167d3332b07ea7929854b53b3ae5.zip
Added information_popup_type_filter that allow to
filter an entire type of messages such as 'roster' 'error' 'information' or 'debug'
-rw-r--r--data/default_config.cfg5
-rw-r--r--doc/source/configuration.rst11
-rw-r--r--poezio/config.py1
-rw-r--r--poezio/core/core.py6
4 files changed, 22 insertions, 1 deletions
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))