From bac803d3b137b3901f1ea17165491761b7c32b84 Mon Sep 17 00:00:00 2001 From: Ali Forouzan <118257906+DevPIXL@users.noreply.github.com> Date: Mon, 12 May 2025 14:59:05 +0000 Subject: [PATCH] Update main_interface.py Added minimize window to tray icon on close --- main_interface.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/main_interface.py b/main_interface.py index 24d69f3..279260c 100644 --- a/main_interface.py +++ b/main_interface.py @@ -4,7 +4,10 @@ import sys import platform import tkinter as tk +import pystray from tkinter import ttk +from PIL import Image +from threading import Thread from card_ollama import Ollama from card_open_webui import OpenWebUI from card_open_webui_pipelines import OpenWebUIPipelines @@ -96,7 +99,24 @@ def background_task(): webui_instance.display(left_group, status_updater) pipelines_instance.display(right_group, status_updater) ollama_instance.display(right_group, status_updater) - + # Tray icon setup + def on_closing(): + root.withdraw() # Hide the window + # Optional: Add logic to show the window again from the tray + + root.protocol("WM_DELETE_WINDOW", on_closing) + + def setup_tray_icon(): + icon = Image.open("braindriveai.ico") # Replace with your icon path + menu = pystray.Menu( + pystray.MenuItem("Restore", root.deiconify), + pystray.MenuItem("Exit", root.destroy) + ) + tray = pystray.Icon("BrainDrive", icon, "BrainDrive.ai Installer", menu) + tray.run() + + # Start tray icon setup + Thread(target=setup_tray_icon, daemon=True).start() # Run the main loop root.mainloop()