Skip to content
This repository was archived by the owner on Mar 8, 2026. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion main_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand Down