diff --git a/src/core/handlers.py b/src/core/handlers.py index 61be8467..e34d0554 100644 --- a/src/core/handlers.py +++ b/src/core/handlers.py @@ -344,12 +344,16 @@ def on_normal_message(self, message): conversation.remote_wants_chatstates = True else: conversation.remote_wants_chatstates = False - if 'private' in config.get('beep_on').split(): + if not own and 'private' in config.get('beep_on').split(): if not config.get_by_tabname('disable_beep', conv_jid.bare): curses.beep() if self.current_tab() is not conversation: - conversation.state = 'private' - self.refresh_tab_win() + if not own: + conversation.state = 'private' + self.refresh_tab_win() + else: + conversation.set_state('normal') + self.refresh_tab_win() else: self.refresh_window() diff --git a/src/tabs/basetabs.py b/src/tabs/basetabs.py index 30ddf239..d54d4578 100644 --- a/src/tabs/basetabs.py +++ b/src/tabs/basetabs.py @@ -171,6 +171,9 @@ class Tab(object): if self._state == 'current': self._prev_state = None + def set_state(self, value): + self._state = value + def save_state(self): if self._state != 'composing': self._prev_state = self._state