703c65395cf1603ebc9c49c68b28e5a3a9d87fc5
Now uses proper shell escaping and parsing for all executable arguments, for more robust game launching. All existing game JSON files with the old string values will automatically be converted to the new format on app launch. The executable parsing uses the "shlex" library, which guarantees accurate parsing. We now also use direct process launching (without any intermediary shell) by default, but the old "shell"-based launch method still exists in the code via an alternative flag in `run_command.py` (if we ever need to restore it for some reason). Furthermore, if the user attempts to manually write an improperly escaped argument into the game's details (such as missing closing quotation marks), the GUI will now alert the user that their executable argument is invalid, along with telling them the exact reason why it's invalid.
The Project
Cartridges is a simple game launcher written in Python using GTK4 and Libadwaita.
Features
- Manually adding and editing games
- Importing games from Steam, Heroic and Bottles
- Support for multiple Steam install locations
- Hiding games
- Searching and sorting by title, date added and last played
For updates and questions, join our Discord server!
Installation
Linux
From Releases
- Download the latest release from Releases.
- Install the downloaded file via GNOME Software or
flatpak install hu.kramo.Cartridges.flatpak.
Windows
From Releases
- Download the latest release from Releases.
- Run the downloaded installer.
Note: Windows might present you with a warning when trying to install the app. This is expected, just ignore the warning.
Building manually
See Building.
Contributing
See CONTRIBUTING.
Thanks to Weblate for hosting our translations!
Languages
Python
96.8%
Meson
2.9%
CSS
0.3%
