Scripts version 1053

This commit is contained in:
castro-fidel
2021-05-01 08:46:30 +03:00
parent aa6db372fe
commit 936c27e919
21 changed files with 526 additions and 231 deletions

View File

@ -1,5 +1,6 @@
#!/bin/bash
# Author: PortWINE-Linux.ru
export pw_full_command_line=("$0" $*)
if [ -f "$1" ]; then
export portwine_exe="$(readlink -f "$1")"
fi
@ -45,22 +46,21 @@ PORTWINE_CREATE_SHORTCUT () {
rm -f "${PORTPROTON_PATH}/"*.ico
rm -f "${PORTPROTON_PATH}/"*.png
fi
if [ $? -eq 1 ] ; then exit 1 ; fi
if [ ! -z "${PORTWINE_DB}" ]; then
PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*`
if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then
if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export PW_VULKAN_USE=" | grep -v "#"`" ] ; then
echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORTWINE_DB_FILE}"
elif [ -z "${PORTWINE_DB_FILE}" ]; then
echo "#!/bin/bash
#Author: "${USER}"
#"${PORTWINE_DB}.exe"
#Rating=1-5
################################################
export PW_VULKAN_USE=${PW_VULKAN_USE}" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "#!/bin/bash" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "########################################################" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB"
fi
fi
name_desktop="${PORTPROTON_NAME}"
name_desktop="${PORTPROTON_NAME}"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
if [ -z "${PW_CHECK_AUTOINSTAL}" ]
@ -167,7 +167,9 @@ PORTWINE_DEBUG () {
sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
xdg-open "${PORT_WINE_PATH}/${portname}.log"
yad --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/${portname}.log"
}
PW_WINECFG () {
START_PORTWINE
@ -213,7 +215,7 @@ if [ ! -z "${portwine_exe}" ]; then
--button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \
--button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
--button='DEBUG'!!"${loc_debug}":102 \
--button='LAUNCH'!!"${loc_launch}":106 &> /dev/null )
--button='LAUNCH'!!"${loc_launch}":106 )
PW_YAD_SET="$?"
elif [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then
if [ -z "${PW_COMMENT_DB}" ] ; then
@ -222,21 +224,23 @@ if [ ! -z "${portwine_exe}" ]; then
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \
--title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \
--field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
--button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \
--button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
--button='DEBUG'!!"${loc_debug}":102 \
--button='LAUNCH'!!"${loc_launch}":106 &> /dev/null )
--button='LAUNCH'!!"${loc_launch}":106 )
PW_YAD_SET="$?"
export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
else
OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center \
--title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \
--field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
--button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
--button='DEBUG'!!"${loc_debug}":102 \
--button='LAUNCH'!!"${loc_launch}":106 &> /dev/null )
--button='LAUNCH'!!"${loc_launch}":106 )
PW_YAD_SET="$?"
export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
fi
elif [ ! -z "${PORTWINE_DB_FILE}" ]; then
PORTWINE_LAUNCH
@ -244,24 +248,37 @@ if [ ! -z "${portwine_exe}" ]; then
OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center \
--title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \
--field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \
--button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
--button='DEBUG'!!"${loc_debug}":102 \
--button='LAUNCH'!!"${loc_launch}":106 &> /dev/null )
--button='LAUNCH'!!"${loc_launch}":106 )
PW_YAD_SET="$?"
export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'`
fi
else
button_click () {
echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
[ ! -z "$1" ] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [ ! -z `pidof -s yad` ] ; then
kill -s SIGUSR1 `pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}'`
fi
}
export -f button_click
export KEY=$RANDOM
open_changelog () {
yad --title="Changelog" --borders=10 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/changelog"
}
export -f open_changelog
export KEY=$RANDOM
"${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=2 --scroll \
--field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' & \
--field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \
--field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \
--field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \
--field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png":"BTN" '@bash -c "button_click PW_GOG"' \
--field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \
--field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' & \
"${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \
--image "$PW_GUI_ICON_PATH/port_proton.png" \
@ -269,33 +286,36 @@ else
--field=":LBL" "" \
--field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \
--field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \
--field=":RO" " ${portname} ver.: ${install_ver}" \
--field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \
--field=":LBL" "" \
--field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \
--field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \
--field=":RO" " Scripts ver.: ${scripts_install_ver}" \
--field="F.A.Q."!!"":"FBTN" '@bash -c "xdg-open https://portwine-linux.ru/portwine-faq/ ; button_click"' \
--field=":LBL" "" \
--field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \
--field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \
"${pw_yad}" --key=$KEY --notebook --borders=10 --width=800 --height=50 --no-buttons --text-align=center \
--on-top --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \
"${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \
--tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --center
export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'`
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
echo "PW_YAD_SET=${PW_YAD_SET}"
export OUTPUT_START=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'`
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
echo "OUTPUT_START=$OUTPUT_START"
if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then
export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'`
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
fi
if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then
export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'`
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
fi
fi
export VULKAN_MOD=$(echo $OUTPUT_START | awk 'BEGIN {FS=";" } { print $1 }')
if [ "${VULKAN_MOD}" = "DXVK" ] ; then export PW_VULKAN_USE="dxvk"
elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d"
elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0"
if [ ! -z "${VULKAN_MOD}" ] ; then
if [ "${VULKAN_MOD}" = "DXVK" ] ; then export PW_VULKAN_USE="dxvk"
elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d"
elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0"
fi
fi
case "$PW_YAD_SET" in
1|252) exit 0 ;;
100) PORTWINE_CREATE_SHORTCUT ;;
DEBUG|102) PORTWINE_DEBUG ;;
106) PORTWINE_LAUNCH ;;