#!/usr/bin/env python3

import json
import os
import subprocess
import sys

try:
    # Получаем список игр
    result = subprocess.run(["lutris", "-ojl"], capture_output=True, text=True)
    games = json.loads(result.stdout)
    
    # Формируем список названий
    game_names = [game["name"] for game in games]
    games_list = "\n".join(game_names)
    
    # Выбор игры через wofi
    wofi_process = subprocess.Popen(
        ["wofi", "-n", "-d", "-p", "Select Game:"],
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        text=True
    )
    selected_game, _ = wofi_process.communicate(input=games_list)
    selected_game = selected_game.strip()
    
    if not selected_game:
        sys.exit(0)
        
    # Запускаем выбранную игру
    for game in games:
        if game["name"] == selected_game:
            subprocess.Popen(["lutris", f"lutris:rungameid/{game['id']}"])
            break
except Exception as e:
    print(f"Error: {e}", file=sys.stderr)
    sys.exit(1)
