Compare commits

14 Commits

Author SHA1 Message Date
4a82fc4a12 chore: bump uv
Some checks failed
Code and build check / Check code (push) Successful in 1m31s
Code and build check / Build with uv (push) Successful in 1m2s
Build AppImage, Arch and Fedora Packages / Build AppImage (push) Successful in 3m51s
Build AppImage, Arch and Fedora Packages / Build Arch Package (push) Successful in 1m35s
Build AppImage, Arch and Fedora Packages / Build Fedora RPM (41) (push) Successful in 1m33s
Build AppImage, Arch and Fedora Packages / Build Fedora RPM (42) (push) Successful in 1m40s
Build AppImage, Arch and Fedora Packages / Build Fedora RPM (rawhide) (push) Successful in 1m33s
Build AppImage, Arch and Fedora Packages / Create and Publish Release (push) Failing after 1m1s
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-05 13:18:53 +05:00
dd5db7c6c0 chore: bump ver
Some checks failed
Code and build check / Check code (push) Successful in 1m47s
Code and build check / Build with uv (push) Has been cancelled
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-05 13:14:43 +05:00
0fe1d3f569 chore(readme): update todo
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-05 13:13:58 +05:00
fd85684500 chore(changelog): update
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-05 13:12:14 +05:00
8b84afe64f удалены дубли обложек
All checks were successful
Code and build check / Check code (pull_request) Successful in 1m42s
Code and build check / Build with uv (pull_request) Successful in 1m2s
2025-07-05 15:04:12 +07:00
bf6e04fcb7 Merge remote-tracking branch 'origin/autoinstalls' into autoinstalls
All checks were successful
Code and build check / Check code (pull_request) Successful in 1m52s
Code and build check / Build with uv (pull_request) Successful in 1m10s
2025-07-05 14:59:33 +07:00
7da1c9763c изменены названия обложек 2025-07-05 14:59:03 +07:00
0a7c11a96a изменены названия обложек 2025-07-05 14:58:33 +07:00
79af455e50 Добавлены встроенные переопределения для автоустановок
All checks were successful
Code and build check / Check code (pull_request) Successful in 1m49s
Code and build check / Build with uv (pull_request) Successful in 1m6s
2025-07-05 07:47:48 +00:00
6464d5f87c chore(build): disable Fedora run-time dependency generator
All checks were successful
Code and build check / Check code (push) Successful in 1m38s
Code and build check / Build with uv (push) Successful in 52s
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-05 12:26:59 +05:00
ac94706f0b feat: added PROCESS_LOG = 1 on PortProton start
All checks were successful
Code and build check / Check code (push) Successful in 1m43s
Code and build check / Build with uv (push) Successful in 54s
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-04 20:24:42 +05:00
a5b12fb00c chore(changelog): update
All checks were successful
Code and build check / Check code (push) Successful in 1m45s
Code and build check / Build with uv (push) Successful in 58s
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-04 12:10:03 +05:00
b42f476f56 fix(input_manager): prevent game launch when any modal dialog is open
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-04 12:08:43 +05:00
fd1c4e94fa fix: "File not found" error for Steam games in context menu
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-07-04 11:58:25 +05:00
90 changed files with 425 additions and 409 deletions

View File

@ -8,7 +8,7 @@ on:
env: env:
# Common version, will be used for tagging the release # Common version, will be used for tagging the release
VERSION: 0.1.2 VERSION: 0.1.3
PKGDEST: "/tmp/portprotonqt" PKGDEST: "/tmp/portprotonqt"
PACKAGE: "portprotonqt" PACKAGE: "portprotonqt"
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}

View File

@ -3,15 +3,16 @@
Все заметные изменения в этом проекте фиксируются в этом файле. Все заметные изменения в этом проекте фиксируются в этом файле.
Формат основан на [Keep a Changelog](https://keepachangelog.com/) и придерживается принципов [Semantic Versioning](https://semver.org/). Формат основан на [Keep a Changelog](https://keepachangelog.com/) и придерживается принципов [Semantic Versioning](https://semver.org/).
## [Unreleased] ## [0.1.3] - 2025-07-05
### Added ### Added
- Аргумент `--session` для запуска приложения в gamescope с GAMESCOPE_CMD - Аргумент `--session` для запуска приложения в gamescope (Исключительно в целях тестирования)
- Начальная поддержка EGS (Без EOS, скачивания игр и запуска игр из сторонних магазинов) - Начальная поддержка EGS (Без EOS, скачивания игр и запуска игр из сторонних магазинов)
- Автодополнение bash для комманды portprotonqt - Автодополнение bash для комманды portprotonqt
- Поддержка геймпадов в диалоге выбора игры - Поддержка геймпадов в диалоге выбора игры
- Быстрый запуск и остановка игры через контекстное меню - Быстрый запуск и остановка игры через контекстное меню
- Иконки в контекстом меню - Иконки в контекстом меню
- Обложки для части автоинсталлов
### Changed ### Changed
- Удалены сборки для Fedora 40 - Удалены сборки для Fedora 40
@ -30,6 +31,7 @@
- Ошибки темы в Gamescope - Ошибки темы в Gamescope
- Размер иконок для desktop файлов теперь 128x128 - Размер иконок для desktop файлов теперь 128x128
- Пустая область при обновлении сетки игр - Пустая область при обновлении сетки игр
- Запуск игры при открытом оверлее
### Contributors ### Contributors
- @Dervart - @Dervart

View File

@ -34,6 +34,8 @@
- [ ] Достигнуть паритета функциональности с PortProton - [ ] Достигнуть паритета функциональности с PortProton
- [X] Добавить возможность изменения названия, описания и обложки через файлы `.local/share/PortProtonQT/custom_data/exe_name/{desc,name,cover}` - [X] Добавить возможность изменения названия, описания и обложки через файлы `.local/share/PortProtonQT/custom_data/exe_name/{desc,name,cover}`
- [X] Добавить встроенное переопределение названия, описания и обложки, например, по пути `portprotonqt/custom_data` [Документация](documentation/metadata_override/) - [X] Добавить встроенное переопределение названия, описания и обложки, например, по пути `portprotonqt/custom_data` [Документация](documentation/metadata_override/)
- [ ] Добавить переводы в переопределения
- [ ] Придумать как переопределять launcher.exe
- [X] Добавить в карточку игры сведения о поддержке геймпада - [X] Добавить в карточку игры сведения о поддержке геймпада
- [X] Добавить в карточки данные с ProtonDB - [X] Добавить в карточки данные с ProtonDB
- [X] Добавить в карточки данные с AreWeAntiCheatYet - [X] Добавить в карточки данные с AreWeAntiCheatYet

View File

@ -25,7 +25,7 @@ AppDir:
id: ru.linux_gaming.PortProtonQt id: ru.linux_gaming.PortProtonQt
name: PortProtonQt name: PortProtonQt
icon: ru.linux_gaming.PortProtonQt icon: ru.linux_gaming.PortProtonQt
version: 0.1.2 version: 0.1.3
exec: usr/bin/python3 exec: usr/bin/python3
exec_args: "-m portprotonqt.app $@" exec_args: "-m portprotonqt.app $@"

View File

@ -1,5 +1,5 @@
pkgname=portprotonqt pkgname=portprotonqt
pkgver=0.1.2 pkgver=0.1.3
pkgrel=1 pkgrel=1
pkgdesc="Modern GUI for managing and launching games from PortProton, Steam, and Epic Games Store" pkgdesc="Modern GUI for managing and launching games from PortProton, Steam, and Epic Games Store"
arch=('any') arch=('any')

View File

@ -2,6 +2,7 @@
%global pypi_version 0.1.1 %global pypi_version 0.1.1
%global oname PortProtonQt %global oname PortProtonQt
%global build_timestamp %(date +"%Y%m%d") %global build_timestamp %(date +"%Y%m%d")
%global _python_no_extras_requires 1
%global rel_build 1.git.%{build_timestamp}%{?dist} %global rel_build 1.git.%{build_timestamp}%{?dist}
@ -47,6 +48,8 @@ Requires: xdg-utils
%description -n python3-%{pypi_name}-git %description -n python3-%{pypi_name}-git
This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup. This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup.
%{?python_disable_dependency_generator}
%prep %prep
git clone https://git.linux-gaming.ru/Boria138/PortProtonQt.git git clone https://git.linux-gaming.ru/Boria138/PortProtonQt.git

View File

@ -1,6 +1,7 @@
%global pypi_name portprotonqt %global pypi_name portprotonqt
%global pypi_version 0.1.2 %global pypi_version 0.1.3
%global oname PortProtonQt %global oname PortProtonQt
%global _python_no_extras_requires 1
Name: python-%{pypi_name} Name: python-%{pypi_name}
Version: %{pypi_version} Version: %{pypi_version}
@ -44,6 +45,8 @@ Requires: xdg-utils
%description -n python3-%{pypi_name} %description -n python3-%{pypi_name}
This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup. This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup.
%{?python_disable_dependency_generator}
%prep %prep
git clone https://git.linux-gaming.ru/Boria138/PortProtonQt git clone https://git.linux-gaming.ru/Boria138/PortProtonQt
cd %{oname} cd %{oname}

View File

@ -14,7 +14,7 @@ logger = get_logger(__name__)
__app_id__ = "ru.linux_gaming.PortProtonQt" __app_id__ = "ru.linux_gaming.PortProtonQt"
__app_name__ = "PortProtonQt" __app_name__ = "PortProtonQt"
__app_version__ = "0.1.2" __app_version__ = "0.1.3"
def main(): def main():
app = QApplication(sys.argv) app = QApplication(sys.argv)

View File

@ -137,6 +137,8 @@ class ContextMenuManager:
if not exe_path or not os.path.exists(exe_path): if not exe_path or not os.path.exists(exe_path):
return False return False
current_exe = os.path.basename(exe_path) current_exe = os.path.basename(exe_path)
elif game_card.game_source == "steam":
return False
else: else:
exec_line = self._get_exec_line(game_card.name, game_card.exec_line) exec_line = self._get_exec_line(game_card.name, game_card.exec_line)
if not exec_line: if not exec_line:

View File

Before

Width:  |  Height:  |  Size: 643 KiB

After

Width:  |  Height:  |  Size: 643 KiB

View File

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 178 KiB

View File

Before

Width:  |  Height:  |  Size: 508 KiB

After

Width:  |  Height:  |  Size: 508 KiB

View File

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 217 KiB

View File

Before

Width:  |  Height:  |  Size: 702 KiB

After

Width:  |  Height:  |  Size: 702 KiB

View File

Before

Width:  |  Height:  |  Size: 827 KiB

After

Width:  |  Height:  |  Size: 827 KiB

View File

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 429 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 254 KiB

View File

Before

Width:  |  Height:  |  Size: 946 KiB

After

Width:  |  Height:  |  Size: 946 KiB

View File

Before

Width:  |  Height:  |  Size: 511 KiB

After

Width:  |  Height:  |  Size: 511 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 936 KiB

After

Width:  |  Height:  |  Size: 936 KiB

View File

Before

Width:  |  Height:  |  Size: 674 KiB

After

Width:  |  Height:  |  Size: 674 KiB

View File

Before

Width:  |  Height:  |  Size: 351 KiB

After

Width:  |  Height:  |  Size: 351 KiB

View File

Before

Width:  |  Height:  |  Size: 963 KiB

After

Width:  |  Height:  |  Size: 963 KiB

View File

Before

Width:  |  Height:  |  Size: 757 KiB

After

Width:  |  Height:  |  Size: 757 KiB

View File

Before

Width:  |  Height:  |  Size: 954 KiB

After

Width:  |  Height:  |  Size: 954 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 552 KiB

After

Width:  |  Height:  |  Size: 552 KiB

View File

Before

Width:  |  Height:  |  Size: 680 KiB

After

Width:  |  Height:  |  Size: 680 KiB

View File

Before

Width:  |  Height:  |  Size: 360 KiB

After

Width:  |  Height:  |  Size: 360 KiB

View File

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 901 KiB

After

Width:  |  Height:  |  Size: 901 KiB

View File

Before

Width:  |  Height:  |  Size: 864 KiB

After

Width:  |  Height:  |  Size: 864 KiB

View File

Before

Width:  |  Height:  |  Size: 346 KiB

After

Width:  |  Height:  |  Size: 346 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 769 KiB

After

Width:  |  Height:  |  Size: 769 KiB

View File

Before

Width:  |  Height:  |  Size: 806 KiB

After

Width:  |  Height:  |  Size: 806 KiB

View File

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 762 KiB

View File

Before

Width:  |  Height:  |  Size: 684 KiB

After

Width:  |  Height:  |  Size: 684 KiB

View File

Before

Width:  |  Height:  |  Size: 240 KiB

After

Width:  |  Height:  |  Size: 240 KiB

View File

Before

Width:  |  Height:  |  Size: 963 KiB

After

Width:  |  Height:  |  Size: 963 KiB

View File

Before

Width:  |  Height:  |  Size: 961 KiB

After

Width:  |  Height:  |  Size: 961 KiB

View File

Before

Width:  |  Height:  |  Size: 701 KiB

After

Width:  |  Height:  |  Size: 701 KiB

View File

Before

Width:  |  Height:  |  Size: 637 KiB

After

Width:  |  Height:  |  Size: 637 KiB

View File

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 592 KiB

View File

Before

Width:  |  Height:  |  Size: 724 KiB

After

Width:  |  Height:  |  Size: 724 KiB

View File

Before

Width:  |  Height:  |  Size: 623 KiB

After

Width:  |  Height:  |  Size: 623 KiB

View File

Before

Width:  |  Height:  |  Size: 974 KiB

After

Width:  |  Height:  |  Size: 974 KiB

View File

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 143 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 590 KiB

After

Width:  |  Height:  |  Size: 590 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View File

Before

Width:  |  Height:  |  Size: 665 KiB

After

Width:  |  Height:  |  Size: 665 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 373 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 704 KiB

After

Width:  |  Height:  |  Size: 704 KiB

View File

Before

Width:  |  Height:  |  Size: 888 KiB

After

Width:  |  Height:  |  Size: 888 KiB

View File

Before

Width:  |  Height:  |  Size: 646 KiB

After

Width:  |  Height:  |  Size: 646 KiB

View File

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 777 KiB

After

Width:  |  Height:  |  Size: 777 KiB

View File

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 469 KiB

View File

Before

Width:  |  Height:  |  Size: 810 KiB

After

Width:  |  Height:  |  Size: 810 KiB

View File

Before

Width:  |  Height:  |  Size: 840 KiB

After

Width:  |  Height:  |  Size: 840 KiB

View File

Before

Width:  |  Height:  |  Size: 656 KiB

After

Width:  |  Height:  |  Size: 656 KiB

View File

Before

Width:  |  Height:  |  Size: 814 KiB

After

Width:  |  Height:  |  Size: 814 KiB

View File

Before

Width:  |  Height:  |  Size: 885 KiB

After

Width:  |  Height:  |  Size: 885 KiB

View File

Before

Width:  |  Height:  |  Size: 315 KiB

After

Width:  |  Height:  |  Size: 315 KiB

View File

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 211 KiB

View File

Before

Width:  |  Height:  |  Size: 257 KiB

After

Width:  |  Height:  |  Size: 257 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 768 KiB

After

Width:  |  Height:  |  Size: 768 KiB

View File

Before

Width:  |  Height:  |  Size: 694 KiB

After

Width:  |  Height:  |  Size: 694 KiB

View File

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 691 KiB

View File

Before

Width:  |  Height:  |  Size: 653 KiB

After

Width:  |  Height:  |  Size: 653 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 239 KiB

View File

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

@ -369,6 +369,7 @@ class InputManager(QObject):
active = QApplication.activeWindow() active = QApplication.activeWindow()
focused = QApplication.focusWidget() focused = QApplication.focusWidget()
popup = QApplication.activePopupWidget() popup = QApplication.activePopupWidget()
modal_dialog = QApplication.activeModalWidget()
# Handle Guide button to open system overlay # Handle Guide button to open system overlay
if button_code in BUTTONS['guide']: if button_code in BUTTONS['guide']:
@ -460,7 +461,7 @@ class InputManager(QObject):
return return
# Game launch on detail page # Game launch on detail page
if (button_code in BUTTONS['confirm']) and self._parent.currentDetailPage is not None and self._parent.current_add_game_dialog is None: if (button_code in BUTTONS['confirm']) and self._parent.currentDetailPage is not None and modal_dialog is None:
if self._parent.current_exec_line: if self._parent.current_exec_line:
self.trigger_rumble() self.trigger_rumble()
self._parent.toggleGame(self._parent.current_exec_line, None) self._parent.toggleGame(self._parent.current_exec_line, None)

View File

@ -1984,6 +1984,7 @@ class MainWindow(QMainWindow):
env_vars = os.environ.copy() env_vars = os.environ.copy()
env_vars['START_FROM_STEAM'] = '1' env_vars['START_FROM_STEAM'] = '1'
env_vars['LEGENDARY_CONFIG_PATH'] = self.legendary_config_path env_vars['LEGENDARY_CONFIG_PATH'] = self.legendary_config_path
env_vars['PROCESS_LOG'] = '1'
wrapper = "flatpak run ru.linux_gaming.PortProton" wrapper = "flatpak run ru.linux_gaming.PortProton"
if self.portproton_location is not None and ".var" not in self.portproton_location: if self.portproton_location is not None and ".var" not in self.portproton_location:
@ -2091,8 +2092,10 @@ class MainWindow(QMainWindow):
if entry_exec_split[0] == "env" and len(entry_exec_split) > 1 and 'data/scripts/start.sh' in entry_exec_split[1]: if entry_exec_split[0] == "env" and len(entry_exec_split) > 1 and 'data/scripts/start.sh' in entry_exec_split[1]:
env_vars['START_FROM_STEAM'] = '1' env_vars['START_FROM_STEAM'] = '1'
env_vars['PROCESS_LOG'] = '1'
elif entry_exec_split[0] == "flatpak": elif entry_exec_split[0] == "flatpak":
env_vars['START_FROM_STEAM'] = '1' env_vars['START_FROM_STEAM'] = '1'
env_vars['PROCESS_LOG'] = '1'
# Delay disabling gamepad handling to allow rumble to complete # Delay disabling gamepad handling to allow rumble to complete
if hasattr(self, 'input_manager'): if hasattr(self, 'input_manager'):

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "portprotonqt" name = "portprotonqt"
version = "0.1.2" version = "0.1.3"
description = "A project to rewrite PortProton (PortWINE) using PySide" description = "A project to rewrite PortProton (PortWINE) using PySide"
readme = "README.md" readme = "README.md"
license = { text = "GPL-3.0" } license = { text = "GPL-3.0" }

800
uv.lock generated

File diff suppressed because it is too large Load Diff