732bb77192f59bc61fc77481383c086373a99417
The function was getting a bit convoluted to follow, and there was a maintenance burden of having to remember that "shell=True" should only be true if the argument is a single string to be passed exactly as-is to the shell. If it's a list, only the first value in the list would be ran as the shell command and the rest would be given as arguments to the shell itself. Therefore, it's been refactored to automatically determine shell-mode based on whether "args" is a list or a string. On Windows, we now generate a correctly escaped shell-string via "shlex". This ensures that we properly support spaces inside quoted launch arguments, by auto-escaping them on a per-argument basis. The extra pylint hint is needed because the import is detected as unused on non-Windows machines.
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%
