summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/en/configure.txt7
-rw-r--r--src/tabs.py6
2 files changed, 13 insertions, 0 deletions
diff --git a/doc/en/configure.txt b/doc/en/configure.txt
index 479f5a06..08761f2f 100644
--- a/doc/en/configure.txt
+++ b/doc/en/configure.txt
@@ -505,6 +505,13 @@ foo = true
a list of words (separated by a colon (:)) that will be
highlighted if said by someone on a room
+*ignore_changes*:: false
+
+ True if you want this tab to stay in the “normal” state at all times (no
+ changes in the tab list), e.g. when people in a room talk a lot, and you
+ don’t want to be notified. (remember to use it with disable_beep if you
+ don’t want to be notified at all)
+
*ignore_private*:: false
Ignore private messages sent from this room.
diff --git a/src/tabs.py b/src/tabs.py
index 327ecfba..9b556ae2 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -169,6 +169,12 @@ class Tab(object):
@state.setter
def state(self, value):
+ if config.get_by_tabname('ignore_changes', 'false', self.get_name(), fallback=False).lower() == 'true':
+ if value == 'current':
+ self._state = 'current'
+ else:
+ self._state = 'normal'
+ return
if not value in STATE_COLORS:
log.debug("Invalid value for tab state: %s", value)
elif STATE_PRIORITY[value] < STATE_PRIORITY[self._state] and \