From c66ec81c4530a806b0aacc2933f6493cdcbbfc82 Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 30 Sep 2012 15:03:54 +0200 Subject: =?UTF-8?q?Add=20a=20tab-specific=20=E2=80=9Cignore=5Fchanges?= =?UTF-8?q?=E2=80=9D=20option?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The documentation is included in the commit --- doc/en/configure.txt | 7 +++++++ src/tabs.py | 6 ++++++ 2 files changed, 13 insertions(+) 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 \ -- cgit v1.2.3