Initial version

main
YandolsZX 2 years ago
parent 6a11717eb4
commit 7c2ac6abfa
  1. 56
      chatterino_process_monitor.py
  2. BIN
      icon.png

@ -0,0 +1,56 @@
import psutil
import time
import os
import subprocess
import pystray
from PIL import Image
# Function to check if Chatterino is running
def is_chatterino_running():
for proc in psutil.process_iter():
try:
if "chatterino.exe" in proc.name():
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return False
# Function to run Chatterino
def run_program(program_path):
os.startfile(program_path)
# todo: switch over to subprocess
# process = subprocess.Popen(program_path, cwd = program_path)
# Function to display system tray icon
def on_quit_callback(icon):
icon.stop()
# Define system tray icon and menu
def create_tray_icon():
icon_image = Image.open("icon.png")
menu = pystray.Menu(
pystray.MenuItem(
"Quit", on_quit_callback, default=True
)
)
return pystray.Icon("Chatterino Monitor", icon_image, "Chatterino Monitor", menu)
if __name__ == '__main__':
print("Yandols' Chatterino Process Monitor Script")
# Set path to Chatterino
program_path = "C:\\Program Files\\Chatterino7\\chatterino.exe"
# Create system tray icon
icon = create_tray_icon()
# Loop to check if Chatterino is running every 10 minutes
while True:
if is_chatterino_running():
print("Chatterino is running. Rechecking in 10 minutes.")
else:
print("Chatterino is not running. Starting in 30 seconds...")
time.sleep(30)
run_program(program_path)
time.sleep(1) # wait for system tray icon to initialize
time.sleep(600) # wait 10 minutes

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Loading…
Cancel
Save