diff --git a/src/core.py b/src/core.py index 3fcfabfb..199bf237 100644 --- a/src/core.py +++ b/src/core.py @@ -1213,12 +1213,11 @@ class Core(object): Move the new-messages separator at the bottom on the current text. """ - try: - room = self.current_tab().get_room() - except: + window = self.current_tab().get_text_window() + if not window: return - room.remove_line_separator() - room.add_line_separator() + window.remove_line_separator() + window.add_line_separator() self.refresh_window() def information(self, msg, typ=''): diff --git a/src/tabs.py b/src/tabs.py index 5f851cc6..bb9db89e 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -124,6 +124,12 @@ class Tab(object): """ raise NotImplementedError + def get_text_window(self): + """ + Returns the principal TextWin window, if there's one + """ + return None + def on_input(self, key): pass @@ -348,6 +354,7 @@ class MucTab(ChatTab): for user in sorted(users, key=compare_users, reverse=True): user.color = theme.LIST_COLOR_NICKNAMES[i % nb_color] i+= 1 + self.text_win.rebuild_everything(self.get_room()) self.core.refresh_window() def command_nick(self, arg): @@ -540,6 +547,9 @@ class MucTab(ChatTab): def get_name(self): return self._room.name + def get_text_window(self): + return self.text_win + def get_room(self): return self._room @@ -664,6 +674,9 @@ class PrivateTab(ChatTab): def get_room(self): return self._room + def get_text_window(self): + return self.text_win + def just_before_refresh(self): return @@ -939,6 +952,9 @@ class ConversationTab(ChatTab): def get_room(self): return self._room + def get_text_window(self): + return self.text_win + def just_before_refresh(self): return