- todo: quand on fait un remove, faire un remove aussi de la partie ~/.cache/org.devys.org/games/ - faire une commande reinstall qui fait juste remove puis install. - todo: ajouter system d'update, gérer jeux qui références une archive d'un autre jeux (subgame sortof avec parent_id: xxx, possible d'overrider la commande si précisée), avoir des alias (ex ff1 expand to final_fantasy_01), gérer jeux qui ont des options de commandes, simplifier la partie install... - faire une option pour reset le cache (utile pour notamment faire un WINEPREFIX_RESET=1) - make output of list --installed consistent with --not-installed - implem with asyncio for steppers to simplify implementation - with cli just run asyncio.run(main()) - with gui, run gtk in a thread and asyncio.run in main thread (or the reverse) and make them communicate with a queue. - if not easily working, use https://blogs.gnome.org/jamesh/2019/08/05/glib-integration-for-python-asyncio/ - sed tout les runners pour utiliser un truc genre GC_LANGUAGE (gamechest language) à la place de LANGUAGE qui est une var système classique qui risque de foutre la grouille sur certains jeux en la redéfinissant à des valeurs qui ne sont pas standard. Whishlist cat ============= - gamechest update , update the game if installed - gamechest update, update all installed games - gamechest install --all, install all available games - gamechest remove --all, remove all available games - gamechest install a b c, install all these games