Scroll to bottom when message is sent (kinda)
This commit is contained in:
parent
ef280c8836
commit
a62d193edf
@ -158,7 +158,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
css_classes=[None if bot else "card"]
|
css_classes=[None if bot else "card"]
|
||||||
)
|
)
|
||||||
message_text.set_valign(Gtk.Align.CENTER)
|
message_text.set_valign(Gtk.Align.CENTER)
|
||||||
self.chat_container.append(message_box)
|
|
||||||
|
|
||||||
if image_base64 is not None:
|
if image_base64 is not None:
|
||||||
image_data = base64.b64decode(image_base64)
|
image_data = base64.b64decode(image_base64)
|
||||||
@ -179,6 +179,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
message_box.append(image)
|
message_box.append(image)
|
||||||
|
|
||||||
message_box.append(message_text)
|
message_box.append(message_text)
|
||||||
|
self.chat_container.append(message_box)
|
||||||
|
|
||||||
if bot:
|
if bot:
|
||||||
self.bot_message = message_buffer
|
self.bot_message = message_buffer
|
||||||
@ -415,11 +416,15 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.export_chat_button.set_sensitive(False)
|
self.export_chat_button.set_sensitive(False)
|
||||||
self.import_chat_button.set_sensitive(False)
|
self.import_chat_button.set_sensitive(False)
|
||||||
self.image_button.set_sensitive(False)
|
self.image_button.set_sensitive(False)
|
||||||
|
|
||||||
self.show_message(self.message_text_view.get_buffer().get_text(self.message_text_view.get_buffer().get_start_iter(), self.message_text_view.get_buffer().get_end_iter(), False), False, f"\n\n<small>{formated_datetime}</small>", self.attached_image["base64"])
|
self.show_message(self.message_text_view.get_buffer().get_text(self.message_text_view.get_buffer().get_start_iter(), self.message_text_view.get_buffer().get_end_iter(), False), False, f"\n\n<small>{formated_datetime}</small>", self.attached_image["base64"])
|
||||||
self.message_text_view.get_buffer().set_text("", 0)
|
self.message_text_view.get_buffer().set_text("", 0)
|
||||||
self.show_message("", True)
|
|
||||||
self.loading_spinner = Gtk.Spinner(spinning=True, margin_top=12, margin_bottom=12, hexpand=True)
|
self.loading_spinner = Gtk.Spinner(spinning=True, margin_top=12, margin_bottom=12, hexpand=True)
|
||||||
self.chat_container.append(self.loading_spinner)
|
self.chat_container.append(self.loading_spinner)
|
||||||
|
self.show_message("", True)
|
||||||
|
|
||||||
|
vadjustment = self.chat_window.get_vadjustment()
|
||||||
|
vadjustment.set_value(vadjustment.get_upper())
|
||||||
thread = threading.Thread(target=self.run_message, args=(data['messages'], data['model']))
|
thread = threading.Thread(target=self.run_message, args=(data['messages'], data['model']))
|
||||||
thread.start()
|
thread.start()
|
||||||
|
|
||||||
@ -838,7 +843,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.preferences_dialog.present(self)
|
self.preferences_dialog.present(self)
|
||||||
|
|
||||||
def start_instance(self):
|
def start_instance(self):
|
||||||
self.ollama_instance = subprocess.Popen(["/app/bin/ollama", "serve"], env={**os.environ, 'OLLAMA_HOST': f"127.0.0.1:{self.local_ollama_port}", "HOME": self.data_dir}, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
self.ollama_instance = subprocess.Popen(["/app/bin/ollama", "serve"], env={**os.environ, 'OLLAMA_HOST': f"127.0.0.1:{self.local_ollama_port}", "HOME": self.data_dir}, stderr=subprocess.PIPE, text=True)
|
||||||
sleep(1)
|
sleep(1)
|
||||||
while True:
|
while True:
|
||||||
err = self.ollama_instance.stderr.readline()
|
err = self.ollama_instance.stderr.readline()
|
||||||
|
@ -168,14 +168,14 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkScrolledWindow" id="chat_window">
|
<object class="GtkScrolledWindow" id="chat_window">
|
||||||
<property name="margin-bottom">12</property>
|
<property name="margin-bottom">12</property>
|
||||||
<property name="propagate-natural-height">true</property>
|
<property name="propagate-natural-height">false</property>
|
||||||
<property name="kinetic-scrolling">1</property>
|
<property name="kinetic-scrolling">true</property>
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox" id="chat_container">
|
<object class="GtkBox" id="chat_container">
|
||||||
<property name="orientation">1</property>
|
<property name="orientation">1</property>
|
||||||
<property name="homogeneous">false</property>
|
<property name="homogeneous">false</property>
|
||||||
<property name="hexpand">false</property>
|
<property name="hexpand">true</property>
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<property name="spacing">12</property>
|
<property name="spacing">12</property>
|
||||||
<property name="margin-top">12</property>
|
<property name="margin-top">12</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user