diff --git a/src/conversation_textview.py b/src/conversation_textview.py index 5c45e1ecc..1fdd4aa9d 100644 --- a/src/conversation_textview.py +++ b/src/conversation_textview.py @@ -522,7 +522,7 @@ class ConversationTextview(gobject.GObject): del self.xep0184_marks[id_] del self.xep0184_shown[id_] - def show_focus_out_line(self): + def show_focus_out_line(self, scroll=True): if not self.allow_focus_out_line: # if room did not receive focus-in from the last time we added # --- line then do not readd @@ -581,8 +581,10 @@ class ConversationTextview(gobject.GObject): buffer_.end_user_action() - # scroll to the end (via idle in case the scrollbar has appeared) - gobject.idle_add(self.scroll_to_end) + if scroll: + # scroll to the end (via idle in case the scrollbar has + # appeared) + gobject.idle_add(self.scroll_to_end) def show_xep0184_warning_tooltip(self): pointer = self.tv.get_pointer() diff --git a/src/groupchat_control.py b/src/groupchat_control.py index c416869bb..3af4ad402 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -1149,7 +1149,8 @@ class GroupchatControl(ChatControlBase): # we have full focus (we are reading it!) return - self.conv_textview.show_focus_out_line() + at_the_end = self.conv_textview.at_the_end() + self.conv_textview.show_focus_out_line(scroll=at_the_end) def needs_visual_notification(self, text): """