pystray_remote.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #! /home/deeejas/.virtualenvs/python3.12/bin/python3
  2. import subprocess
  3. import pystray
  4. from PIL import Image # ImageDraw
  5. #
  6. # sudo apt install gir1.2-appindicator3-0.1
  7. # export PYSTRAY_BACKEND=appindicator
  8. # https://stackoverflow.com/questions/63630190/python3-namespace-appindicator3-not-available
  9. #
  10. icon = pystray.Icon('Remote')
  11. scripts = {'ab': '/home/deeejas/Documents/remote/Abcons-vnc.sh',
  12. 'ab_vnc': '/home/deeejas/Documents/remote/AbCons_WIN10.sh',
  13. 'ab_clau': '/home/deeejas/Documents/remote/others/Abcons-clau.sh',
  14. 'ab_meli': '/home/deeejas/Documents/remote/others/Abcons-meli.sh',
  15. 'mzk': '/home/deeejas/Documents/remote/MZK_alienware.sh',
  16. 'mzk_server': '/home/deeejas/Documents/remote/others/MZK_winserver.sh',
  17. 'mzk_serv_aa': '/home/deeejas/Documents/remote/others/MZK_winserver_AA.sh',
  18. 'mzk_ciel': '/home/deeejas/Documents/remote/others/MZK_alienware_ciel.sh'}
  19. def execute_script(icon, item):
  20. selected_script = item.text
  21. subprocess.run(selected_script)
  22. def create_image():
  23. # Generate an image and draw a pattern
  24. im = Image.open('/home/deeejas/Downloads/images/RemoteDesktop.ico')
  25. # im.show()
  26. return im
  27. def ab():
  28. subprocess.run(scripts['ab'])
  29. def ab_vnc():
  30. subprocess.run(scripts['ab_vnc'])
  31. def ab_clau():
  32. subprocess.run(scripts['ab_clau'])
  33. def ab_meli():
  34. subprocess.run(scripts['ab_meli'])
  35. def mzk():
  36. subprocess.run(scripts['mzk'])
  37. def mzk_server():
  38. subprocess.run(scripts['mzk_server'])
  39. def mzk_serv_aa():
  40. subprocess.run(scripts['mzk_serv_aa'])
  41. def mzk_ciel():
  42. subprocess.run(scripts['mzk_ciel'])
  43. def icon_close(icon):
  44. icon.stop()
  45. menus = {'Ab': ab,
  46. 'Ab-vnc': ab_vnc,
  47. 'Ab_clau': ab_clau,
  48. 'Ab_meli': ab_meli,
  49. '----------': None,
  50. 'Mzk': mzk,
  51. 'Mzk_server': mzk_server,
  52. 'Mzk_serv_aa': mzk_serv_aa,
  53. 'Mzk_ciel': mzk_ciel,
  54. '---------': None,
  55. 'Close': icon_close}
  56. items = [pystray.MenuItem(name, action) for name, action in menus.items()]
  57. icon.icon = create_image()
  58. icon.menu = pystray.Menu(*items)
  59. icon.run()