Commit a2b53850 authored by Castro_Fidel's avatar Castro_Fidel

Scripts version 2123

parent 8b442cf9
...@@ -2,6 +2,9 @@ You can help us in the development of the project on the website: boosty.to/port ...@@ -2,6 +2,9 @@ You can help us in the development of the project on the website: boosty.to/port
----------------------------------------- -----------------------------------------
Changelog: Changelog:
###Scripts version 2123###
* HOTFIX - GALLIUM NINE mode
###Scripts version 2122### ###Scripts version 2122###
* added the pp-games-lib plugin to the new PortProton/data/plugins/ details directory on github (plugin author: comrade zorn) https://github.com/zorn-v/PortProton-games-library * added the pp-games-lib plugin to the new PortProton/data/plugins/ details directory on github (plugin author: comrade zorn) https://github.com/zorn-v/PortProton-games-library
* updated scripts for installing and launching League of Legends (updated WINE_LOL_GE_7.0-4 - from now on there is no need to enter the root password to launch League of Legends) * updated scripts for installing and launching League of Legends (updated WINE_LOL_GE_7.0-4 - from now on there is no need to enter the root password to launch League of Legends)
......
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2123###
* HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE
* добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus
* добавлена русификация плагина pp-games-lib - спасибо zorn
###Scripts version 2122### ###Scripts version 2122###
* добавлен плагин pp-games-lib в новый каталог PortProton/data/plugins/ подробности на github (автор плагина: товарищ zorn) https://github.com/zorn-v/PortProton-games-library * добавлен плагин pp-games-lib в новый каталог PortProton/data/plugins/ подробности на github (автор плагина: товарищ zorn) https://github.com/zorn-v/PortProton-games-library
* обновлены срипты установки и запуска League of Legends (обновлен WINE_LOL_GE_7.0-4 - отныне нет необходимости вводить пароль рут для запуска League of Legends) * обновлены срипты установки и запуска League of Legends (обновлен WINE_LOL_GE_7.0-4 - отныне нет необходимости вводить пароль рут для запуска League of Legends)
......
...@@ -18,7 +18,7 @@ except ModuleNotFoundError: ...@@ -18,7 +18,7 @@ except ModuleNotFoundError:
from PyQt5.QtWidgets import * from PyQt5.QtWidgets import *
settings = QSettings('PPGL', 'PortProtonGamesLib') settings = QSettings('PPGL', 'PortProtonGamesLib')
g = SimpleNamespace() g = SimpleNamespace(locale = '')
class MainWindow(QMainWindow): class MainWindow(QMainWindow):
def __init__(self): def __init__(self):
...@@ -46,6 +46,10 @@ class MainWindow(QMainWindow): ...@@ -46,6 +46,10 @@ class MainWindow(QMainWindow):
g.shortcuts_dir = g.base_dir + '/shortcuts' g.shortcuts_dir = g.base_dir + '/shortcuts'
g.games_dir = g.base_dir + '/games' g.games_dir = g.base_dir + '/games'
loc_path = Path(g.base_dir + '/data/tmp/PortProton_loc')
if loc_path.exists():
g.locale = loc_path.read_text().strip()
Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True) Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True)
Path(g.games_dir).mkdir(parents=True, exist_ok=True) Path(g.games_dir).mkdir(parents=True, exist_ok=True)
...@@ -67,16 +71,16 @@ class MainWindow(QMainWindow): ...@@ -67,16 +71,16 @@ class MainWindow(QMainWindow):
self.toolbar.setIconSize(QSize(32, 32)) self.toolbar.setIconSize(QSize(32, 32))
self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon)
self.toolbar.setMovable(False) self.toolbar.setMovable(False)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), 'Install new game', self) action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), _tr('Install new game'), self)
action.triggered.connect(self.install_game) action.triggered.connect(self.install_game)
self.toolbar.addAction(action) self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), 'Add game entry', self) action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), _tr('Add game entry'), self)
action.triggered.connect(self.add_game) action.triggered.connect(self.add_game)
self.toolbar.addAction(action) self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), 'Reload list', self) action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), _tr('Reload list'), self)
action.triggered.connect(self.reload_list) action.triggered.connect(self.reload_list)
self.toolbar.addAction(action) self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), 'Drop install prefix', self) action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Drop install prefix'), self)
action.triggered.connect(self.drop_prefix) action.triggered.connect(self.drop_prefix)
self.toolbar.addAction(action) self.toolbar.addAction(action)
spacer = QWidget(self) spacer = QWidget(self)
...@@ -96,7 +100,7 @@ class MainWindow(QMainWindow): ...@@ -96,7 +100,7 @@ class MainWindow(QMainWindow):
self.game_list.reload() self.game_list.reload()
def drop_prefix(self): def drop_prefix(self):
res = QMessageBox.question(self, 'Are you shure ?', 'Do you really want to remove<br/><b>' + g.install_pfx + '</b> ?') res = QMessageBox.question(self, _tr('Are you shure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx))
if res == QMessageBox.StandardButton.Yes: if res == QMessageBox.StandardButton.Yes:
shutil.rmtree(g.install_pfx, True) shutil.rmtree(g.install_pfx, True)
...@@ -147,13 +151,13 @@ class InstallGame(QDialog): ...@@ -147,13 +151,13 @@ class InstallGame(QDialog):
if self._installing: if self._installing:
setup_btn = QPushButton(self) setup_btn = QPushButton(self)
setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart)) setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart))
setup_btn.setText('Run another setup') setup_btn.setText(_tr('Run another setup'))
setup_btn.clicked.connect(self._runSetup) setup_btn.clicked.connect(self._runSetup)
layout.addWidget(setup_btn) layout.addWidget(setup_btn)
self.setLayout(layout) self.setLayout(layout)
self.resize(400, 300) self.resize(400, 300)
self.setModal(True) self.setModal(True)
self.setWindowTitle('Select game exe file') self.setWindowTitle(_tr('Select game exe file'))
geometry = settings.value('geometry_install') geometry = settings.value('geometry_install')
if geometry: if geometry:
self.restoreGeometry(geometry) self.restoreGeometry(geometry)
...@@ -189,7 +193,7 @@ class InstallGame(QDialog): ...@@ -189,7 +193,7 @@ class InstallGame(QDialog):
def _runSetup(self): def _runSetup(self):
downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation) downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation)
exe_file, _ = QFileDialog.getOpenFileName(self, caption='Choose setup file', filter='Exe files (*.exe)', directory=downloads_dir) exe_file, _ = QFileDialog.getOpenFileName(self, caption=_tr('Choose setup file'), filter='Exe files (*.exe)', directory=downloads_dir)
if not exe_file: if not exe_file:
return return
ppdb = shlex.quote(exe_file + '.ppdb') ppdb = shlex.quote(exe_file + '.ppdb')
...@@ -212,8 +216,8 @@ class InstallGame(QDialog): ...@@ -212,8 +216,8 @@ class InstallGame(QDialog):
def _handleDoubleClick(self, item): def _handleDoubleClick(self, item):
game_dir = item.text().split('/')[0] game_dir = item.text().split('/')[0]
dlg = QInputDialog(self) dlg = QInputDialog(self)
dlg.setWindowTitle('Please enter game entry name') dlg.setWindowTitle(_tr('Please enter game entry name'))
dlg.setLabelText('New game entry') dlg.setLabelText(_tr('New game entry'))
dlg.setTextValue(game_dir) dlg.setTextValue(game_dir)
dlg.resize(300, 0) dlg.resize(300, 0)
ok = dlg.exec() ok = dlg.exec()
...@@ -223,7 +227,7 @@ class InstallGame(QDialog): ...@@ -223,7 +227,7 @@ class InstallGame(QDialog):
file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name) file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name)
shortcut = f"{g.shortcuts_dir}/{file_name}.desktop" shortcut = f"{g.shortcuts_dir}/{file_name}.desktop"
if Path(shortcut).exists(): if Path(shortcut).exists():
res = QMessageBox.question(self, 'Shortcut already exuists', 'Shortcut <b>' + file_name + '</b> already exists. Overwrite ?') res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', file_name))
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
src_dir = self.install_dir + '/' + game_dir src_dir = self.install_dir + '/' + game_dir
...@@ -232,7 +236,7 @@ class InstallGame(QDialog): ...@@ -232,7 +236,7 @@ class InstallGame(QDialog):
ppdb = shlex.quote(g.games_dir + '/' + item.text()) + '.ppdb' ppdb = shlex.quote(g.games_dir + '/' + item.text()) + '.ppdb'
self.setDisabled(True) self.setDisabled(True)
if self._installing and Path(dst_dir).exists(): if self._installing and Path(dst_dir).exists():
res = QMessageBox.question(self, 'Dir already exuists', 'Dir <b>' + game_dir + '</b> already exists. Overwrite ?') res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir))
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
if self._installing: if self._installing:
...@@ -284,8 +288,18 @@ class GameList(QListWidget): ...@@ -284,8 +288,18 @@ class GameList(QListWidget):
def reload(self): def reload(self):
self.clear() self.clear()
def validate(shortcut):
config = ConfigParser()
config.read(shortcut)
try:
if config.get('Desktop Entry', 'Exec'):
return True
except Exception:
return False
shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop')) shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop'))
shortcuts += list(Path(g.base_dir).glob('*.desktop'))
for shortcut in shortcuts: for shortcut in shortcuts:
if validate(shortcut):
item = GameItem(self, shortcut) item = GameItem(self, shortcut)
self.addItem(item) self.addItem(item)
self.sortItems() self.sortItems()
...@@ -306,17 +320,17 @@ class GameList(QListWidget): ...@@ -306,17 +320,17 @@ class GameList(QListWidget):
return return
selected = selected[0] selected = selected[0]
menu = QMenu(self) menu = QMenu(self)
desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), 'Add to desktop') desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop'))
restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), 'Restore PP GUI') restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI'))
remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), 'Remove game entry') remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry'))
uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), 'Uninstall game') uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game'))
if not selected.game_dir.startswith(g.games_dir): if not selected.game_dir.startswith(g.games_dir):
uninstall.setVisible(False) uninstall.setVisible(False)
action = menu.exec(self.mapToGlobal(event.pos())) action = menu.exec(self.mapToGlobal(event.pos()))
desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name
if action == desktop: if action == desktop:
if Path(desktop_shortcut).exists(): if Path(desktop_shortcut).exists():
res = QMessageBox.question(self, 'Shortcut already exuists', 'Desktop shortcut <b>' + desktop_shortcut + '</b> already exists. Overwrite ?') res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', desktop_shortcut))
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
shutil.copy(selected.desktop_file, desktop_shortcut) shutil.copy(selected.desktop_file, desktop_shortcut)
...@@ -337,8 +351,8 @@ class GameList(QListWidget): ...@@ -337,8 +351,8 @@ class GameList(QListWidget):
self.reload() self.reload()
if action == uninstall: if action == uninstall:
res = QMessageBox.question(self, res = QMessageBox.question(self,
'Are you shure ?', _tr('Are you shure ?'),
'Do you really want to uninstall <b>' + selected.get('Name') + '</b><br/>located in "<b>'+selected.game_dir+'</b>" ?' _tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir)
) )
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
...@@ -403,6 +417,36 @@ class GameItem(QListWidgetItem): ...@@ -403,6 +417,36 @@ class GameItem(QListWidgetItem):
import signal import signal
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
lang = {
'RUS': {
'Install new game': 'Установить игру',
'Add game entry': 'Добавить в список',
'Reload list': 'Обновить список',
'Drop install prefix': 'Удалить установочный префикс',
'Are you shure ?': 'Вы уверены ?',
'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?',
'Run another setup': 'Запустить установку',
'Select game exe file': 'Выберите exe файл игры',
'Choose setup file': 'Выберите установочный файл',
'Please enter game entry name': 'Введите название игры',
'New game entry': 'Название игры',
'Shortcut already exists': 'Ярлык уже существует',
'Shortcut <b>{0}</b> already exists. Overwrite ?': 'Ярлык <b>{0}</b> уже существует. Перезаписать ?',
'Dir already exists': 'Директория уже существует',
'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?',
'Add to desktop': 'Добавить на рабочий стол',
'Restore PortProton GUI': 'Восстановить PortProton GUI',
'Remove game entry': 'Убрать из списка',
'Uninstall game': 'Удалить игру',
'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?'
}
}
def _tr(text, *fmt):
res = lang.get(g.locale, {}).get(text, text)
if fmt:
res = res.format(*fmt)
return res
app = QApplication([]) app = QApplication([])
win = MainWindow() win = MainWindow()
win.show() win.show()
......
#!/usr/bin/env bash #!/usr/bin/env bash
KEY_CREDITS=$RANDOM if [ "${update_loc}" = "RUS" ]
then
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ KEY_CREDITS=$RANDOM
--text-align=center --scroll --text="PortProton v.${install_ver}
scripts v. ${scripts_install_ver} "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \
https://portwine-linux.ru --text-align=center --scroll --text="PortProton v. ${install_ver}
scripts v. ${scripts_install_ver}
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
https://portwine-linux.ru
This program comes with absolutely no warranty.
See the License for details." & Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru)
Эта программа поставляется без каких-либо гарантий.
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ Подробнее см. в Лицензия." &
--text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev)
Developer assistants and testers: "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
Cefeiko --text-align=center --scroll --text="Автор: Casro-Fidel (Михаил Тергоев)
Dezert1r
Taz_mania Помощники разработчика и тестировщики:
Anton_Famillianov Cefeiko
RidBowt Dezert1r
chal55rus Taz_mania
UserDiscord Anton_Famillianov
survolog RidBowt
gavr chal55rus
RusNor UserDiscord
aldiserg Survolog
an9949an gavr
andrey4korop RusNor
zorn aldiserg
" & an9949an
andrey4korop
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License zorn
" &
Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "Лицензия Массачусетского технологического института (MIT License)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
copies of the Software, and to permit persons to whom the Software is программного обеспечения и связанных с ним файлов документации (Программное
furnished to do so, subject to the following conditions: обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
The above copyright notice and this permission notice shall be included in all сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
copies or substantial portions of the Software. лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE быть включены во все копии или существенные части Программного обеспечения.
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
SOFTWARE." & ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
--text-info --show-uri --scroll <<< 'https://boosty.to/portwine-linux.ru: ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." &
1 1
A B "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
AdamArclight666 --text-info --fontname="Serif bold italic 12" --show-uri --scroll \
Akai <<< ' Проект поддержали:
Aleks https://boosty.to/portwine-linux.ru
Alex Sh
Alexsei Cherniavskiy 1 1
Allegra_g A B
AlxChkln AdamArclight666
Andrei K Akai
Another games Aleks
Apofis Smab Alexsei Cherniavskiy
Aule Mahal Alex Sh
Azartiny Mor Allegra_g
BELIJJAaL AlxChkln
CanBoo amikha1lov
Coin Hunt Andrei K
Cruze anisan_sg
DIO Another games
Dadenard Apofis Smab
Dallasss apolon
Daniil Go Aule Mahal
Dencher12 Azartiny Mor
Denis BELIJJAaL
Dezert1r benya
Dima Manshin CanBoo
Dmitriy Tokarev chal55rus
Drakorgaur Coin Hunt
El Mago Cruze
Eliot Dadenard
Ethan Winters Dallasss
Evgen Buiko Daniil Go
EvilDevolver Dencher12
GaiverX Denis
Gekko Dezert1r
Geomant17 Dima Manshin
Happy Husky DIO
Homyakin d.kostroma
Ivan Vlasov Dmitriy Tokarev
LeGi0neR Drakorgaur
Lexa XLS dunkanMcLoud
Linux Vumtut dupster mailbox
Lonely Lonely Eliot
MICROFARAT El Mago
MLogaut Ethan Winters
Maksami Cordyceps Evgen Buiko
Maktub EvilDevolver
Melord fight fox
Monti Roquefort funti2f
MrBatonio fusiok
Nesterik GaiverX
Nikola P. Gekko
Nuclearsun Geomant17
Nurik gg_harper
Oleg55Rus Happy Husky
Optimus haravara
Ottakvot Homyakin
PLAFON Ivan Vlasov
Pependos ivboss
PlagueEvgeny ksandr4370
Rojok56 LeGi0neR
Ruslan Vlasov Lexa XLS
Rustam Linux Vumtut
Saireg Lonely Lonely
Seeropoonya Maksami Cordyceps
Soma Maktub
StGdG Melord
Subscript MICROFARAT
Sudo Connect MLogaut
Taras Zagibalov Monti Roquefort
The End MrBatonio
Tykva Nesterik
V1ktr Nikola P.
VAtiB Nuclearsun
VUMtut Nurik
VanBugel Oleg55Rus
Vikthor Prieto onix
Vosarat Optimus
Windchester Ottakvot
Xpamych paulscathedral
Yurec penguin4ek
Yuri Emelyanov Pependos
Zillah Giovanni PLAFON
Zloy Ivan PlagueEvgeny
Zorit Rojok56
amikha1lov Ruslan Vlasov
anisan_sg Rustam
apolon Saireg
benya sanelasan
chal55rus(Sergey P.) sashman
d.kostroma Seeropoonya
dunkanMcLoud sendependa_dio
dupster mailbox shecspir
fight fox Soma
funti2f sship
fusiok StGdG
gg_harper Subscript
haravara Sudo Connect
ivboss sugoyako
ksandr4370 Taras Zagibalov
onix The End
paulscathedral tima
penguin4ek Tykva
sanelasan ua3dko
sashman V1ktr
sendependa_dio VanBugel
shecspir VAtiB
sship Vikthor Prieto
sugoyako vlad petrov
tima Vosarat
ua3dko VUMtut
vlad petrov Windchester
wrager wrager
xpamych Xpamych
zorn Yurec
Александр Yuri Emelyanov
Александр Абдулов Zillah Giovanni
Александр Кладов Zloy Ivan
Александр Лобанов Zorit
Алексей Ultralin zorn
Алексей Войтенко Александр
Алексей Галаш Александр Абдулов
Алексей Зубрийчук Александр Кладов
Алексей Ивушкин Александр Лобанов
Алексей Кравчук Алексей Ultralin
Алексей Чугунов Алексей Войтенко
Андрей Гусаков Алексей Галаш
Андрей Карпенцов Алексей Зубрийчук
Антон Рудковский Алексей Ивушкин
Антон Фамилианов Алексей Кравчук
Антоний Дамикан Алексей Чугунов
Артём К. Андрей Гусаков
Валерий Толмачёв Андрей Карпенцов
Виктор Шварц Антоний Дамикан
Виктор Щетинин Антон Рудковский
Виндэта(рог) Антон Фамилианов
Виталий Нуров Артём К.
Влад Блинов Валерий Толмачёв
Влад Кладиев Виктор Шварц
Владимир Бильдюкевич Виктор Щетинин
Владимир Дарвин Виндэта(рог)
Вячеслав Шитюков Виталий Нуров
Вячеслав Шустров Влад Блинов
Георгий Гурский Владимир Бильдюкевич
Данил Павлов Владимир Дарвин
Дед Мазай Влад Кладиев
Денис Мальцев Вячеслав Шитюков
Денис Матій Вячеслав Шустров
Денис Олефиренко Георгий Гурский
Дмитрий Круглов Данил Павлов
Дмитрий Мазанка Дед Мазай
Дмитрий Сидоров Денис Мальцев
Евгений Бебин Денис Матій
Евгений Долгополов Денис Олефиренко
Евгений Хирвонен Дмитрий Круглов
Евгений Храмов Дмитрий Мазанка
Егор Кречун Дмитрий Сидоров
Женя Рябушкин Евгений Бебин
Иван Белекеев Евгений Долгополов
Коляныч Королёв Евгений Хирвонен
Константин __ Евгений Храмов
Константин Абадонна Егор Кречун
Леонид Женя Рябушкин
Максим Хмара-Миронов Иван Белекеев
Маленькая сосна Коляныч Королёв
Марат Константин __
Марат Рахимов Константин Абадонна
Неизвестый Дмитрий Леонид
Никита Булавин Максим Хмара-Миронов
Павел Иванов Маленькая сосна
Павел Пашенцев Марат
Равич Ревес Марат Рахимов
Рамиль Неизвестый Дмитрий
Рома Б. Никита Булавин
Роман Игнатьев Николай Гинтов
Роман Паженский Павел Иванов
Саша Павел Пашенцев
Семён Клишин Равич Ревес
Семён Ярополов Рамиль
Сергей Казёнкин Рома Б.
Сергей Круглов Роман Игнатьев
Серёга Сапрыкин Роман Паженский
Стас Толкачёв Саша
Тима Суеубаев Семён Клишин
Тимофей Ковалев Семён Ярополов
Тимур Сафонов Сергей Казёнкин
Удалить Аккаунт Сергей Круглов
Хоттабыч Серёга Сапрыкин
Николай Гинтов Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Список будет дополняться...' & Тимур Сафонов
Удалить Аккаунт
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \ Хоттабыч
--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \
--text-info --scroll <<< \
"Website: http://portwine-linux.ru Список будет дополняться...' &
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \
------------------------------------------- --title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \
Стать платным подписчиком: --text-info --scroll <<< \
boosty: https://boosty.to/portwine-linux.ru "Website: http://portwine-linux.ru
patreon: https://www.patreon.com/portproton Discord: http://discord.gg/yJSEFjF
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973 VK: https://vk.com/portwinelinux
Yandex кошельк: 410012267513818 -------------------------------------------
------------------------------------------- Стать платным подписчиком:
Задонатить на стрим: boosty: https://boosty.to/portwine-linux.ru
https://www.donationalerts.com/r/portwine_linux" & patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ Yandex кошельк: 410012267513818
--text-info <<< "Сторонние библиотеки, которые используются в PortProton -------------------------------------------
Задонатить на стрим:
PortProton собран на основе следующих бесплатных библиотек программного обеспечения: https://www.donationalerts.com/r/portwine_linux" &
WINE-PROTON: https://github.com/ValveSoftware/Proton "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ --fontname="Serif bold italic 10" --text-info <<< " Сторонние библиотеки, которые используются в PortProton
YAD: https://github.com/v1cont/"${pw_yad_new}"
ZENITY: https://github.com/GNOME/zenity" & PortProton собран на основе бесплатных библиотек программного обеспечения:
"${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ WINE-PROTON: https://github.com/ValveSoftware/Proton
--center --notebook --no-buttons --tab-pos=bottom \ WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
--tab="THIRD PARTY LIBRARIES" YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity" &
/usr/bin/env bash -c ${pw_full_command_line[*]}
"${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--center --notebook --no-buttons --tab-pos=bottom \
--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \
--tab="БИБЛИОТЕКИ"
/usr/bin/env bash -c ${pw_full_command_line[*]}
else
KEY_CREDITS=$RANDOM
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
--text-align=center --scroll --text="PortProton v.${install_ver}
scripts v. ${scripts_install_ver}
https://portwine-linux.ru
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
This program comes with absolutely no warranty.
See the License for details." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
--text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev)
Developer assistants and testers:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License
Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --show-uri --scroll <<< 'https://boosty.to/portwine-linux.ru:
1 1
A B
AdamArclight666
Akai
Aleks
Alex Sh
Alexsei Cherniavskiy
Allegra_g
AlxChkln
Andrei K
Another games
Apofis Smab
Aule Mahal
Azartiny Mor
BELIJJAaL
CanBoo
Coin Hunt
Cruze
DIO
Dadenard
Dallasss
Daniil Go
Dencher12
Denis
Dezert1r
Dima Manshin
Dmitriy Tokarev
Drakorgaur
El Mago
Eliot
Ethan Winters
Evgen Buiko
EvilDevolver
GaiverX
Gekko
Geomant17
Happy Husky
Homyakin
Ivan Vlasov
LeGi0neR
Lexa XLS
Linux Vumtut
Lonely Lonely
MICROFARAT
MLogaut
Maksami Cordyceps
Maktub
Melord
Monti Roquefort
MrBatonio
Nesterik
Nikola P.
Nuclearsun
Nurik
Oleg55Rus
Optimus
Ottakvot
PLAFON
Pependos
PlagueEvgeny
Rojok56
Ruslan Vlasov
Rustam
Saireg
Seeropoonya
Soma
StGdG
Subscript
Sudo Connect
Taras Zagibalov
The End
Tykva
V1ktr
VAtiB
VUMtut
VanBugel
Vikthor Prieto
Vosarat
Windchester
Xpamych
Yurec
Yuri Emelyanov
Zillah Giovanni
Zloy Ivan
Zorit
amikha1lov
anisan_sg
apolon
benya
chal55rus(Sergey P.)
d.kostroma
dunkanMcLoud
dupster mailbox
fight fox
funti2f
fusiok
gg_harper
haravara
ivboss
ksandr4370
onix
paulscathedral
penguin4ek
sanelasan
sashman
sendependa_dio
shecspir
sship
sugoyako
tima
ua3dko
vlad petrov
wrager
xpamych
zorn
Александр
Александр Абдулов
Александр Кладов
Александр Лобанов
Алексей Ultralin
Алексей Войтенко
Алексей Галаш
Алексей Зубрийчук
Алексей Ивушкин
Алексей Кравчук
Алексей Чугунов
Андрей Гусаков
Андрей Карпенцов
Антон Рудковский
Антон Фамилианов
Антоний Дамикан
Артём К.
Валерий Толмачёв
Виктор Шварц
Виктор Щетинин
Виндэта(рог)
Виталий Нуров
Влад Блинов
Влад Кладиев
Владимир Бильдюкевич
Владимир Дарвин
Вячеслав Шитюков
Вячеслав Шустров
Георгий Гурский
Данил Павлов
Дед Мазай
Денис Мальцев
Денис Матій
Денис Олефиренко
Дмитрий Круглов
Дмитрий Мазанка
Дмитрий Сидоров
Евгений Бебин
Евгений Долгополов
Евгений Хирвонен
Евгений Храмов
Егор Кречун
Женя Рябушкин
Иван Белекеев
Коляныч Королёв
Константин __
Константин Абадонна
Леонид
Максим Хмара-Миронов
Маленькая сосна
Марат
Марат Рахимов
Неизвестый Дмитрий
Никита Булавин
Павел Иванов
Павел Пашенцев
Равич Ревес
Рамиль
Рома Б.
Роман Игнатьев
Роман Паженский
Саша
Семён Клишин
Семён Ярополов
Сергей Казёнкин
Сергей Круглов
Серёга Сапрыкин
Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Тимур Сафонов
Удалить Аккаунт
Хоттабыч
Николай Гинтов
Список будет дополняться...' &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \
--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \
--text-info --scroll <<< \
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошельк: 410012267513818
-------------------------------------------
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
--text-info <<< "Сторонние библиотеки, которые используются в PortProton
PortProton собран на основе следующих бесплатных библиотек программного обеспечения:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
YAD: https://github.com/v1cont/"${pw_yad_new}"
ZENITY: https://github.com/GNOME/zenity" &
"${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--center --notebook --no-buttons --tab-pos=bottom \
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
--tab="THIRD PARTY LIBRARIES"
/usr/bin/env bash -c ${pw_full_command_line[*]}
fi
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2122 #SCRIPTS_NEXT_VERSION=2123
######################################################################## ########################################################################
export PW_MANGOHUD=0 export PW_MANGOHUD=0
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
...@@ -43,7 +43,7 @@ export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" ...@@ -43,7 +43,7 @@ export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export PW_WINE_FULLSCREEN_FSR="0" export PW_WINE_FULLSCREEN_FSR="0"
###WINE_PROTON_PW_FOR_GALLIUM_NINE### ###WINE_PROTON_PW_FOR_GALLIUM_NINE###
# export PW_PW_VER="7-26" # export PW_PW_VER="7-26"
export PW_PROTON_PW_VER="${PW_GE_VER}" export PW_PROTON_PW_VER="${PW_PROTON_GE_VER}"
###WINE_KRON4EK### ###WINE_KRON4EK###
export PW_WINE_KRON4EK_VER="WINE-7.13-STAGING-TKG-AMD64" export PW_WINE_KRON4EK_VER="WINE-7.13-STAGING-TKG-AMD64"
################################################################# #################################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment