diff --git a/src/groupchat_control.py b/src/groupchat_control.py index d4f77414c..a99629f22 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1418,11 +1418,22 @@ class GroupchatControl(ChatControlBase): end_iter = message_buffer.get_iter_at_mark(cursor_position) text = message_buffer.get_text(start_iter, end_iter, False).decode( 'utf-8') - if text.endswith(' '): - if not self.last_key_tabs: - return False splitted_text = text.split() + # topic completion + splitted_text2 = text.split(None, 1) + if text.startswith('/topic '): + if len(splitted_text2) == 2 and \ + self.subject.startswith(splitted_text2[1]) and\ + len(self.subject) > len(splitted_text2[1]): + message_buffer.insert_at_cursor( + self.subject[len(splitted_text2[1]):]) + return True + elif len(splitted_text2) == 1 and text.startswith('/topic '): + message_buffer.delete(start_iter, end_iter) + message_buffer.insert_at_cursor('/topic '+self.subject) + return True + # command completion if text.startswith('/') and len(splitted_text) == 1: text = splitted_text[0]