Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PortWINE
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mikhail Tergoev
PortWINE
Commits
38e880d3
Commit
38e880d3
authored
Oct 07, 2024
by
Vladislav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes
parent
11dff461
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
142 additions
and
109 deletions
+142
-109
PortProton.pot
data_from_portwine/locales/PortProton.pot
+2
-2
PortProton.po
data_from_portwine/locales/es/LC_MESSAGES/PortProton.po
+2
-2
PortProton.po
data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po
+7
-8
functions_helper
data_from_portwine/scripts/functions_helper
+97
-62
start.sh
data_from_portwine/scripts/start.sh
+34
-35
tray_gui_pp
data_from_portwine/themes/tray/tray_gui_pp
+0
-0
No files found.
data_from_portwine/locales/PortProton.pot
View file @
38e880d3
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
msgid ""
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-0
7 15:49
+0500\n"
"POT-Creation-Date: 2024-10-0
8 10:20
+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
...
@@ -239,7 +239,7 @@ msgstr ""
...
@@ -239,7 +239,7 @@ msgstr ""
msgid "hours"
msgid "hours"
msgstr ""
msgstr ""
msgid "
not known yet
"
msgid "
less than a minute
"
msgstr ""
msgstr ""
msgid "minute"
msgid "minute"
...
...
data_from_portwine/locales/es/LC_MESSAGES/PortProton.po
View file @
38e880d3
...
@@ -8,7 +8,7 @@ msgid ""
...
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-0
7 15:49
+0500\n"
"POT-Creation-Date: 2024-10-0
8 10:15
+0500\n"
"PO-Revision-Date: 2024-09-19 23:35+0500\n"
"PO-Revision-Date: 2024-09-19 23:35+0500\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language-Team: \n"
...
@@ -262,7 +262,7 @@ msgstr ""
...
@@ -262,7 +262,7 @@ msgstr ""
msgid "hours"
msgid "hours"
msgstr ""
msgstr ""
msgid "
not known yet
"
msgid "
less than a minute
"
msgstr ""
msgstr ""
msgid "minute"
msgid "minute"
...
...
data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po
View file @
38e880d3
...
@@ -7,8 +7,8 @@ msgid ""
...
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-0
7 15:49
+0500\n"
"POT-Creation-Date: 2024-10-0
8 10:15
+0500\n"
"PO-Revision-Date: 2024-10-0
7 15:52
+0500\n"
"PO-Revision-Date: 2024-10-0
8 10:15
+0500\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language-Team: \n"
"Language: ru_RU\n"
"Language: ru_RU\n"
...
@@ -73,7 +73,6 @@ msgstr "Основные настройки"
...
@@ -73,7 +73,6 @@ msgstr "Основные настройки"
msgid "Edit database file for"
msgid "Edit database file for"
msgstr "Редактировать файл настроек для"
msgstr "Редактировать файл настроек для"
#, fuzzy
msgid "Global settings"
msgid "Global settings"
msgstr "Глобальные настройки"
msgstr "Глобальные настройки"
...
@@ -152,7 +151,6 @@ msgstr "История изменений"
...
@@ -152,7 +151,6 @@ msgstr "История изменений"
msgid "Change language"
msgid "Change language"
msgstr "Сменить язык"
msgstr "Сменить язык"
#, fuzzy
msgid "Global settings (user.conf)"
msgid "Global settings (user.conf)"
msgstr "Глобальные настройки (user.conf)"
msgstr "Глобальные настройки (user.conf)"
...
@@ -263,8 +261,8 @@ msgstr "и"
...
@@ -263,8 +261,8 @@ msgstr "и"
msgid "hours"
msgid "hours"
msgstr "часов"
msgstr "часов"
msgid "
not known yet
"
msgid "
less than a minute
"
msgstr "
пока неизвестно
"
msgstr "
меньше минуты
"
msgid "minute"
msgid "minute"
msgstr "минута"
msgstr "минута"
...
@@ -1730,7 +1728,6 @@ msgstr "Выключить"
...
@@ -1730,7 +1728,6 @@ msgstr "Выключить"
msgid "Enable"
msgid "Enable"
msgstr "Включить"
msgstr "Включить"
#, fuzzy
msgid "Change global settings"
msgid "Change global settings"
msgstr "Изменить глобальные настройки"
msgstr "Изменить глобальные настройки"
...
@@ -1815,7 +1812,6 @@ msgstr ""
...
@@ -1815,7 +1812,6 @@ msgstr ""
"Эта настройка сортирует ярлыки в главном меню в зависимости от времени, "
"Эта настройка сортирует ярлыки в главном меню в зависимости от времени, "
"проведенного в приложении или игре"
"проведенного в приложении или игре"
#, fuzzy
msgid "GLOBAL SETTINGS (USER.CONF)"
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
...
@@ -2146,6 +2142,9 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
...
@@ -2146,6 +2142,9 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
msgstr "БИБЛИОТЕКИ"
#~ msgid "not known yet"
#~ msgstr "пока неизвестно"
#~ msgid "Emulator for Nintendo game consoles with high compatibility"
#~ msgid "Emulator for Nintendo game consoles with high compatibility"
#~ msgstr "Эмулятор игровых консолей Nintendo с высокой совместимостью"
#~ msgstr "Эмулятор игровых консолей Nintendo с высокой совместимостью"
...
...
data_from_portwine/scripts/functions_helper
View file @
38e880d3
...
@@ -186,6 +186,7 @@ eval_translations () {
...
@@ -186,6 +186,7 @@ eval_translations () {
}
}
create_translations
()
{
create_translations
()
{
local
po_file msgid msgstr
if
[[
!
-d
"
${
PW_CACHE_LANG_PATH
}
"
]]
;
then
if
[[
!
-d
"
${
PW_CACHE_LANG_PATH
}
"
]]
;
then
create_new_dir
"
${
PW_CACHE_LANG_PATH
}
"
create_new_dir
"
${
PW_CACHE_LANG_PATH
}
"
fi
fi
...
@@ -456,12 +457,13 @@ try_download () {
...
@@ -456,12 +457,13 @@ try_download () {
no_mirror=true
no_mirror=true
esac
esac
local filename
if [[ -n "
${
PW_AUTOINSTALL_EXE
}
" ]]
\
if [[ -n "
${
PW_AUTOINSTALL_EXE
}
" ]]
\
&& [[ "
$no_mirror
" == "
true
" ]]
&& [[ "
$no_mirror
" == "
true
" ]]
then
then
local
filename="
$(
basename
"
${
PW_AUTOINSTALL_EXE
}
"
)
"
filename="
$(
basename
"
${
PW_AUTOINSTALL_EXE
}
"
)
"
else
else
local
filename="
$(
basename
"
$1
"
)
"
filename="
$(
basename
"
$1
"
)
"
fi
fi
if [[ "
${
MIRROR
}
" == CLOUD ]]
\
if [[ "
${
MIRROR
}
" == CLOUD ]]
\
...
@@ -778,6 +780,9 @@ debug_timer () {
...
@@ -778,6 +780,9 @@ debug_timer () {
# Поиск нужного .desktop файла по $portwine_exe
# Поиск нужного .desktop файла по $portwine_exe
search_desktop_file
()
{
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
for
desktop_file
in
"
$PORT_WINE_PATH
"
/
*
;
do
desktop_file_new
=
"
${
desktop_file
//
"
$PORT_WINE_PATH
/"
/
}
"
desktop_file_new
=
"
${
desktop_file
//
"
$PORT_WINE_PATH
/"
/
}
"
if
[[
$desktop_file_new
=
~ .desktop
]]
;
then
if
[[
$desktop_file_new
=
~ .desktop
]]
;
then
...
@@ -789,89 +794,117 @@ search_desktop_file () {
...
@@ -789,89 +794,117 @@ search_desktop_file () {
else
else
EXEC_DESKTOP
=
${
line
//Exec=env \
"
$PORT_SCRIPTS_PATH
\/
start.sh
\"
/}
EXEC_DESKTOP
=
${
line
//Exec=env \
"
$PORT_SCRIPTS_PATH
\/
start.sh
\"
/}
fi
fi
EXEC_DESKTOP_NEW=
"
${
EXEC_DESKTOP
//\
"/}"
EXEC_DESKTOP_NEW=
${
EXEC_DESKTOP
//\
"/}
fi
fi
if [[
$line
=~ ^#Time= ]] && [[
$portwine_exe
== "
$EXEC_DESKTOP_NEW
" ]] ; then
if [[
$line
=~ ^#Time= ]] ; then
TIME_CURRENT=
${
line
//#Time=/
}
if [[
$portwine_exe
==
"
$EXEC_DESKTOP_NEW
"
]] ; then
TIME_CURRENT=
${
line
//#Time=/
}
fi
fi
fi
done < "
$desktop_file
"
done < "
$desktop_file
"
if [[
$portwine_exe
== "
$EXEC_DESKTOP_NEW
" ]] ; then
if [[
$portwine_exe
== "
$EXEC_DESKTOP_NEW
" ]] ; then
if [[ !
$TIME_CURRENT
=~ [0-9]+ ]] ; 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
"
TIME_CURRENT="
0
"
sed -i
'/^#Time=/d'
"
$desktop_file
"
echo
"#Time=0"
>>
"
$desktop_file
"
fi
if [[ -n
$PW_TIME_IN_GAME
]] ; then
TIME_TOTAL=
$((
TIME_CURRENT
+
PW_TIME_IN_GAME
))
sed -i
'/^#Time=/d'
"
$desktop_file
"
echo
"#Time=
$TIME_TOTAL
"
>>
"
$desktop_file
"
fi
fi
TIME_CURRENT_ARRAY+=(
$TIME_CURRENT
)
unset TIME_CURRENT
DESKTOP_FILES_ARRAY["
$count
"]="
$desktop_file
"
(( count++ ))
fi
fi
fi
fi
fi
fi
done
done
IFS="
$orig_IFS
"
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 () {
seconds_to_time () {
[[ -z
$1
]] && return 0
[[ -z
$1
]] && return 0
local seconds=
$1
local seconds days hours minutes
seconds=
$1
local
days=
$((
seconds
/
(
60
*
60
*
24
))
)
days=
$((
seconds
/
(
60
*
60
*
24
))
)
local
seconds=
$((
seconds
%
(
60
*
60
*
24
))
)
seconds=
$((
seconds
%
(
60
*
60
*
24
))
)
local
hours=
$((
seconds
/
(
60
*
60
))
)
hours=
$((
seconds
/
(
60
*
60
))
)
local
seconds=
$((
seconds
%
(
60
*
60
))
)
seconds=
$((
seconds
%
(
60
*
60
))
)
local
minutes=
$((
seconds
/
60
))
minutes=
$((
seconds
/
60
))
local
seconds=
$((
seconds
%
60
))
seconds=
$((
seconds
%
60
))
if [[
$days
=~ ^0
$
]] ; then
if [[
$days
=~ ^0
$
]] ; then
local
days=
days=
elif [[
$days
=~ ^1
$
]] ; then
elif [[
$days
=~ ^1
$
]] ; then
local
days=
"
$days
${
translations
[day]
}
, "
days="
$days
${
translations
[day]
}
,
"
elif [[
$days
=~ ^([2-9]1|[1-9][0-9]+1)
$
]] && [[
$LANGUAGE
== ru ]] ; then
elif [[
$days
=~ ^([2-9]1|[1-9][0-9]+1)
$
]] && [[
$LANGUAGE
== ru ]] ; then
local days=
"
$days
${
translations
[day]
}
, "
days="
$days
${
translations
[day]
}
,
"
elif [[
$days
=~ ^([2-4]|[2-9][2-4]|[1-9][0-9]+[2-4])
$
]] \
elif [[
$days
=~ ^([2-4]|[2-9][2-4]|[1-9][0-9]+[2-4])
$
]] && [[
$LANGUAGE
== ru ]] ; then
&& [[
$LANGUAGE
== ru ]] ; then
days="
$days
дня,
"
local days=
"
$days
дня, "
else
else
local
days=
"
$days
${
translations
[days]
}
, "
days="
$days
${
translations
[days]
}
,
"
fi
fi
if [[
$hours
=~ ^0
$
]] ; then
if [[
$hours
=~ ^0
$
]] ; then
local
hours=
hours=
elif [[
$hours
=~ ^1
$
]] ; then
elif [[
$hours
=~ ^1
$
]] ; then
local
hours=
"
$hours
${
translations
[hour]
}
${
translations
[and]
}
"
hours="
$hours
${
translations
[hour]
}
${
translations
[and]
}
"
elif [[
$hours
=~ ^([2-4]|2[2-4])
$
]] && [[
$LANGUAGE
== ru ]] ; then
elif [[
$hours
=~ ^([2-4]|2[2-4])
$
]] && [[
$LANGUAGE
== ru ]] ; then
local
hours=
"
$hours
часа
${
translations
[and]
}
"
hours="
$hours
часа
${
translations
[and]
}
"
elif [[
$hours
=~ ^21
$
]] && [[
$LANGUAGE
== ru ]] ; then
elif [[
$hours
=~ ^21
$
]] && [[
$LANGUAGE
== ru ]] ; then
local
hours=
"
$hours
${
translations
[hour]
}
${
translations
[and]
}
"
hours="
$hours
${
translations
[hour]
}
${
translations
[and]
}
"
else
else
local
hours=
"
$hours
${
translations
[hours]
}
${
translations
[and]
}
"
hours="
$hours
${
translations
[hours]
}
${
translations
[and]
}
"
fi
fi
if [[
$minutes
=~ ^0
$
]] ; then
if [[
$minutes
=~ ^0
$
]] ; then
local
hours=
${
hours
//
"
${
translations
[and]
}
"
/
}
hours=
${
hours
//
"
${
translations
[and]
}
"
/
}
local
minutes=
minutes=
if [[
$days
== "" ]] || [[
$hours
== "" ]] ; then
if [[
$days
== "" ]] || [[
$hours
== "" ]] ; then
local
days=
${
days
//
","
/
}
days=
${
days
//
","
/
}
fi
fi
if [[
$days
== "" ]] && [[
$hours
== "" ]] ; then
if [[
$days
== "" ]] && [[
$hours
== "" ]] ; then
local minutes=
"
${
translations
[not known yet
]
}
"
minutes="
${
translations
[less than a minute
]
}
"
fi
fi
elif [[
$minutes
=~ ^1
$
]] ; then
elif [[
$minutes
=~ ^1
$
]] ; then
local
minutes=
"
$minutes
${
translations
[minute]
}
"
minutes="
$minutes
${
translations
[minute]
}
"
elif [[
$minutes
=~ ^[2-5]1
$
]] && [[
$LANGUAGE
== ru ]] ; then
elif [[
$minutes
=~ ^[2-5]1
$
]] && [[
$LANGUAGE
== ru ]] ; then
local
minutes=
"
$minutes
${
translations
[minute]
}
"
minutes="
$minutes
${
translations
[minute]
}
"
elif [[
$minutes
=~ ^([2-4]|[2-5][2-4])
$
]] && [[
$LANGUAGE
== ru ]] ; then
elif [[
$minutes
=~ ^([2-4]|[2-5][2-4])
$
]] && [[
$LANGUAGE
== ru ]] ; then
local
minutes=
"
$minutes
минуты"
minutes="
$minutes
минуты
"
else
else
local
minutes=
"
$minutes
${
translations
[minutes]
}
"
minutes="
$minutes
${
translations
[minutes]
}
"
fi
fi
echo -e "
<b>\n
${
translations
[Time spent]
}
:
$days$hours$minutes
</b>
"
echo -e "
<b>\n
${
translations
[Time spent]
}
:
$days$hours$minutes
</b>
"
...
@@ -882,32 +915,34 @@ combobox_fix () {
...
@@ -882,32 +915,34 @@ combobox_fix () {
print_error "
no
argument specified for combobox_fix
"
print_error "
no
argument specified for combobox_fix
"
return 1
return 1
else
else
local name1 name2
if [[ "
$1
" == "
--disabled
" ]] ; then
if [[ "
$1
" == "
--disabled
" ]] ; then
if [[ -z "
$3
" ]] ; then
if [[ -z "
$3
" ]] ; then
echo "
disabled
"
echo "
disabled
"
return 0
return 0
fi
fi
local
name1
=
"
$2
"
name1="
$2
"
local
name2
=
"
$3
"
name2="
$3
"
elif [[ "
$1
" == "
--empty
" ]] ; then
elif [[ "
$1
" == "
--empty
" ]] ; then
if [[ -z "
$3
" ]] ; then
if [[ -z "
$3
" ]] ; then
echo ""
echo ""
return 0
return 0
fi
fi
local
name1
=
"
$2
"
name1="
$2
"
local
name2
=
"
$3
"
name2="
$3
"
else
else
local
name1
=
"
$1
"
name1="
$1
"
if [[ -z "
$2
" ]] ; then
if [[ -z "
$2
" ]] ; then
echo "
${
name1
}
"
echo "
${
name1
}
"
return 0
return 0
fi
fi
local
name2
=
"
$2
"
name2="
$2
"
fi
fi
local
name3
=
"
${
name2
//\!
${
name1
}
\!/\!
}
"
local name3 name4
local
name3
=
"!
${
name3
//
${
name1
}
\!/\!
}
"
name3="
${
name2
//\!
${
name1
}
\!/\!
}
"
local
name3
=
"
${
name3
//\!\!/\!
}
"
name3="
!
${
name3
//
${
name1
}
\!/\!
}
"
local
name4
=
"
${
name3
//*\!/
}
"
name3="
${
name3
//\!\!/\!
}
"
name4="
${
name3
//*\!/
}
"
if [[
${
name1
}
== "
${
name4
}
" ]] || [[
${
name1
}
== "
\\
${
name4
}
" ]]
if [[
${
name1
}
== "
${
name4
}
" ]] || [[
${
name1
}
== "
\\
${
name4
}
" ]]
then name3="
${
name3
%\!
"
${
name1
}
"
}
"
then name3="
${
name3
%\!
"
${
name1
}
"
}
"
fi
fi
...
@@ -2320,14 +2355,12 @@ pw_find_exe () {
...
@@ -2320,14 +2355,12 @@ pw_find_exe () {
--button
=
"
${
translations
[CANCEL]
}
"
!
"
$PW_GUI_ICON_PATH
/
$BUTTON_SIZE
.png"
:1
\
--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
)
"
--button
=
"
${
translations
[OK]
}
"
!
"
$PW_GUI_ICON_PATH
/
$BUTTON_SIZE
.png"
:0 2>/dev/null
)
"
YAD_STATUS
=
"
$?
"
YAD_STATUS
=
"
$?
"
IFS
=
"
$orig_IFS
"
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
if
[[
-z
"
${
PW_SET_FIND_EXE
}
"
]]
;
then
print_info
"Restarting..."
print_info
"Restarting..."
restart_pp
restart_pp
fi
exit
0
fi
fi
IFS
=
"
$orig_IFS
"
if
[[
-n
"
${
PW_SET_FIND_EXE
}
"
]]
;
then
if
[[
-n
"
${
PW_SET_FIND_EXE
}
"
]]
;
then
portwine_exe
=
"
${
PW_PATH_FOR_FIND
}$(
echo
"
${
PW_SET_FIND_EXE
}
"
|
awk
-F
'|'
'{print $1}'
)
"
portwine_exe
=
"
${
PW_PATH_FOR_FIND
}$(
echo
"
${
PW_SET_FIND_EXE
}
"
|
awk
-F
'|'
'{print $1}'
)
"
...
@@ -5483,6 +5516,7 @@ portwine_create_shortcut () {
...
@@ -5483,6 +5516,7 @@ portwine_create_shortcut () {
fi
fi
elif
[[
"
$PW_YAD_OUT
"
==
"2"
]]
;
then
elif
[[
"
$PW_YAD_OUT
"
==
"2"
]]
;
then
print_info
"Restarting PP..."
print_info
"Restarting PP..."
[[
-n
$KEY_MENU
]]
&&
unset
portwine_exe
[[
"
${
PW_GUI_START
}
"
==
"NOTEBOOK"
]]
&&
unset
PW_YAD_FORM_TAB
[[
"
${
PW_GUI_START
}
"
==
"NOTEBOOK"
]]
&&
unset
PW_YAD_FORM_TAB
restart_pp
restart_pp
fi
fi
...
@@ -5511,7 +5545,7 @@ pw_auto_create_shortcut () {
...
@@ -5511,7 +5545,7 @@ pw_auto_create_shortcut () {
[[
-z
"
${
LINKS
[0]
}
"
]]
&&
return
0
[[
-z
"
${
LINKS
[0]
}
"
]]
&&
return
0
SORTED_LINKS
=()
SORTED_LINKS
=()
while
IFS
=
read
-r
line
;
do
while
IFS
=
read
-r
line
;
do
SORTED_LINKS+
=(
"
$line
"
)
;
SORTED_LINKS+
=(
"
$line
"
)
done
< <
(
echo
${
LINKS
[@]
}
|
tr
' '
'\n'
|
sort
-u
)
done
< <
(
echo
${
LINKS
[@]
}
|
tr
' '
'\n'
|
sort
-u
)
IFS
=
"
$orig_IFS
"
IFS
=
"
$orig_IFS
"
...
@@ -5562,6 +5596,7 @@ pw_auto_create_shortcut () {
...
@@ -5562,6 +5596,7 @@ pw_auto_create_shortcut () {
PORTPROTON_NAME
=
"
$link_name
"
PORTPROTON_NAME
=
"
$link_name
"
export
portwine_exe
=
"
$exe_path
"
export
portwine_exe
=
"
$exe_path
"
resize_png
"
$portwine_exe
"
"
${
PORTPROTON_NAME
}
"
"128"
resize_png
"
$portwine_exe
"
"
${
PORTPROTON_NAME
}
"
"128"
export
PW_NO_RESTART_PPDB
=
1
portwine_create_shortcut
portwine_create_shortcut
fi
fi
done
done
...
@@ -6002,8 +6037,8 @@ button_click () {
...
@@ -6002,8 +6037,8 @@ button_click () {
kill
-s
SIGUSR1
$(
pgrep
-a
yad |
grep
"
\-
-key=
${
KEY_MENU
}
"
|
awk
'{print $1}'
)
>
/dev/null 2>&1
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
//#@_@#/
}
"
PW_YAD_SET
=
"
${
PORT_WINE_PATH
}
/
${
PW_YAD_SET
//#@_@#/
}
"
if
[[
-n
$PW_DESKTOP_FILES_REGEX
]]
;
then
if
[[
-n
$PW_DESKTOP_FILES_REGEX
]]
;
then
count
=
1
local
count
=
1
for
y
in
${
PW_DESKTOP_FILES_REGEX
[@]
}
;
do
for
y
in
"
${
PW_DESKTOP_FILES_REGEX
[@]
}
"
;
do
PW_YAD_SET
=
"
${
PW_YAD_SET
//#+_
$count
#/
$y
}
"
PW_YAD_SET
=
"
${
PW_YAD_SET
//#+_
$count
#/
$y
}
"
((
count++
))
((
count++
))
done
done
...
...
data_from_portwine/scripts/start.sh
View file @
38e880d3
...
@@ -25,7 +25,8 @@ if PORT_SCRIPTS_PATH=$(readlink -f "${0%/*}") ; then
...
@@ -25,7 +25,8 @@ if PORT_SCRIPTS_PATH=$(readlink -f "${0%/*}") ; then
export
PORT_SCRIPTS_PATH
export
PORT_SCRIPTS_PATH
export
PORT_WINE_PATH
=
${
PORT_SCRIPTS_PATH
%/*/*
}
export
PORT_WINE_PATH
=
${
PORT_SCRIPTS_PATH
%/*/*
}
else
else
fatal
echo
"The PORT_SCRIPTS_PATH directory was not found!"
exit
1
fi
fi
# shellcheck source=/dev/null
# shellcheck source=/dev/null
...
@@ -90,10 +91,11 @@ unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERR
...
@@ -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
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
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_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_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
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_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"
export
PORT_WINE_TMP_PATH
=
"
${
PORT_WINE_PATH
}
/data/tmp"
rm
-f
"
$PORT_WINE_TMP_PATH
"
/
*
{
exe,msi,tar
}
*
rm
-f
"
$PORT_WINE_TMP_PATH
"
/
*
{
exe,msi,tar
}
*
...
@@ -324,7 +326,7 @@ export SKIP_CHECK_UPDATES="1"
...
@@ -324,7 +326,7 @@ export SKIP_CHECK_UPDATES="1"
[[
"
$MISSING_DESKTOP_FILE
"
==
"1"
]]
&&
portwine_missing_shortcut
[[
"
$MISSING_DESKTOP_FILE
"
==
"1"
]]
&&
portwine_missing_shortcut
if
[[
-n
$(
basename
"
${
portwine_exe
}
"
|
grep
.ppack
)
]]
;
then
if
[[
$(
basename
"
${
portwine_exe
}
"
)
=
~ .ppack
$
]]
;
then
unset
PW_SANDBOX_HOME_PATH
unset
PW_SANDBOX_HOME_PATH
pw_init_runtime
pw_init_runtime
if
check_flatpak
if
check_flatpak
...
@@ -500,9 +502,9 @@ if [[ -f "${portwine_exe}" ]] ; then
...
@@ -500,9 +502,9 @@ if [[ -f "${portwine_exe}" ]] ; then
[[
$DESKTOP_WITH_TIME
==
enabled
]]
&&
search_desktop_file
[[
$DESKTOP_WITH_TIME
==
enabled
]]
&&
search_desktop_file
if
[[
-z
"
${
PW_COMMENT_DB
}
"
]]
;
then
if
[[
-z
"
${
PW_COMMENT_DB
}
"
]]
;
then
if
[[
-n
"
${
PORTPROTON_NAME
}
"
]]
;
then
if
[[
-n
"
${
PORTPROTON_NAME
}
"
]]
;
then
PW_COMMENT_DB
=
"
${
translations
[Launching]
}
<b>
$(
print_wrapped
"
${
PORTPROTON_NAME
}
"
"50"
)
$(
seconds_to_time
"
$TIME_CURRENT
"
)
</b>
"
PW_COMMENT_DB
=
"
${
translations
[Launching]
}
<b>
$(
print_wrapped
"
${
PORTPROTON_NAME
}
"
"50"
)
</b>
$(
seconds_to_time
"
$TIME_CURRENT
"
)
"
else
else
PW_COMMENT_DB
=
"
${
translations
[Launching]
}
<b>
$(
print_wrapped
"
${
PORTWINE_DB
}
"
"50"
)
$(
seconds_to_time
"
$TIME_CURRENT
"
)
</b>
"
PW_COMMENT_DB
=
"
${
translations
[Launching]
}
<b>
$(
print_wrapped
"
${
PORTWINE_DB
}
"
"50"
)
</b>
$(
seconds_to_time
"
$TIME_CURRENT
"
)
"
fi
fi
else
else
PW_COMMENT_DB
=
"
$PW_COMMENT_DB
$(
seconds_to_time
"
$TIME_CURRENT
"
)
"
PW_COMMENT_DB
=
"
$PW_COMMENT_DB
$(
seconds_to_time
"
$TIME_CURRENT
"
)
"
...
@@ -586,10 +588,14 @@ if [[ -f "${portwine_exe}" ]] ; then
...
@@ -586,10 +588,14 @@ if [[ -f "${portwine_exe}" ]] ; then
--button
=
"
${
translations
[LAUNCH]
}
"
!
"
$PW_GUI_ICON_PATH
/
$BUTTON_SIZE
.png"
!
"
${
translations
[Run file ...]
}
"
:106 2>/dev/null
--button
=
"
${
translations
[LAUNCH]
}
"
!
"
$PW_GUI_ICON_PATH
/
$BUTTON_SIZE
.png"
!
"
${
translations
[Run file ...]
}
"
:106 2>/dev/null
PW_YAD_SET
=
"
$?
"
PW_YAD_SET
=
"
$?
"
fi
fi
case
$PW_YAD_SET
in
case
"
$PW_YAD_SET
"
in
128
)
128
)
[[
"
$PW_GUI_START
"
==
"NOTEBOOK"
]]
&&
unset
PW_YAD_FORM_TAB
[[
"
$PW_GUI_START
"
==
"NOTEBOOK"
]]
&&
unset
PW_YAD_FORM_TAB
unset
portwine_exe KEY_START
$(
sed
-n
'/export/p'
"
${
PORTWINE_DB_FILE
}
"
|
sed
's/\(export\|=.*\| \)//g'
)
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..."
print_info
"Restarting..."
restart_pp
restart_pp
;;
;;
...
@@ -622,32 +628,25 @@ else
...
@@ -622,32 +628,25 @@ else
PW_NAME_D_ICON[
"
$AMOUNT_GENERATE_BUTTONS
"
]=
${
line
//Exec=env \
"
$PORT_SCRIPTS_PATH
\/
start.sh
\"
/}
PW_NAME_D_ICON[
"
$AMOUNT_GENERATE_BUTTONS
"
]=
${
line
//Exec=env \
"
$PORT_SCRIPTS_PATH
\/
start.sh
\"
/}
fi
fi
fi
fi
if [[
$line
=~ ^Icon= ]] ; then
[[
$line
=~ ^Icon= ]] && PW_ICON_PATH["
$AMOUNT_GENERATE_BUTTONS
"]="
${
line
//Icon=/
}
"
PW_ICON_PATH["
$AMOUNT_GENERATE_BUTTONS
"]="
${
line
//Icon=/
}
"
[[
$line
=~ ^#Time= ]] && PW_GAME_TIME["
$AMOUNT_GENERATE_BUTTONS
"]="
${
line
//#Time=/
}
"
fi
[[
$line
=~ ^#NEW_DESKTOP ]] && NEW_DESKTOP=1
if [[
$line
=~ ^#Time= ]] ; then
WITH_TIME="
1
"
PW_GAME_TIME["
$AMOUNT_GENERATE_BUTTONS
"]="
${
line
//#Time=/
}
"
fi
done < "
$desktop_file
"
done < "
$desktop_file
"
PW_ALL_DF["
$AMOUNT_GENERATE_BUTTONS
"]="
$desktop_file_new
"
PW_ALL_DF["
$AMOUNT_GENERATE_BUTTONS
"]="
$desktop_file_new
"
# Чтобы новый ярлык показало первым при первом запуске, потом уже по времени
if [[
$NEW_DESKTOP
== 1 ]] && [[
$SORT_WITH_TIME
== enabled ]] ; then
if [[
$WITH_TIME
!= 1 ]] ; then
unset NEW_DESKTOP
echo "
#Time=0
" >> "
$desktop_file
"
sed -i '/^#NEW_DESKTOP/d' "
$desktop_file
"
if [[
$SORT_WITH_TIME
== enabled ]] ; then
PW_AMOUNT_NEW_DESKTOP+=(
$AMOUNT_GENERATE_BUTTONS
)
PW_AMOUNT_NO_TIME+=(
$AMOUNT_GENERATE_BUTTONS
)
else
PW_AMOUNT_WITH_TIME+=(
$AMOUNT_GENERATE_BUTTONS
)
fi
else
else
if [[ !
${
PW_GAME_TIME
[
"
$AMOUNT_GENERATE_BUTTONS
"
]
}
=~ [0-9]+ ]] ; then
PW_AMOUNT_OLD_DESKTOP+=(
$AMOUNT_GENERATE_BUTTONS
)
sed -i '/^#Time=/d' "
$desktop_file
"
fi
echo "
#Time=0
" >> "
$desktop_file
"
# Для фикса битых #Time=
PW_GAME_TIME["
$AMOUNT_GENERATE_BUTTONS
"]="
0
"
if [[ !
${
PW_GAME_TIME
[
"
$AMOUNT_GENERATE_BUTTONS
"
]
}
=~ [0-9]+ ]] ; then
fi
portwine_exe=
${
PW_NAME_D_ICON
[
"
$AMOUNT_GENERATE_BUTTONS
"
]//\
"/}
PW_AMOUNT_WITH_TIME+=(
$AMOUNT_GENERATE_BUTTONS
)
search_desktop_file
unset portwine_exe
PW_GAME_TIME["
$AMOUNT_GENERATE_BUTTONS
"]=
${
TIME_CURRENT_ARRAY
[0]
}
fi
fi
unset WITH_TIME
(( AMOUNT_GENERATE_BUTTONS++ ))
(( AMOUNT_GENERATE_BUTTONS++ ))
fi
fi
fi
fi
...
@@ -681,7 +680,7 @@ else
...
@@ -681,7 +680,7 @@ else
# Генерация .desktop баттанов для главного меню
# Генерация .desktop баттанов для главного меню
IFS=
$'
\n
'
IFS=
$'
\n
'
PW_GENERATE_BUTTONS="
--field=
${
translations
[Create shortcut...]
}
!
${
PW_GUI_ICON_PATH
}
/find_48.svg!
:FBTNR%@bash
-c \
"button_click --normal pw_find_exe
\"
%"
PW_GENERATE_BUTTONS="
--field=
${
translations
[Create shortcut...]
}
!
${
PW_GUI_ICON_PATH
}
/find_48.svg!
:FBTNR%@bash
-c \
"button_click --normal pw_find_exe
\"
%"
for dp in
"
${
PW_AMOUNT_NO_TIME
[@]
}
"
"
${
PW_AMOUNT_WITH_TIME
[@]
}
"
; do
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_48=
"
${
PW_ICON_PATH
[dp]%.png
}
_48"
PW_NAME_D_ICON_128=
"
${
PW_ICON_PATH
[dp]%.png
}
"
PW_NAME_D_ICON_128=
"
${
PW_ICON_PATH
[dp]%.png
}
"
PW_NAME_D_ICON_NEW=
"
${
PW_NAME_D_ICON
[dp]//\
"/}"
PW_NAME_D_ICON_NEW=
"
${
PW_NAME_D_ICON
[dp]//\
"/}"
...
@@ -694,12 +693,12 @@ else
...
@@ -694,12 +693,12 @@ else
PW_DESKTOP_FILES_SHOW_REGEX
=(
\!
%
\$
\&
\<
)
PW_DESKTOP_FILES_SHOW_REGEX
=(
\!
%
\$
\&
\<
)
PW_DESKTOP_FILES_REGEX
=(
\(
\)
\!
\$
%
\&
\`
\'
\"
\>
\<
\\
\|
\;
)
PW_DESKTOP_FILES_REGEX
=(
\(
\)
\!
\$
%
\&
\`
\'
\"
\>
\<
\\
\|
\;
)
for
i
in
${
PW_DESKTOP_FILES_SHOW_REGEX
[@]
}
;
do
for
i
in
"
${
PW_DESKTOP_FILES_SHOW_REGEX
[@]
}
"
;
do
PW_DESKTOP_FILES_SHOW
=
"
${
PW_DESKTOP_FILES_SHOW
//
$i
/
}
"
PW_DESKTOP_FILES_SHOW
=
"
${
PW_DESKTOP_FILES_SHOW
//
$i
/
}
"
done
done
count
=
1
count
=
1
for
j
in
${
PW_DESKTOP_FILES_REGEX
[@]
}
;
do
for
j
in
"
${
PW_DESKTOP_FILES_REGEX
[@]
}
"
;
do
PW_DESKTOP_FILES
=
"
${
PW_DESKTOP_FILES
//
$j
/#+_
$count
#
}
"
PW_DESKTOP_FILES
=
"
${
PW_DESKTOP_FILES
//
$j
/#+_
$count
#
}
"
((
count++
))
((
count++
))
done
done
...
@@ -868,7 +867,7 @@ if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
...
@@ -868,7 +867,7 @@ if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
fi
fi
case
$PW_YAD_SET
in
case
"
$PW_YAD_SET
"
in
gui_pw_reinstall_pp|open_changelog|
\
gui_pw_reinstall_pp|open_changelog|
\
128|gui_pw_update|gui_rm_portproton|
\
128|gui_pw_update|gui_rm_portproton|
\
change_loc|gui_open_scripts_from_backup|
\
change_loc|gui_open_scripts_from_backup|
\
...
@@ -898,7 +897,7 @@ case $PW_YAD_SET in
...
@@ -898,7 +897,7 @@ case $PW_YAD_SET in
;;
;;
esac
esac
case
$PW_YAD_SET
in
case
"
$PW_YAD_SET
"
in
98
)
portwine_delete_shortcut
;;
98
)
portwine_delete_shortcut
;;
100
)
portwine_create_shortcut
;;
100
)
portwine_create_shortcut
;;
DEBUG|102
)
portwine_start_debug
;;
DEBUG|102
)
portwine_start_debug
;;
...
...
data_from_portwine/themes/tray/tray_gui_pp
View file @
38e880d3
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment