Added autoscroll when the user is at the bottom of the chat

This commit is contained in:
jeffser 2024-05-18 11:44:16 -06:00
parent 01ea3a0dc8
commit d989ec5324

View File

@ -243,12 +243,12 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.bot_message_box = None self.bot_message_box = None
def update_bot_message(self, data): def update_bot_message(self, data):
vadjustment = self.chat_window.get_vadjustment()
if vadjustment.get_value() + 50 >= vadjustment.get_upper() - vadjustment.get_page_size(): GLib.idle_add(vadjustment.set_value, vadjustment.get_upper())
if data['done']: if data['done']:
formated_datetime = datetime.now().strftime("%Y/%m/%d %H:%M") formated_datetime = datetime.now().strftime("%Y/%m/%d %H:%M")
text = f"\n<small>{data['model']}\t|\t{formated_datetime}</small>" text = f"\n<small>{data['model']}\t|\t{formated_datetime}</small>"
GLib.idle_add(self.bot_message.insert_markup, self.bot_message.get_end_iter(), text, len(text)) GLib.idle_add(self.bot_message.insert_markup, self.bot_message.get_end_iter(), text, len(text))
vadjustment = self.chat_window.get_vadjustment()
GLib.idle_add(vadjustment.set_value, vadjustment.get_upper())
self.save_history() self.save_history()
else: else:
if self.chats["chats"][self.current_chat_id]["messages"][-1]['role'] == "user": if self.chats["chats"][self.current_chat_id]["messages"][-1]['role'] == "user":