summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2012-09-30 15:03:54 +0200
committermathieui <mathieui@mathieui.net>2012-09-30 15:03:54 +0200
commitc66ec81c4530a806b0aacc2933f6493cdcbbfc82 (patch)
tree550d852e12882cd3e2f11e561f3b2167f38cfd54
parente480d8418ab396bddabebca1802c9bcf443e07b4 (diff)
downloadpoezio-c66ec81c4530a806b0aacc2933f6493cdcbbfc82.tar.gz
poezio-c66ec81c4530a806b0aacc2933f6493cdcbbfc82.tar.bz2
poezio-c66ec81c4530a806b0aacc2933f6493cdcbbfc82.tar.xz
poezio-c66ec81c4530a806b0aacc2933f6493cdcbbfc82.zip
Add a tab-specific “ignore_changes” option
- The documentation is included in the commit
-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 \