#! /home/deeejas/.virtualenvs/python3.12/bin/python3 import subprocess import pystray from PIL import Image # ImageDraw # # sudo apt install gir1.2-appindicator3-0.1 # export PYSTRAY_BACKEND=appindicator # https://stackoverflow.com/questions/63630190/python3-namespace-appindicator3-not-available # icon = pystray.Icon('Remote') scripts = {'ab': '/home/deeejas/Documents/remote/Abcons-vnc.sh', 'ab_vnc': '/home/deeejas/Documents/remote/AbCons_WIN10.sh', 'ab_clau': '/home/deeejas/Documents/remote/others/Abcons-clau.sh', 'ab_meli': '/home/deeejas/Documents/remote/others/Abcons-meli.sh', 'mzk': '/home/deeejas/Documents/remote/MZK_alienware.sh', 'mzk_server': '/home/deeejas/Documents/remote/others/MZK_winserver.sh', 'mzk_serv_aa': '/home/deeejas/Documents/remote/others/MZK_winserver_AA.sh', 'mzk_ciel': '/home/deeejas/Documents/remote/others/MZK_alienware_ciel.sh'} def execute_script(icon, item): selected_script = item.text subprocess.run(selected_script) def create_image(): # Generate an image and draw a pattern im = Image.open('/home/deeejas/Downloads/images/RemoteDesktop.ico') # im.show() return im def ab(): subprocess.run(scripts['ab']) def ab_vnc(): subprocess.run(scripts['ab_vnc']) def ab_clau(): subprocess.run(scripts['ab_clau']) def ab_meli(): subprocess.run(scripts['ab_meli']) def mzk(): subprocess.run(scripts['mzk']) def mzk_server(): subprocess.run(scripts['mzk_server']) def mzk_serv_aa(): subprocess.run(scripts['mzk_serv_aa']) def mzk_ciel(): subprocess.run(scripts['mzk_ciel']) def icon_close(icon): icon.stop() menus = {'Ab': ab, 'Ab-vnc': ab_vnc, 'Ab_clau': ab_clau, 'Ab_meli': ab_meli, '----------': None, 'Mzk': mzk, 'Mzk_server': mzk_server, 'Mzk_serv_aa': mzk_serv_aa, 'Mzk_ciel': mzk_ciel, '---------': None, 'Close': icon_close} items = [pystray.MenuItem(name, action) for name, action in menus.items()] icon.icon = create_image() icon.menu = pystray.Menu(*items) icon.run()