$ account Faugus
Faugus Launcher is a Linux-native game launcher designed to run Windows games via compatibility layers (UMU-Launcher/Proton/Wine). It provides a modern GTK4/libadwaita GUI with multiple views (list, grid, covers, carrousel) for managing and launching games from sources like Steam, Epic, and others. The application handles game configuration, Proton version management, prefix handling, shortcut creation (desktop/appmenu/Steam), system tray integration, backup/restore of settings, and performance tool integration (MangoHud, GameMode, Lossless Scaling). Architecturally, it follows a modular Python structure with clear separation of concerns: launcher.py (main GUI), runner.py (game execution), config_manager.py (settings), proton_manager.py (Proton handling), backup.py (backup/restore), shortcut.py (shortcut creation), tray_sni.py (system tray), and various utility modules. Key entry points include the main launcher (launched via flatpak/AppImage/binary), the runner for game execution, and the tray daemon for background operation. Data flows involve storing game metadata in JSON files (games.json), configuring launch environments, and interacting with external services like SteamGridDB for art and GitHub for Proton/UMU updates. The application demonstrates strong engineering practices: atomic JSON writes to prevent corruption, proper GTK resource cleanup, background task handling, cross-platform path management for Flatpak/AppImage/native installs, and a configuration migration system. While it relies on external tools (mangohud, gamemoderun, icoextract) and online APIs (SteamGridDB, GitHub), it gracefully handles missing dependencies. The codebase is actively maintained with recent commits, CI/CD workflows for multiple packaging formats, and ongoing translation efforts.