Commit c3dd207a authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'Htylol-AI_TOP_GAMES' into devel

parents 290d8625 54f3bb08
......@@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-24 13:23+0300\n"
"POT-Creation-Date: 2024-10-08 10:20+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -47,9 +47,6 @@ msgstr ""
msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr ""
msgid "Launching"
msgstr ""
msgid "CREATE SHORTCUT"
msgstr ""
......@@ -62,6 +59,9 @@ msgstr ""
msgid "Delete shortcut for select file..."
msgstr ""
msgid "Launching"
msgstr ""
msgid "Base settings"
msgstr ""
......@@ -194,77 +194,61 @@ msgstr ""
msgid "Run wine regedit"
msgstr ""
msgid "Emulator for Nintendo game consoles with high compatibility"
msgstr ""
msgid "Multi-arcade emulator that allows you to play old arcade games"
msgstr ""
msgid "Multi-platform frontend for emulators with extensive settings"
msgstr ""
msgid "Emulator for the PlayStation Portable (PSP) game console"
msgstr ""
msgid "Emulator for the Nintendo 3DS game console"
msgstr ""
msgid "Emulator for the Wii U game console"
msgid "AUTOINSTALLS"
msgstr ""
msgid "Emulator for the PlayStation 1 game console with high compatibility"
msgid "EMULATORS"
msgstr ""
msgid "Emulator for the Nintendo 64 game console"
msgid "WINE SETTINGS"
msgstr ""
msgid "Emulator for the Game Boy Advance game console"
msgid "PORTPROTON SETTINGS"
msgstr ""
msgid "Emulator for the Sega Saturn game console"
msgid "INSTALLED"
msgstr ""
msgid "Emulator for the Xbox 360 game console"
msgid "PortProton installed by script has been detected. Do you want to "
"transfer all the data from it to the new flatpak version of "
"PortProton?"
msgstr ""
msgid "Emulator for the Nintendo Entertainment System (NES or Dendy) game "
"console"
msgid "Please wait..."
msgstr ""
msgid "Emulator for the Xbox game console"
msgid "PortProton has been moved to flatpak. You can now remove the old "
"directory:"
msgstr ""
msgid "Emulator for the Sega Dreamcast game console"
msgid "Downloading"
msgstr ""
msgid "AUTOINSTALLS"
msgid "day"
msgstr ""
msgid "EMULATORS"
msgid "days"
msgstr ""
msgid "WINE SETTINGS"
msgid "hour"
msgstr ""
msgid "PORTPROTON SETTINGS"
msgid "and"
msgstr ""
msgid "INSTALLED"
msgid "hours"
msgstr ""
msgid "PortProton installed by script has been detected. Do you want to "
"transfer all the data from it to the new flatpak version of "
"PortProton?"
msgid "less than a minute"
msgstr ""
msgid "Please wait..."
msgid "minute"
msgstr ""
msgid "PortProton has been moved to flatpak. You can now remove the old "
"directory:"
msgid "minutes"
msgstr ""
msgid "Downloading"
msgid "Time spent"
msgstr ""
msgid "Do you really want to reinstall PortProton?\\nFor this, an internet "
......@@ -282,9 +266,6 @@ msgid "More than one DB file found for the application being launched."
"next run.\\n"
msgstr ""
msgid "UPDATING NOW"
msgstr ""
msgid "Update scripts:"
msgstr ""
......@@ -294,6 +275,9 @@ msgstr ""
msgid "REMIND ME LATER"
msgstr ""
msgid "UPDATING NOW"
msgstr ""
msgid "EXIT"
msgstr ""
......@@ -881,6 +865,9 @@ msgstr ""
msgid "Display frame count"
msgstr ""
msgid "Display frametime next to FPS text"
msgstr ""
msgid "Enable most of the toggleable parameters (currently excludes "
"histogram)"
msgstr ""
......@@ -985,9 +972,6 @@ msgstr ""
msgid "Display used Vulkan driver (radv/amdgpu-pro/amdvlk)"
msgstr ""
msgid "Display frametime next to FPS text"
msgstr ""
msgid "Show current Wine or Proton version in use"
msgstr ""
......@@ -1407,6 +1391,19 @@ msgstr ""
msgid "Allows you to select a theme for PortProton"
msgstr ""
msgid "Time display"
msgstr ""
msgid "Displays time spent in an application or game"
msgstr ""
msgid "Sort shortcuts by time"
msgstr ""
msgid "This setting sorts the shortcuts in the main menu depending on the "
"time spent in the application or game"
msgstr ""
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr ""
......@@ -1573,8 +1570,8 @@ msgid "MIT License\n"
"\n"
"Permission is hereby granted, free of charge, to any person "
"obtaining a copy\n"
"of this software and associated documentation files (the \"Software"
"\"), to deal\n"
"of this software and associated documentation files (the "
"\"Software\"), to deal\n"
"in the Software without restriction, including without limitation "
"the rights\n"
"to use, copy, modify, merge, publish, distribute, sublicense, and/or "
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-24 13:23+0300\n"
"POT-Creation-Date: 2024-10-08 10:15+0500\n"
"PO-Revision-Date: 2024-09-19 23:35+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
......@@ -52,9 +52,6 @@ msgstr "Gallium Nine (DirectX 9 para MESA)"
msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr "Gallium Zink (OpenGL a Vulkan)"
msgid "Launching"
msgstr "Lanzamiento"
msgid "CREATE SHORTCUT"
msgstr "CREAR ACCESO DIRECTO"
......@@ -67,6 +64,9 @@ msgstr "ELIMINAR ACCESO DIRECTO"
msgid "Delete shortcut for select file..."
msgstr "Eliminar el acceso directo del archivo seleccionado..."
msgid "Launching"
msgstr "Lanzamiento"
msgid "Base settings"
msgstr "Configuración básica"
......@@ -212,55 +212,6 @@ msgstr "Editor del Registro"
msgid "Run wine regedit"
msgstr "Ejecutar wine regedit"
msgid "Emulator for Nintendo game consoles with high compatibility"
msgstr ""
"Un emulador para consolas de juegos de Nintendo con alta compatibilidad"
msgid "Multi-arcade emulator that allows you to play old arcade games"
msgstr ""
"Un emulador de múltiples arcade que te permite jugar juegos antiguos de "
"arcade"
msgid "Multi-platform frontend for emulators with extensive settings"
msgstr "Un frontend multiplataforma para emuladores con ajustes extensos"
msgid "Emulator for the PlayStation Portable (PSP) game console"
msgstr "Un emulador para la consola de juegos PlayStation Portable (PSP)"
msgid "Emulator for the Nintendo 3DS game console"
msgstr "Un emulador para la consola de juegos Nintendo 3DS"
msgid "Emulator for the Wii U game console"
msgstr "Un emulador para la consola de juegos Wii U"
msgid "Emulator for the PlayStation 1 game console with high compatibility"
msgstr ""
"Un emulador para la consola de juegos PlayStation 1 con alta compatibilidad"
msgid "Emulator for the Nintendo 64 game console"
msgstr "Un emulador para la consola de juegos Nintendo 64"
msgid "Emulator for the Game Boy Advance game console"
msgstr "Un emulador para la consola de juegos Game Boy Advance"
msgid "Emulator for the Sega Saturn game console"
msgstr "Un emulador para la consola de juegos Sega Saturn"
msgid "Emulator for the Xbox 360 game console"
msgstr "Un emulador para la consola de juegos Xbox 360"
msgid ""
"Emulator for the Nintendo Entertainment System (NES or Dendy) game console"
msgstr ""
"Un emulador para la consola de juegos Nintendo Entertainment System (NES o "
"Dendy)"
msgid "Emulator for the Xbox game console"
msgstr "Un emulador para la consola de juegos Xbox"
msgid "Emulator for the Sega Dreamcast game console"
msgstr "Un emulador para la consola de juegos Sega Dreamcast"
msgid "AUTOINSTALLS"
msgstr "INSTALACIONES AUTOMÁTICAS"
......@@ -296,6 +247,33 @@ msgstr ""
msgid "Downloading"
msgstr "Descargando"
msgid "day"
msgstr ""
msgid "days"
msgstr ""
msgid "hour"
msgstr ""
msgid "and"
msgstr ""
msgid "hours"
msgstr ""
msgid "less than a minute"
msgstr ""
msgid "minute"
msgstr ""
msgid "minutes"
msgstr ""
msgid "Time spent"
msgstr ""
msgid ""
"Do you really want to reinstall PortProton?\\nFor this, an internet "
"connection will be required."
......@@ -317,9 +295,6 @@ msgstr ""
"está iniciando. Selecciona el que se requiera, o elimina el archivo de base "
"de datos adicional antes del próximo inicio"
msgid "UPDATING NOW"
msgstr "ACTUALIZANDO AHORA"
msgid "Update scripts:"
msgstr "Actualizar scripts:"
......@@ -329,6 +304,9 @@ msgstr "NO SOCIO"
msgid "REMIND ME LATER"
msgstr "VUELVA MÁS TARDE"
msgid "UPDATING NOW"
msgstr "ACTUALIZANDO AHORA"
msgid "EXIT"
msgstr "SALIR"
......@@ -1085,6 +1063,9 @@ msgstr ""
msgid "Display frame count"
msgstr "Mostrar recuento de cuadros"
msgid "Display frametime next to FPS text"
msgstr "Mostrar tiempo de cuadro junto al texto de FPS"
msgid "Enable most of the toggleable parameters (currently excludes histogram)"
msgstr ""
"Activar la mayoría de los parámetros conmutables (actualmente excluye el "
......@@ -1204,9 +1185,6 @@ msgstr "Mostrar el uso de VRAM del sistema"
msgid "Display used Vulkan driver (radv/amdgpu-pro/amdvlk)"
msgstr "Mostrar el controlador Vulkan utilizado (radv/amdgpu-pro/amdvlk)"
msgid "Display frametime next to FPS text"
msgstr "Mostrar tiempo de cuadro junto al texto de FPS"
msgid "Show current Wine or Proton version in use"
msgstr "Mostrar la versión actual de Wine o Proton en uso"
......@@ -1847,6 +1825,20 @@ msgstr "Temas de interfaz gráfica de usuario elegidos"
msgid "Allows you to select a theme for PortProton"
msgstr "Le permite seleccionar un tema para PortProton"
msgid "Time display"
msgstr ""
msgid "Displays time spent in an application or game"
msgstr ""
msgid "Sort shortcuts by time"
msgstr ""
msgid ""
"This setting sorts the shortcuts in the main menu depending on the time "
"spent in the application or game"
msgstr ""
#, fuzzy
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr "AJUSTES USUARIO.CONF"
......@@ -2119,6 +2111,56 @@ msgstr ""
msgid "THIRD PARTY LIBRARIES"
msgstr ""
#~ msgid "Emulator for Nintendo game consoles with high compatibility"
#~ msgstr ""
#~ "Un emulador para consolas de juegos de Nintendo con alta compatibilidad"
#~ msgid "Multi-arcade emulator that allows you to play old arcade games"
#~ msgstr ""
#~ "Un emulador de múltiples arcade que te permite jugar juegos antiguos de "
#~ "arcade"
#~ msgid "Multi-platform frontend for emulators with extensive settings"
#~ msgstr "Un frontend multiplataforma para emuladores con ajustes extensos"
#~ msgid "Emulator for the PlayStation Portable (PSP) game console"
#~ msgstr "Un emulador para la consola de juegos PlayStation Portable (PSP)"
#~ msgid "Emulator for the Nintendo 3DS game console"
#~ msgstr "Un emulador para la consola de juegos Nintendo 3DS"
#~ msgid "Emulator for the Wii U game console"
#~ msgstr "Un emulador para la consola de juegos Wii U"
#~ msgid "Emulator for the PlayStation 1 game console with high compatibility"
#~ msgstr ""
#~ "Un emulador para la consola de juegos PlayStation 1 con alta "
#~ "compatibilidad"
#~ msgid "Emulator for the Nintendo 64 game console"
#~ msgstr "Un emulador para la consola de juegos Nintendo 64"
#~ msgid "Emulator for the Game Boy Advance game console"
#~ msgstr "Un emulador para la consola de juegos Game Boy Advance"
#~ msgid "Emulator for the Sega Saturn game console"
#~ msgstr "Un emulador para la consola de juegos Sega Saturn"
#~ msgid "Emulator for the Xbox 360 game console"
#~ msgstr "Un emulador para la consola de juegos Xbox 360"
#~ msgid ""
#~ "Emulator for the Nintendo Entertainment System (NES or Dendy) game console"
#~ msgstr ""
#~ "Un emulador para la consola de juegos Nintendo Entertainment System (NES "
#~ "o Dendy)"
#~ msgid "Emulator for the Xbox game console"
#~ msgstr "Un emulador para la consola de juegos Xbox"
#~ msgid "Emulator for the Sega Dreamcast game console"
#~ msgstr "Un emulador para la consola de juegos Sega Dreamcast"
#, fuzzy
#~ msgid "scripts"
#~ msgstr "Actualizar scripts:"
......
......@@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-24 13:23+0300\n"
"PO-Revision-Date: 2024-09-19 23:32+0500\n"
"POT-Creation-Date: 2024-10-08 10:15+0500\n"
"PO-Revision-Date: 2024-10-08 10:15+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.4\n"
msgid ""
......@@ -52,9 +52,6 @@ msgstr "Gallium Nine (поддержка DirectX 9 для MESA)"
msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr "Gallium Zink (трансляция OpenGL в Vulkan)"
msgid "Launching"
msgstr "Запуск"
msgid "CREATE SHORTCUT"
msgstr "СОЗДАТЬ ЯРЛЫК"
......@@ -67,13 +64,15 @@ msgstr "УДАЛИТЬ ЯРЛЫК"
msgid "Delete shortcut for select file..."
msgstr "Удалить ярлык для выбранного файла..."
msgid "Launching"
msgstr "Запуск"
msgid "Base settings"
msgstr "Основные настройки"
msgid "Edit database file for"
msgstr "Редактировать файл настроек для"
#, fuzzy
msgid "Global settings"
msgstr "Глобальные настройки"
......@@ -152,7 +151,6 @@ msgstr "История изменений"
msgid "Change language"
msgstr "Сменить язык"
#, fuzzy
msgid "Global settings (user.conf)"
msgstr "Глобальные настройки (user.conf)"
......@@ -214,49 +212,6 @@ msgstr "Редактор реестра"
msgid "Run wine regedit"
msgstr "Запустить редактор реестра Wine"
msgid "Emulator for Nintendo game consoles with high compatibility"
msgstr "Эмулятор игровых консолей Nintendo с высокой совместимостью"
msgid "Multi-arcade emulator that allows you to play old arcade games"
msgstr "Мультиаркадный эмулятор, позволяющий играть в старые аркадные игры"
msgid "Multi-platform frontend for emulators with extensive settings"
msgstr "Мультиплатформенный интерфейс для эмуляторов с обширными настройками"
msgid "Emulator for the PlayStation Portable (PSP) game console"
msgstr "Эмулятор игровой консоли PlayStation Portable (PSP)"
msgid "Emulator for the Nintendo 3DS game console"
msgstr "Эмулятор игровой консоли Nintendo 3DS"
msgid "Emulator for the Wii U game console"
msgstr "Эмулятор игровой консоли Wii U"
msgid "Emulator for the PlayStation 1 game console with high compatibility"
msgstr "Эмулятор игровой консоли PlayStation 1 с высокой совместимостью"
msgid "Emulator for the Nintendo 64 game console"
msgstr "Эмулятор игровой консоли Nintendo 64"
msgid "Emulator for the Game Boy Advance game console"
msgstr "Эмулятор игровой консоли Game Boy Advance"
msgid "Emulator for the Sega Saturn game console"
msgstr "Эмулятор игровой консоли Sega Saturn"
msgid "Emulator for the Xbox 360 game console"
msgstr "Эмулятор игровой консоли Xbox 360"
msgid ""
"Emulator for the Nintendo Entertainment System (NES or Dendy) game console"
msgstr "Эмулятор игровой консоли Nintendo Entertainment System (NES или Dendy)"
msgid "Emulator for the Xbox game console"
msgstr "Эмулятор игровой консоли Xbox"
msgid "Emulator for the Sega Dreamcast game console"
msgstr "Эмулятор игровой консоли Sega Dreamcast"
msgid "AUTOINSTALLS"
msgstr "АВТОУСТАНОВКА"
......@@ -291,6 +246,33 @@ msgstr ""
msgid "Downloading"
msgstr "Загружается"
msgid "day"
msgstr "день"
msgid "days"
msgstr "дней"
msgid "hour"
msgstr "час"
msgid "and"
msgstr "и"
msgid "hours"
msgstr "часов"
msgid "less than a minute"
msgstr "меньше минуты"
msgid "minute"
msgstr "минута"
msgid "minutes"
msgstr "минут"
msgid "Time spent"
msgstr "Проведено времени"
msgid ""
"Do you really want to reinstall PortProton?\\nFor this, an internet "
"connection will be required."
......@@ -312,10 +294,6 @@ msgstr ""
"ppdb.\\nВыберите нужный или удалите лишний файл .ppdb перед следующим "
"запуском\\n"
# изменить
msgid "UPDATING NOW"
msgstr "ОБНОВИТЬ СЕЙЧАС"
msgid "Update scripts:"
msgstr "Обновление скриптов:"
......@@ -325,6 +303,10 @@ msgstr "НЕ НАПОМИНАТЬ"
msgid "REMIND ME LATER"
msgstr "НАПОМНИТЬ ПОЗЖЕ"
# изменить
msgid "UPDATING NOW"
msgstr "ОБНОВИТЬ СЕЙЧАС"
msgid "EXIT"
msgstr "ВЫХОД"
......@@ -1090,6 +1072,9 @@ msgstr ""
msgid "Display frame count"
msgstr "Отображение количества кадров"
msgid "Display frametime next to FPS text"
msgstr "Отображение времени кадра рядом с FPS"
msgid "Enable most of the toggleable parameters (currently excludes histogram)"
msgstr ""
"Включить большинство переключаемых параметров (в настоящее время исключает "
......@@ -1213,9 +1198,6 @@ msgstr "Показать использование VRAM"
msgid "Display used Vulkan driver (radv/amdgpu-pro/amdvlk)"
msgstr "Показать используемый драйвер Vulkan (radv/amdgpu-pro/amdvlk)"
msgid "Display frametime next to FPS text"
msgstr "Отображение времени кадра рядом с FPS"
msgid "Show current Wine or Proton version in use"
msgstr "Показать текущую используемую версию Wine или Proton"
......@@ -1746,7 +1728,6 @@ msgstr "Выключить"
msgid "Enable"
msgstr "Включить"
#, fuzzy
msgid "Change global settings"
msgstr "Изменить глобальные настройки"
......@@ -1815,7 +1796,22 @@ msgstr "Выбор графической темы"
msgid "Allows you to select a theme for PortProton"
msgstr "Позволяет выбрать тему для PortProton"
#, fuzzy
msgid "Time display"
msgstr "Отображение времени"
msgid "Displays time spent in an application or game"
msgstr "Отображает общее время проведённое в приложении или игре"
msgid "Sort shortcuts by time"
msgstr "Сортировка ярлыков по времени"
msgid ""
"This setting sorts the shortcuts in the main menu depending on the time "
"spent in the application or game"
msgstr ""
"Эта настройка сортирует ярлыки в главном меню в зависимости от времени, "
"проведенного в приложении или игре"
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
......@@ -2146,6 +2142,54 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
#~ msgid "not known yet"
#~ msgstr "пока неизвестно"
#~ msgid "Emulator for Nintendo game consoles with high compatibility"
#~ msgstr "Эмулятор игровых консолей Nintendo с высокой совместимостью"
#~ msgid "Multi-arcade emulator that allows you to play old arcade games"
#~ msgstr "Мультиаркадный эмулятор, позволяющий играть в старые аркадные игры"
#~ msgid "Multi-platform frontend for emulators with extensive settings"
#~ msgstr ""
#~ "Мультиплатформенный интерфейс для эмуляторов с обширными настройками"
#~ msgid "Emulator for the PlayStation Portable (PSP) game console"
#~ msgstr "Эмулятор игровой консоли PlayStation Portable (PSP)"
#~ msgid "Emulator for the Nintendo 3DS game console"
#~ msgstr "Эмулятор игровой консоли Nintendo 3DS"
#~ msgid "Emulator for the Wii U game console"
#~ msgstr "Эмулятор игровой консоли Wii U"
#~ msgid "Emulator for the PlayStation 1 game console with high compatibility"
#~ msgstr "Эмулятор игровой консоли PlayStation 1 с высокой совместимостью"
#~ msgid "Emulator for the Nintendo 64 game console"
#~ msgstr "Эмулятор игровой консоли Nintendo 64"
#~ msgid "Emulator for the Game Boy Advance game console"
#~ msgstr "Эмулятор игровой консоли Game Boy Advance"
#~ msgid "Emulator for the Sega Saturn game console"
#~ msgstr "Эмулятор игровой консоли Sega Saturn"
#~ msgid "Emulator for the Xbox 360 game console"
#~ msgstr "Эмулятор игровой консоли Xbox 360"
#~ msgid ""
#~ "Emulator for the Nintendo Entertainment System (NES or Dendy) game console"
#~ msgstr ""
#~ "Эмулятор игровой консоли Nintendo Entertainment System (NES или Dendy)"
#~ msgid "Emulator for the Xbox game console"
#~ msgstr "Эмулятор игровой консоли Xbox"
#~ msgid "Emulator for the Sega Dreamcast game console"
#~ msgstr "Эмулятор игровой консоли Sega Dreamcast"
#~ msgid "scripts"
#~ msgstr "версия"
......
......@@ -186,6 +186,7 @@ eval_translations () {
}
create_translations () {
local po_file msgid msgstr
if [[ ! -d "${PW_CACHE_LANG_PATH}" ]] ; then
create_new_dir "${PW_CACHE_LANG_PATH}"
fi
......@@ -456,12 +457,13 @@ try_download () {
no_mirror=true
esac
local filename
if [[ -n "${PW_AUTOINSTALL_EXE}" ]] \
&& [[ "$no_mirror" == "true" ]]
then
local filename="$(basename "${PW_AUTOINSTALL_EXE}")"
filename="$(basename "${PW_AUTOINSTALL_EXE}")"
else
local filename="$(basename "$1")"
filename="$(basename "$1")"
fi
if [[ "${MIRROR}" == CLOUD ]] \
......@@ -742,18 +744,170 @@ unpack () {
debug_timer () {
if [[ "$1" == "--start" ]] ; then
START=$(date +%s%N)
if [[ "$2" == "-s" ]] ; then
case $3 in
PW_TIME_IN_GAME)
START_PW_TIME_IN_GAME=$START ;;
UPDATE_ETERFUND)
START_UPDATE_ETERFUND=$START ;;
UPDATE_GITHUB)
START_UPDATE_GITHUB=$START ;;
esac
fi
elif [[ "$1" == "--end" ]] ; then
END=$(date +%s%N)
DIFF=$((( END - START )/1000000))
if [[ -n "$2" ]] ; then
if [[ "$2" != "-s" ]] ; then
if [[ "$2" == "-s" ]] ; then
case $3 in
PW_TIME_IN_GAME)
START=$START_PW_TIME_IN_GAME ;;
UPDATE_ETERFUND)
START=$START_UPDATE_ETERFUND ;;
UPDATE_GITHUB)
START=$START_UPDATE_GITHUB ;;
esac
export "$3"="$((( END - START )/1000000 ))"
else
DIFF=$((( END - START )/1000000 ))
print_warning "It took $DIFF milliseconds for $2"
fi
else
DIFF=$((( END - START )/1000000 ))
print_warning "It took $DIFF milliseconds"
fi
fi
return 0
}
# Поиск нужного .desktop файла по $portwine_exe
search_desktop_file () {
local count desktop_file desktop_file_new EXEC_DESKTOP EXEC_DESKTOP_NEW TIME_TOTAL i j df
unset TIME_CURRENT_ARRAY DESKTOP_FILES_ARRAY
count=0
for desktop_file in "$PORT_WINE_PATH"/* ; do
desktop_file_new="${desktop_file//"$PORT_WINE_PATH/"/}"
if [[ $desktop_file_new =~ .desktop$ ]] ; then
if [[ ! $desktop_file_new =~ (PortProton|readme) ]] ; then
while IFS= read -r line ; do
if [[ $line =~ ^Exec= ]] ; then
if check_flatpak ; then
EXEC_DESKTOP=${line//Exec=flatpak run ru.linux_gaming.PortProton /}
else
EXEC_DESKTOP=${line//Exec=env \"$PORT_SCRIPTS_PATH\/start.sh\" /}
fi
EXEC_DESKTOP_NEW=${EXEC_DESKTOP//\"/}
fi
if [[ $line =~ ^#Time= ]] && [[ $portwine_exe == "$EXEC_DESKTOP_NEW" ]] ; then
TIME_CURRENT=${line//#Time=/}
fi
done < "$desktop_file"
if [[ $portwine_exe == "$EXEC_DESKTOP_NEW" ]] ; then
# Когда новый .desktop файл
if [[ $TIME_CURRENT == "" ]] ; then
echo "#NEW_DESKTOP" >> "$desktop_file"
TIME_CURRENT="0"
# Для битых #Time=
elif [[ ! $TIME_CURRENT == "" ]] && [[ ! $TIME_CURRENT =~ [0-9]+ ]] ; then
TIME_CURRENT="0"
fi
TIME_CURRENT_ARRAY+=($TIME_CURRENT)
unset TIME_CURRENT
DESKTOP_FILES_ARRAY["$count"]="$desktop_file"
(( count++ ))
fi
fi
fi
done
IFS="$orig_IFS"
# Если существуют .desktop файлы на один и тот же .exe файл, то среди них выбирается
# текущее время берётся из того .desktop файла, в котором проведено больше времени
# и запись этого большего времени будет потом записываться во все .desktop файлы
# у которых общий .exe файл, это нужно для того, чтобы в главном меню .desktop файлы
# упорядочивались нормально.
for i in "${!TIME_CURRENT_ARRAY[@]}" ; do
for j in "${!TIME_CURRENT_ARRAY[@]}" ; do
if (( ${TIME_CURRENT_ARRAY[$i]} > ${TIME_CURRENT_ARRAY[$j]} )) ; then
tmp=${TIME_CURRENT_ARRAY[$i]}
TIME_CURRENT_ARRAY[i]=${TIME_CURRENT_ARRAY[$j]}
TIME_CURRENT_ARRAY[j]=$tmp
fi
done
done
TIME_CURRENT="${TIME_CURRENT_ARRAY[0]}"
if [[ -n $PW_TIME_IN_GAME ]] ; then
TIME_TOTAL=$(( TIME_CURRENT + PW_TIME_IN_GAME ))
for df in "${DESKTOP_FILES_ARRAY[@]}" ; do
sed -i '/^#Time=/d' "$df"
echo "#Time=$TIME_TOTAL" >> "$df"
done
else
for df in "${DESKTOP_FILES_ARRAY[@]}" ; do
sed -i '/^#Time=/d' "$df"
echo "#Time=$TIME_CURRENT" >> "$df"
done
fi
}
# Конвертация секунд в дни, часы, минуты
seconds_to_time () {
[[ -z $1 ]] && return 0
local seconds days hours minutes
seconds=$1
days=$((seconds / (60 * 60 * 24)))
seconds=$((seconds % (60 * 60 * 24)))
hours=$((seconds / (60 * 60)))
seconds=$((seconds % (60 * 60)))
minutes=$((seconds / 60))
seconds=$((seconds % 60))
if [[ $days =~ ^0$ ]] ; then
days=
elif [[ $days =~ ^1$ ]] ; then
days="$days ${translations[day]}, "
elif [[ $days =~ ^([2-9]1|[1-9][0-9]+1)$ ]] && [[ $LANGUAGE == ru ]] ; then
days="$days ${translations[day]}, "
elif [[ $days =~ ^([2-4]|[2-9][2-4]|[1-9][0-9]+[2-4])$ ]] && [[ $LANGUAGE == ru ]] ; then
days="$days дня, "
else
days="$days ${translations[days]}, "
fi
if [[ $hours =~ ^0$ ]] ; then
hours=
elif [[ $hours =~ ^1$ ]] ; then
hours="$hours ${translations[hour]} ${translations[and]} "
elif [[ $hours =~ ^([2-4]|2[2-4])$ ]] && [[ $LANGUAGE == ru ]] ; then
hours="$hours часа ${translations[and]} "
elif [[ $hours =~ ^21$ ]] && [[ $LANGUAGE == ru ]] ; then
hours="$hours ${translations[hour]} ${translations[and]} "
else
hours="$hours ${translations[hours]} ${translations[and]} "
fi
if [[ $minutes =~ ^0$ ]] ; then
hours=${hours//" ${translations[and]} "/}
minutes=
if [[ $days == "" ]] || [[ $hours == "" ]] ; then
days=${days//","/}
fi
if [[ $days == "" ]] && [[ $hours == "" ]] ; then
minutes="${translations[less than a minute]}"
fi
elif [[ $minutes =~ ^1$ ]] ; then
minutes="$minutes ${translations[minute]}"
elif [[ $minutes =~ ^[2-5]1$ ]] && [[ $LANGUAGE == ru ]] ; then
minutes="$minutes ${translations[minute]}"
elif [[ $minutes =~ ^([2-4]|[2-5][2-4])$ ]] && [[ $LANGUAGE == ru ]] ; then
minutes="$minutes минуты"
else
minutes="$minutes ${translations[minutes]}"
fi
echo -e "<b>\n${translations[Time spent]}: $days$hours$minutes</b>"
}
combobox_fix () {
......@@ -761,6 +915,7 @@ combobox_fix () {
print_error "no argument specified for combobox_fix"
return 1
else
local name1 name2
if [[ "$1" == "--disabled" ]] ; then
if [[ -z "$3" ]] ; then
echo "disabled"
......@@ -783,6 +938,7 @@ combobox_fix () {
fi
name2="$2"
fi
local name3 name4
name3="${name2//\!${name1}\!/\!}"
name3="!${name3//${name1}\!/\!}"
name3="${name3//\!\!/\!}"
......@@ -1258,7 +1414,7 @@ pw_exit_tray () {
export -f pw_exit_tray
stop_portwine () {
[[ "$int_xneur" == "1" ]] && xneur &
[[ "$int_xneur" == "1" ]] && xneur &
if [[ "$PW_USE_US_LAYOUT" == "1" ]] \
&& ! check_wayland_session \
......@@ -1292,12 +1448,17 @@ stop_portwine () {
pw_stop_progress_bar
try_remove_file "${PORT_SCRIPTS_PATH}/0"
try_remove_file "${PORT_SCRIPTS_PATH}/1"
kill_portwine &&
kill_portwine
try_remove_dir "${PW_WINELIB}/var"
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
pw_exit_tray
pw_auto_create_shortcut
add_in_stop_portwine
debug_timer --end -s "PW_TIME_IN_GAME"
PW_TIME_IN_GAME=$(( PW_TIME_IN_GAME / 1000 )) # в секундах
search_desktop_file
case "$1" in
--restart)
restart_pp ;;
......@@ -1755,23 +1916,21 @@ pw_port_update () {
URL_GITHUB="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/${BRANCH}/data_from_portwine/scripts/var"
pw_check_update () {
debug_timer --start
debug_timer --start -s "UPDATE_ETERFUND"
if ! timeout 2 curl -f -s --list-only "$URL_ETERFUND" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://gitlab.eterfund.ru/ broken. Skip it..."
UPDATE_SKIP_ETERFUND="1"
fi
debug_timer --end -s
UPDATE_ETERFUND="$DIFF"
debug_timer --end -s "UPDATE_ETERFUND"
debug_timer --start
debug_timer --start -s "UPDATE_GITHUB"
if ! timeout 2 curl -f -s --list-only "$URL_GITHUB" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://raw.githubusercontent.com/ broken. Skip it..."
UPDATE_SKIP_GITHUB="1"
fi
debug_timer --end -s
UPDATE_GITHUB="$DIFF"
debug_timer --end -s "UPDATE_GITHUB"
if [[ "$UPDATE_SKIP_ETERFUND" == "1" ]] \
&& [[ "$UPDATE_SKIP_GITHUB" == "1" ]] ; then
......@@ -2191,14 +2350,12 @@ pw_find_exe () {
--button="${translations[CANCEL]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
--button="${translations[OK]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null)"
YAD_STATUS="$?"
IFS="$orig_IFS"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
if [[ -z "${PW_SET_FIND_EXE}" ]] ; then
print_info "Restarting..."
restart_pp
fi
exit 0
print_info "Restarting..."
restart_pp
fi
IFS="$orig_IFS"
if [[ -n "${PW_SET_FIND_EXE}" ]] ; then
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')"
......@@ -2571,7 +2728,7 @@ start_portwine () {
if check_gamescope_session ; then
export PW_GAMEMODERUN_SLR=""
elif [[ "$PW_USE_GAMEMODE" = "1" ]] \
&& [[ -n "$DBUS_SESSION_BUS_ADDRESS" ]]
&& [[ -n "$DBUS_SESSION_BUS_ADDRESS" ]]
then
if command -v gamemoded &>/dev/null ; then
export GAMEMODERUN=1
......@@ -2992,7 +3149,7 @@ start_portwine () {
if [[ -n "$CP_DXVK_FILES" ]] ; then
print_info "Try create symlink DXVK files..."
for wine_dxvk_dll in $CP_DXVK_FILES ; do
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
var_winedlloverride_update "${wine_dxvk_dll}=n"
......@@ -3531,6 +3688,7 @@ portwine_launch () {
PW_VD_TMP=(explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}")
fi
debug_timer --start -s "PW_TIME_IN_GAME"
case "$portwine_exe" in
*.[Ee][Xx][Ee])
pw_run ${PW_VD_TMP[@]} ${WINE_WIN_START} "$portwine_exe"
......@@ -4674,7 +4832,7 @@ gui_mangohud () {
export PW_MANGOHUD FPS_LIMIT
edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT
if [[ "${YAD_MANGOHUD_STATUS}" == "184" ]] ; then
if [[ "${YAD_MANGOHUD_STATUS}" == "184" ]] ; then
PW_MANGOHUD="1"
pw_init_runtime
pw_mangohud_check
......@@ -5093,11 +5251,29 @@ gui_userconf () {
GPU_VAR="disabled"
fi
if [[ -n "${DESKTOP_WITH_TIME}" ]] \
&& [[ "${DESKTOP_WITH_TIME}" != "disabled" ]]
then
DESKTOP_WITH_TIME="enabled"
else
DESKTOP_WITH_TIME="disabled"
fi
if [[ -n "${SORT_WITH_TIME}" ]] \
&& [[ "${SORT_WITH_TIME}" == "disabled" ]]
then
SORT_WITH_TIME="disabled"
else
SORT_WITH_TIME="enabled"
fi
"${pw_yad}" --plug=$KEY_USERCONF_GUI --tabnum="2" --form --columns=1 --separator="%" --homogeneous-row \
--gui-type-text="${PANED_GUI_TYPE_TEXT_DOWN}" --gui-type-layout="${PANED_GUI_TYPE_LAYOUT_DOWN}" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "${GPU_VAR}" "${GET_GPU_NAMES}")" \
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "${SOUND_DRIVER_VAR}" "alsa!oss!pulse")" \
--field="${translations[Choice gui themes]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "${GUI_THEME}" "default!compact!classic")" \
--gui-type-text="$PANED_GUI_TYPE_TEXT_DOWN" --gui-type-layout="$PANED_GUI_TYPE_LAYOUT_DOWN" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "$GPU_VAR" "$GET_GPU_NAMES")" \
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \
--field="${translations[Choice gui themes]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "default!compact!classic")" \
--field="${translations[Time display]}!${translations[Displays time spent in an application or game]} :CB" "$(combobox_fix "$DESKTOP_WITH_TIME" "enabled!disabled")" \
--field="${translations[Sort shortcuts by time]}!${translations[This setting sorts the shortcuts in the main menu depending on the time spent in the application or game]} :CB" "$(combobox_fix "$SORT_WITH_TIME" "enabled!disabled")" \
1> "${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb" 2>/dev/null &
"${pw_yad}" --key=$KEY_USERCONF_GUI --paned --sensitive \
......@@ -5133,7 +5309,9 @@ gui_userconf () {
PW_GPU_USE="${PW_ADD_SETTINGS_UC[0]}"
PW_SOUND_DRIVER_USE="${PW_ADD_SETTINGS_UC[1]}"
GUI_THEME="${PW_ADD_SETTINGS_UC[2]}"
edit_user_conf_from_gui PW_GPU_USE PW_SOUND_DRIVER_USE GUI_THEME
DESKTOP_WITH_TIME="${PW_ADD_SETTINGS_UC[3]}"
SORT_WITH_TIME="${PW_ADD_SETTINGS_UC[4]}"
edit_user_conf_from_gui PW_GPU_USE PW_SOUND_DRIVER_USE GUI_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
restart_pp
;;
esac
......@@ -5207,10 +5385,11 @@ portwine_create_shortcut () {
[[ -z "${PW_SHORTCUT_STEAM}" ]] && PW_SHORTCUT_STEAM="FALSE"
if [[ -z "${PORTPROTON_NAME}" ]] ; then
export name_desktop="$(basename "$portwine_exe")"
name_desktop="$(basename "$portwine_exe")"
else
export name_desktop="${PORTPROTON_NAME}"
name_desktop="${PORTPROTON_NAME}"
fi
export name_desktop
[[ -z "${name_desktop_png}" ]] && name_desktop_png="${PORTPROTON_NAME// /_}"
......@@ -5327,17 +5506,14 @@ portwine_create_shortcut () {
if [[ "$PW_NO_RESTART_PPDB" != "1" ]] ; then
print_info "Restarting PP..."
if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then
unset PW_YAD_FORM_TAB
fi
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
restart_pp
fi
elif [[ "$PW_YAD_OUT" == "2" ]] ; then
print_info "Restarting PP..."
if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then
unset PW_YAD_FORM_TAB
fi
restart_pp
[[ -n $KEY_MENU ]] && unset portwine_exe
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
[[ -z $LINKS ]] && restart_pp
fi
}
......@@ -5354,15 +5530,12 @@ pw_auto_create_shortcut () {
unset LINKS
for link_file in "${PORT_WINE_PATH}"/data/prefixes/*/drive_c/users/*/Desktop/*.lnk
do
if ! echo "$link_file" | grep "\*.lnk" &>/dev/null ; then
link_file=$(readlink -f "${link_file}")
LINKS+=("${link_file// /@_@}")
else
continue
fi
link_file=$(readlink -f "${link_file}")
LINKS+=(${link_file// /@_@})
done
[[ -z "$LINKS" ]] && return 0
SORTED_LINKS=($(echo ${LINKS[@]} | tr ' ' '\n' | sort -u))
[[ -z "${LINKS[0]}" ]] && return 0
read -r -a SORTED_LINKS < <(echo ${LINKS[@]} | tr ' ' '\n' | sort -u | tr '\n' ' ')
for link_file in "${SORTED_LINKS[@]//@_@/ }" ; do
if command -v exiftool &>/dev/null ; then
......@@ -5402,10 +5575,8 @@ pw_auto_create_shortcut () {
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
fi
try_remove_file "$link_file"
if ! exe_path="$(realpath "${link_path}" 2>/dev/null)" ; then
print_warning "Removed broken link for: $link_name"
print_warning "Link broken for: $link_name"
else
print_info "Created link for: $link_name"
PORTPROTON_NAME="$link_name"
......@@ -5851,21 +6022,12 @@ button_click () {
--desktop)
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY_MENU}" | awk '{print $1}') > /dev/null 2>&1
PW_YAD_SET="${PORT_WINE_PATH}/${PW_YAD_SET//#@_@#/ }"
if [[ $PW_DESKTOP_FILES_REGEX == "1" ]] ; then
PW_YAD_SET="${PW_YAD_SET//#+_1#/\(}"
PW_YAD_SET="${PW_YAD_SET//#+_2#/\)}"
PW_YAD_SET="${PW_YAD_SET//#+_3#/\!}"
PW_YAD_SET="${PW_YAD_SET//#+_4#/\$}"
PW_YAD_SET="${PW_YAD_SET//#+_5#/\%}"
PW_YAD_SET="${PW_YAD_SET//#+_6#/\&}"
PW_YAD_SET="${PW_YAD_SET//#+_7#/\`}"
PW_YAD_SET="${PW_YAD_SET//#+_8#/\'}"
PW_YAD_SET="${PW_YAD_SET//#+_9#/\"}"
PW_YAD_SET="${PW_YAD_SET//#+_10#/\>}"
PW_YAD_SET="${PW_YAD_SET//#+_11#/\<}"
PW_YAD_SET="${PW_YAD_SET//#+_12#/\\}"
PW_YAD_SET="${PW_YAD_SET//#+_13#/\|}"
PW_YAD_SET="${PW_YAD_SET//#+_14#/\;}"
if [[ -n $PW_DESKTOP_FILES_REGEX ]] ; then
local count=1
for y in "${PW_DESKTOP_FILES_REGEX[@]}" ; do
PW_YAD_SET="${PW_YAD_SET//#+_$count#/$y}"
(( count++ ))
done
fi
if check_flatpak
then PW_EXEC_FROM_DESKTOP="$(grep Exec "$PW_YAD_SET" | head -n 1 | sed 's|flatpak run ru.linux_gaming.PortProton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')"
......
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
# type: games
# type: emulators
# name: RetroArch
# image: retroarch
# info_en:
......
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
# type: games
# name: Star Conflict
# image: starconflict
# name: STALCRAFT
# image: stalcraft
# info_en:
# info_ru:
########################################################################
......
......@@ -25,7 +25,8 @@ if PORT_SCRIPTS_PATH=$(readlink -f "${0%/*}") ; then
export PORT_SCRIPTS_PATH
export PORT_WINE_PATH=${PORT_SCRIPTS_PATH%/*/*}
else
fatal
echo "The PORT_SCRIPTS_PATH directory was not found!"
exit 1
fi
# shellcheck source=/dev/null
......@@ -90,10 +91,11 @@ unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERR
unset PW_CHECK_AUTOINSTALL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE RADV_PERFTEST
unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PW_PATH
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR RADV_DEBUG PW_NO_AUTO_CREATE_SHORTCUT
unset PW_DESKTOP_FILES_REGEX PW_TERM
unset PW_NAME_D_ICON PW_ICON_PATH PW_GAME_TIME PW_ALL_DF PW_AMOUNT_NEW_DESKTOP PW_AMOUNT_OLD_DESKTOP PW_DESKTOP_FILES
unset AI_TYPE AI_NAME AI_IMAGE AI_INFO AI_FILE_ARRAY AI_TRUE_FILE AI_FILE_UNSORTED AI_FILE_SORTED PW_GENERATE_BUTTONS
unset PW_DESKTOP_FILES_REGEX PW_TERM PW_EXEC_FROM_DESKTOP
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
......@@ -324,7 +326,7 @@ export SKIP_CHECK_UPDATES="1"
[[ "$MISSING_DESKTOP_FILE" == "1" ]] && portwine_missing_shortcut
if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then
if [[ $(basename "${portwine_exe}") =~ .[Pp][Pp][Aa][Cc][Kk]$ ]] ; then
unset PW_SANDBOX_HOME_PATH
pw_init_runtime
if check_flatpak
......@@ -464,14 +466,6 @@ case "${PW_VULKAN_USE}" in
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
esac
if [[ -z "${PW_COMMENT_DB}" ]] ; then
if [[ -n "${PORTPROTON_NAME}" ]] ; then
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTPROTON_NAME}" "50")</b>"
else
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTWINE_DB}" "50")</b>"
fi
fi
if [[ $PW_WINE_USE == PROTON_LG ]] ; then
PW_WINE_USE="${PW_PROTON_LG_VER}"
PW_DEFAULT_WINE_USE="${PW_WINE_LG_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
......@@ -505,6 +499,17 @@ if [[ -f "${portwine_exe}" ]] ; then
PW_SHORTCUT="${translations[DELETE SHORTCUT]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Delete shortcut for select file...]}:98"
fi
[[ $DESKTOP_WITH_TIME == enabled ]] && search_desktop_file
if [[ -z "${PW_COMMENT_DB}" ]] ; then
if [[ -n "${PORTPROTON_NAME}" ]] ; then
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTPROTON_NAME}" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
else
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTWINE_DB}" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
fi
else
PW_COMMENT_DB="$PW_COMMENT_DB$(seconds_to_time "$TIME_CURRENT")"
fi
export KEY_START="$RANDOM"
if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" ${START_GUI_TYPE} \
......@@ -583,84 +588,132 @@ if [[ -f "${portwine_exe}" ]] ; then
--button="${translations[LAUNCH]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"${translations[Run file ...]}":106 2>/dev/null
PW_YAD_SET="$?"
fi
[[ -n "$PW_YAD_SET" ]] && case "$PW_YAD_SET" in
case "$PW_YAD_SET" in
128)
if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then
unset PW_YAD_FORM_TAB
fi
unset portwine_exe KEY_START $(sed -n '/export/p' "${PORTWINE_DB_FILE}" | sed 's/\(export\|=.*\| \)//g')
print_info "Restarting..."
restart_pp
;;
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
PORTWINE_DB_FOR_UNSET=$(sed -n '/export/p' "${PORTWINE_DB_FILE}" | sed 's/\(export\|=.*\| \)//g')
for db_unset in $PORTWINE_DB_FOR_UNSET ; do
unset "$db_unset"
done
unset portwine_exe KEY_START
print_info "Restarting..."
restart_pp
;;
1|252)
exit 0
;;
exit 0
;;
esac
pw_yad_set_form
pw_yad_form_vulkan
elif [[ -f "${PORTWINE_DB_FILE}" ]] ; then
elif [[ -f "$PORTWINE_DB_FILE" ]] ; then
portwine_launch
fi
else
PW_ALL_DF="$(ls "${PORT_WINE_PATH}"/ | grep .desktop | grep -vE '(PortProton|readme)')"
if [[ -z "${PW_ALL_DF}" ]]
then export PW_GUI_SORT_TABS=(1 2 3 4 5)
else export PW_GUI_SORT_TABS=(2 3 4 5 1)
fi
if [[ "$RESTART_PP_USED" == "userconf" ]] ; then
unset RESTART_PP_USED
gui_userconf
fi
export KEY_MENU="$RANDOM"
# Поиск .desktop файлов
AMOUNT_GENERATE_BUTTONS="0"
for desktop_file in "$PORT_WINE_PATH"/* ; do
desktop_file_new="${desktop_file//"$PORT_WINE_PATH/"/}"
if [[ $desktop_file_new =~ .desktop$ ]] ; then
if [[ ! $desktop_file_new =~ (PortProton|readme) ]] ; then
while IFS= read -r line ; do
if [[ $line =~ ^Exec= ]] ; then
if check_flatpak ; then
PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]=${line//Exec=flatpak run ru.linux_gaming.PortProton /}
else
PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]=${line//Exec=env \"$PORT_SCRIPTS_PATH\/start.sh\" /}
fi
fi
[[ $line =~ ^Icon= ]] && PW_ICON_PATH["$AMOUNT_GENERATE_BUTTONS"]="${line//Icon=/}"
[[ $line =~ ^#Time= ]] && PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]="${line//#Time=/}"
[[ $line =~ ^#NEW_DESKTOP ]] && NEW_DESKTOP=1
done < "$desktop_file"
PW_ALL_DF["$AMOUNT_GENERATE_BUTTONS"]="$desktop_file_new"
if [[ $NEW_DESKTOP == 1 ]] && [[ $SORT_WITH_TIME == enabled ]] ; then
unset NEW_DESKTOP
sed -i '/^#NEW_DESKTOP/d' "$desktop_file"
PW_AMOUNT_NEW_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
else
PW_AMOUNT_OLD_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
fi
# Для фикса битых #Time=
if [[ ! ${PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]} =~ [0-9]+ ]] ; then
portwine_exe=${PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]//\"/}
search_desktop_file
unset portwine_exe
PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]=${TIME_CURRENT_ARRAY[0]}
fi
(( AMOUNT_GENERATE_BUTTONS++ ))
fi
fi
done
# Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему.
# 10 миллисекунд на 40 .desktop файлов, работает быстро
if [[ $SORT_WITH_TIME == enabled ]] ; then
for i in "${!PW_GAME_TIME[@]}" ; do
for j in "${!PW_GAME_TIME[@]}" ; do
if (( ${PW_GAME_TIME[$i]} > ${PW_GAME_TIME[$j]} )) ; then
tmp_0=${PW_GAME_TIME[$i]}
tmp_1=${PW_ALL_DF[$i]}
tmp_2=${PW_NAME_D_ICON[$i]}
tmp_4=${PW_ICON_PATH[$i]}
PW_GAME_TIME[i]=${PW_GAME_TIME[$j]}
PW_ALL_DF[i]=${PW_ALL_DF[$j]}
PW_NAME_D_ICON[i]=${PW_NAME_D_ICON[$j]}
PW_ICON_PATH[i]=${PW_ICON_PATH[$j]}
PW_GAME_TIME[j]=$tmp_0
PW_ALL_DF[j]=$tmp_1
PW_NAME_D_ICON[j]=$tmp_2
PW_ICON_PATH[j]=$tmp_4
fi
done
done
fi
# Генерация .desktop баттанов для главного меню
IFS=$'\n'
AMOUNT_GENERATE_BUTTONS="1"
PW_GENERATE_BUTTONS="--field= ${translations[Create shortcut...]}!${PW_GUI_ICON_PATH}/find_48.svg!:FBTNR%@bash -c \"button_click --normal pw_find_exe\"%"
for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do
if check_flatpak ; then
PW_NAME_D_ICON="$(grep Exec "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F'=' '{print $2}' |
sed -e 's|flatpak run ru.linux_gaming.PortProton||' -e 's|"||g' -e 's|^[ \t]*||')"
else
PW_NAME_D_ICON="$(grep Exec "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F"=env " '{print $2}' |
sed -e "s|${PORT_SCRIPTS_PATH}/start.sh||" -e 's|"||g' -e 's|^[ \t]*||')"
fi
PW_ICON_PATH="$(grep Icon "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F= '{print $2}')"
PW_NAME_D_ICON_48="${PW_ICON_PATH%.png}_48"
PW_NAME_D_ICON_128="${PW_ICON_PATH%.png}"
if [[ -f "${PW_NAME_D_ICON}" ]] ; then
resize_png "${PW_NAME_D_ICON}" "${PW_NAME_D_ICON_48//"${PORT_WINE_PATH}/data/img/"/}" "48"
resize_png "${PW_NAME_D_ICON}" "${PW_NAME_D_ICON_128//"${PORT_WINE_PATH}/data/img/"/}" "128"
fi
for dp in ${PW_AMOUNT_NEW_DESKTOP[@]} ${PW_AMOUNT_OLD_DESKTOP[@]} ; do
PW_NAME_D_ICON_48="${PW_ICON_PATH[dp]%.png}_48"
PW_NAME_D_ICON_128="${PW_ICON_PATH[dp]%.png}"
PW_NAME_D_ICON_NEW="${PW_NAME_D_ICON[dp]//\"/}"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_48//"${PORT_WINE_PATH}/data/img/"/}" "48"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_128//"${PORT_WINE_PATH}/data/img/"/}" "128"
PW_DESKTOP_FILES="${PW_ALL_DF[$dp]}"
PW_DESKTOP_FILES_SHOW="$PW_DESKTOP_FILES"
if [[ $PW_DESKTOP_FILES =~ [\(\)\!\$\%\&\`\'\"\>\<\\\|\;] ]] ; then
export PW_DESKTOP_FILES_REGEX="1"
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES//\!/}"
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//\%/}"
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//\$/}"
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//\&/}"
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//\</}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\(/#+_1#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\)/#+_2#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\!/#+_3#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\$/#+_4#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\%/#+_5#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\&/#+_6#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\`/#+_7#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\'/#+_8#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\"/#+_9#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\>/#+_10#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\</#+_11#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\\/#+_12#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\|/#+_13#}"
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//\;/#+_14#}"
else
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES}"
PW_DESKTOP_FILES_SHOW_REGEX=(\! % \$ \& \<)
PW_DESKTOP_FILES_REGEX=(\( \) \! \$ % \& \` \' \" \> \< \\ \| \;)
for i in "${PW_DESKTOP_FILES_SHOW_REGEX[@]}" ; do
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//$i/}"
done
count=1
for j in "${PW_DESKTOP_FILES_REGEX[@]}" ; do
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//$j/#+_$count#}"
(( count++ ))
done
fi
PW_GENERATE_BUTTONS+="--field= $(print_wrapped "${PW_DESKTOP_FILES_SHOW//".desktop"/""}" "25" "...")!${PW_NAME_D_ICON_48}.png!:FBTNR%@bash -c \"button_click --desktop "${PW_DESKTOP_FILES// /#@_@#}"\"%"
(( AMOUNT_GENERATE_BUTTONS++ ))
done
MAIN_GUI_ROWS="$(( AMOUNT_GENERATE_BUTTONS / MAIN_GUI_COLUMNS + 1 ))"
MAIN_GUI_ROWS="$(( ( AMOUNT_GENERATE_BUTTONS + 1 ) / MAIN_GUI_COLUMNS + 1 ))"
if [[ -z $PW_DESKTOP_FILES ]]
then export PW_GUI_SORT_TABS=(1 2 3 4 5)
else export PW_GUI_SORT_TABS=(2 3 4 5 1)
fi
KEY_MENU="$RANDOM"
IFS="%"
"${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[4]}" --form --columns="$MAIN_GUI_ROWS" --homogeneous-column \
......@@ -697,48 +750,67 @@ else
--field=" ${translations[Command line]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"${translations[Run wine cmd]}":"FBTN" '@bash -c "button_click --normal WINECMD"' \
--field=" ${translations[Regedit]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"${translations[Run wine regedit]}":"FBTN" '@bash -c "button_click --normal WINEREG"' 1> "${PW_TMPFS_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
AI_AMOUNT_GAMES="0"
AI_AMOUNT_EMULS="0"
for ai_file in "$PORT_SCRIPTS_PATH"/pw_autoinstall/* ; do
AI_FILE="${ai_file//"$PORT_SCRIPTS_PATH/pw_autoinstall/"/}"
while IFS= read -r line ; do
[[ $line =~ "##########" ]] && break
[[ $line =~ "# type: " ]] && AI_TYPE="${line//# type: /}"
[[ $line =~ "# name: " ]] && AI_NAME="${line//# name: /}"
[[ $line =~ "# image: " ]] && AI_IMAGE="${line//# image: /}"
if [[ "$LANGUAGE" == ru ]] ; then
[[ $line =~ "# info_ru: " ]] && AI_INFO="${line//# info_ru: /}"
if [[ $AI_SKIP != 1 ]] ; then
# AI_TOP_GAMES используется для сортировки автоинсталлов (работает на эмуляторы тоже)
AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET"
AI_AMOUNT_GAMES="0" && AI_AMOUNT_EMULS="0" && AI_AMOUNT_ARRAY="0"
for ai_file in "$PORT_SCRIPTS_PATH"/pw_autoinstall/* ; do
while IFS= read -r line ; do
[[ $line =~ "##########" ]] && break
[[ $line =~ "# type: " ]] && AI_TYPE["$AI_AMOUNT_ARRAY"]="${line//# type: /}"
[[ $line =~ "# name: " ]] && AI_NAME["$AI_AMOUNT_ARRAY"]="${line//# name: /}"
[[ $line =~ "# image: " ]] && AI_IMAGE["$AI_AMOUNT_ARRAY"]="${line//# image: /}"
if [[ "$LANGUAGE" == ru ]] ; then
[[ $line =~ "# info_ru: " ]] && AI_INFO["$AI_AMOUNT_ARRAY"]="${line//# info_ru: /}"
else
[[ $line =~ "# info_en: " ]] && AI_INFO["$AI_AMOUNT_ARRAY"]="${line//# info_en: /}"
fi
done < "$ai_file"
AI_FILE="${ai_file//"$PORT_SCRIPTS_PATH/pw_autoinstall/"/}"
AI_FILE_CHECK="$AI_FILE=$AI_AMOUNT_ARRAY"
AI_FILE_ARRAY+=($AI_FILE)
if [[ $AI_TOP_GAMES =~ ${AI_FILE_CHECK//=*/} ]] ; then
AI_TRUE_FILE+=($AI_FILE_CHECK)
else
[[ $line =~ "# info_en: " ]] && AI_INFO="${line//# info_en: /}"
AI_FILE_UNSORTED+=($AI_AMOUNT_ARRAY)
fi
done < "$ai_file"
(( AI_AMOUNT_ARRAY++ ))
done
for ai_sort in $AI_TOP_GAMES ; do
if [[ ${AI_TRUE_FILE[*]} =~ $ai_sort ]] ; then
AI_TRUE_FILE_NEW=(${AI_TRUE_FILE[@]//$ai_sort=/})
AI_FILE_SORTED+=(${AI_TRUE_FILE_NEW[@]//*=*/})
fi
done
IFS=$'\n'
[[ -z "$AI_NAME" ]] && yad_error "Line: \"name\" not found in file $AI_FILE."
case $AI_TYPE in
games)
PW_GENERATE_BUTTONS_GAMES+="--field= $AI_NAME!$PW_GUI_ICON_PATH/$AI_IMAGE.png!$AI_INFO:FBTNR%@bash -c \"button_click --normal $AI_FILE\"%"
(( AI_AMOUNT_GAMES++ ))
;;
emulators)
PW_GENERATE_BUTTONS_EMULS+="--field= $AI_NAME!$PW_GUI_ICON_PATH/$AI_IMAGE.png!$AI_INFO:FBTNR%@bash -c \"button_click --normal $AI_FILE\"%"
(( AI_AMOUNT_EMULS++ ))
;;
*)
yad_error "Line: \"type\" not found in file $AI_FILE or misspelled."
;;
esac
[[ -z $PW_DEBUG ]] && unset AI_FILE AI_TYPE AI_NAME AI_IMAGE AI_INFO
done
MAIN_GUI_ROWS_GAMES="$(( AI_AMOUNT_GAMES / MAIN_GUI_COLUMNS + 1 ))"
MAIN_GUI_ROWS_EMULS="$(( AI_AMOUNT_EMULS / MAIN_GUI_COLUMNS + 1 ))"
for ai in "${AI_FILE_SORTED[@]}" "${AI_FILE_UNSORTED[@]}" ; do
case ${AI_TYPE[$ai]} in
games)
export PW_GENERATE_BUTTONS_GAMES+="--field= ${AI_NAME[$ai]}!$PW_GUI_ICON_PATH/${AI_IMAGE[$ai]}.png!${AI_INFO[$ai]}:FBTNR%@bash -c \"button_click --normal ${AI_FILE_ARRAY[$ai]}\"%"
(( AI_AMOUNT_GAMES++ ))
;;
emulators)
export PW_GENERATE_BUTTONS_EMULS+="--field= ${AI_NAME[$ai]}!$PW_GUI_ICON_PATH/${AI_IMAGE[$ai]}.png!${AI_INFO[$ai]}:FBTNR%@bash -c \"button_click --normal ${AI_FILE_ARRAY[$ai]}\"%"
(( AI_AMOUNT_EMULS++ ))
;;
*)
yad_error "Line: \"type\" not found in file ${AI_FILE_ARRAY[$ai]} or misspelled."
;;
esac
done
export MAIN_GUI_ROWS_GAMES="$(( AI_AMOUNT_GAMES / MAIN_GUI_COLUMNS + 1 ))"
export MAIN_GUI_ROWS_EMULS="$(( AI_AMOUNT_EMULS / MAIN_GUI_COLUMNS + 1 ))"
export AI_SKIP="1"
fi
IFS="%"
"${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[1]}" --form --columns="$MAIN_GUI_ROWS_EMULS" --align-buttons --scroll --homogeneous-column \
--gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" --separator=" " ${PW_GENERATE_BUTTONS_EMULS} 2>/dev/null &
"${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[0]}" --form --columns="$MAIN_GUI_ROWS_GAMES" --align-buttons --scroll --homogeneous-column \
--gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" --separator=" " ${PW_GENERATE_BUTTONS_GAMES} 2>/dev/null &
unset PW_GENERATE_BUTTONS_GAMES PW_GENERATE_BUTTONS_EMULS
IFS="$orig_IFS"
export START_FROM_PP_GUI="1"
......@@ -746,7 +818,7 @@ else
export TAB_MAIN_MENU="1"
fi
if [[ -z "${PW_ALL_DF}" ]] ; then
if [[ -z $PW_DESKTOP_FILES ]] ; then
"${pw_yad}" --key=$KEY_MENU --notebook --expand \
--gui-type="settings-notebook" --active-tab="${TAB_MAIN_MENU}" \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
......@@ -795,12 +867,12 @@ if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
fi
[[ -n "$PW_YAD_SET" ]] && case "$PW_YAD_SET" in
case "$PW_YAD_SET" in
gui_pw_reinstall_pp|open_changelog|\
128|gui_pw_update|gui_rm_portproton|\
change_loc|gui_open_scripts_from_backup|\
gui_credits|pw_start_cont_xterm)
if [[ -z "${PW_ALL_DF}" ]] ; then
if [[ -z $PW_DESKTOP_FILES ]] ; then
export TAB_MAIN_MENU="4"
else
export TAB_MAIN_MENU="5"
......@@ -810,14 +882,14 @@ fi
116|pw_create_prefix_backup|\
gui_clear_pfx|WINEREG|WINECMD|\
WINEFILE|WINECFG|gui_wine_uninstaller)
if [[ -z "${PW_ALL_DF}" ]] ; then
if [[ -z $PW_DESKTOP_FILES ]] ; then
export TAB_MAIN_MENU="3"
else
export TAB_MAIN_MENU="4"
fi
;;
pw_find_exe)
if [[ -z "${PW_ALL_DF}" ]] ; then
if [[ -z $PW_DESKTOP_FILES ]] ; then
export TAB_MAIN_MENU="5"
else
export TAB_MAIN_MENU="1"
......@@ -825,7 +897,7 @@ fi
;;
esac
[[ -n "$PW_YAD_SET" ]] && case "$PW_YAD_SET" in
case "$PW_YAD_SET" in
98) portwine_delete_shortcut ;;
100) portwine_create_shortcut ;;
DEBUG|102) portwine_start_debug ;;
......
......@@ -23,7 +23,7 @@ export BUTTON_SIZE=32 # 24, 28, 32, 36, 40
export TAB_SIZE=32 # 24, 28, 32, 36, 40
export PW_MAIN_SIZE_W=500
export PW_MAIN_SIZE_W=1000
export PW_MAIN_SIZE_H=350
export PW_START_SIZE_W=500
......
......@@ -31,7 +31,7 @@ export BUTTON_SIZE=28 # 24, 28, 32, 36, 40
export TAB_SIZE=32 # 24, 28, 32, 36, 40
# размер главного меню
export PW_MAIN_SIZE_W=500
export PW_MAIN_SIZE_W=1000
export PW_MAIN_SIZE_H=330
# размер меню запуска и положения табов
......
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