diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core.py | 8 | ||||
-rw-r--r-- | src/tabs.py | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/core.py b/src/core.py index 2e920508..09766852 100644 --- a/src/core.py +++ b/src/core.py @@ -104,6 +104,7 @@ class Core(object): self.tab_win = windows.GlobalInfoBar() self.information_buffer.add_window(self.information_win) self.tabs = [] + self.xml_tabs = 0 self.previous_tab_nb = 0 self.own_nick = config.get('default_nick', '') or self.xmpp.boundjid.user # global commands, available from all tabs @@ -285,19 +286,22 @@ class Core(object): tabs.Tab.height - 1 - self.information_win_size - tabs.Tab.tab_win_height(), 0) def outgoing_stanza(self, stanza): - self.add_message_to_text_buffer(self.xml_buffer, '\x191}<--\x19o %s' % stanza) + if self.xml_tabs: + self.add_message_to_text_buffer(self.xml_buffer, '\x191}<--\x19o %s' % stanza) if isinstance(self.current_tab(), tabs.XMLTab): self.current_tab().refresh() self.doupdate() def incoming_stanza(self, stanza): - self.add_message_to_text_buffer(self.xml_buffer, '\x192}-->\x19o %s' % stanza) + if self.xml_tabs: + self.add_message_to_text_buffer(self.xml_buffer, '\x192}-->\x19o %s' % stanza) if isinstance(self.current_tab(), tabs.XMLTab): self.current_tab().refresh() self.doupdate() def command_xml_tab(self, arg): """/xml_tab""" + self.xml_tabs += 1 tab = tabs.XMLTab() self.add_tab(tab, True) diff --git a/src/tabs.py b/src/tabs.py index afe77274..39541b04 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -2719,6 +2719,9 @@ class XMLTab(Tab): self.state = 'current' curses.curs_set(0) + def on_close(self): + self.core.xml_tabs -= 1 + class SimpleTextTab(Tab): """ A very simple tab, with just a text displaying some |