Как реализовать открытие окна при нажатии на иконку в трее?

Нашёл вот такую информацию по pystray:

Меню также поддерживают элемент по умолчанию. В Windows и X этот элемент будет активирован, когда пользователь щелкнет значок с помощью основной кнопки. На других платформах он будет активирован, если в меню нет видимых записей; это не обязательно должно быть видно.

В моём предыдущем вопросе мне подсказали как свернуть программу в трей с меню, но нету никакой информации по щелчку ЛКМ по иконке в трее.

Как сделать выполнение события при щелчке ЛКМ на иконку в трее?

from pystray import MenuItem as item
import pystray
from PIL import Image
import tkinter as tk

window = tk.Tk()
window.title("Welcome")

def quit_window(icon, item):
    icon.stop()
    window.destroy()

def show_window(icon, item):
    icon.stop()
    window.after(0,window.deiconify)

def withdraw_window():  
    window.withdraw()
    image = Image.open("image.ico")
    menu = (item('Quit', quit_window), item('Show', show_window))
    icon = pystray.Icon("name", image, "title", menu)
    icon.run()

window.protocol('WM_DELETE_WINDOW', withdraw_window)
window.mainloop()

Обновление

Ошибка:

An error occurred when calling message handler
Traceback (most recent call last):
  File "C:\Python380\lib\site-packages\pystray\_win32.py", line 386, in _dispatcher
    return int(icon._message_handlers.get(
  File "C:\Python380\lib\site-packages\pystray\_win32.py", line 184, in _on_notify
    self()
  File "C:\Python380\lib\site-packages\pystray\_base.py", line 88, in __call__
    self._menu(self)
TypeError: 'tuple' object is not callable

Ответы (2 шт):

Автор решения: insolor

Чтобы работало действие по-умолчанию, нужно элементы добавлять как объект Menu, а не как кортеж, и для нужного пункта меню указать default=True:

menu = Menu(item('Quit', quit_window), item('Show', show_window, default=True))
icon = pystray.Icon("name", image, "title", menu)

Действие по-умолчанию работает не на всех платформах, либо есть своя специфика (у меня на Linux Mint 20 Cinnamon при любом варианте клика на значке выводится меню). Чтобы узнать, поддерживает ли платформа действие по-умолчанию, нужно вывести константу Icon.HAS_DEFAULT_ACTION:

print(pystray.Icon.HAS_DEFAULT_ACTION)  # У меня выводит False

См. документацию pystray

→ Ссылка
Автор решения: Рамиль Зиннатуллин

Столкнулся с той же проблемой, странно что её до сих пор не починили.

На гитхабе либы оставил ишьюс как починить проблему :

https://github.com/moses-palmer/pystray/issues/88

→ Ссылка