Commit 2668d0e5 authored by Mikhail Tergoev's avatar Mikhail Tergoev

boost restart PP and update covers

parent f7803d8f
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
* добавлен приоритет использования системного gamemode если он установлен (спасибо Boria138)
###Scripts version 2253### Дата: 10.02.2024 / Размер скачиваемого обновления: 8 мегабайт ###Scripts version 2253### Дата: 10.02.2024 / Размер скачиваемого обновления: 8 мегабайт
* небольшие улучшения для SteamOS * небольшие улучшения для SteamOS
......
...@@ -228,7 +228,7 @@ var_vk_istance_layers_config_update () { ...@@ -228,7 +228,7 @@ var_vk_istance_layers_config_update () {
return 0 return 0
} }
var_ld_library_path_update() { var_ld_library_path_update () {
if [ ! -z "$LD_LIBRARY_PATH" ] if [ ! -z "$LD_LIBRARY_PATH" ]
then export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH" then export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH"
else export LD_LIBRARY_PATH="$1" else export LD_LIBRARY_PATH="$1"
...@@ -245,10 +245,17 @@ pw_notify_send () { ...@@ -245,10 +245,17 @@ pw_notify_send () {
fi fi
} }
check_start_from_steam () {
if [[ "${START_FROM_STEAM}" == 1 ]]
then return 0
else return 1
fi
}
unpack_tar_zst () { unpack_tar_zst () {
set -o pipefail set -o pipefail
unset PW_ZSTD_PORT unset PW_ZSTD_PORT
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
if [[ `command -v zstd` ]] &>/dev/null ; then if [[ `command -v zstd` ]] &>/dev/null ; then
tar -I zstd -xhvf "$1" -C "$2" tar -I zstd -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
...@@ -265,7 +272,7 @@ unpack_tar_xz () { ...@@ -265,7 +272,7 @@ unpack_tar_xz () {
tar -Jxhvf "$1" -C "$2" && return 0 || return 1 tar -Jxhvf "$1" -C "$2" && return 0 || return 1
else else
set -o pipefail set -o pipefail
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
tar -Jxhvf "$1" -C "$2" tar -Jxhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -274,7 +281,7 @@ unpack_tar_xz () { ...@@ -274,7 +281,7 @@ unpack_tar_xz () {
unpack_tar_gz () { unpack_tar_gz () {
set -o pipefail set -o pipefail
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
tar -xhzvf "$1" -C "$2" tar -xhzvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -282,7 +289,7 @@ unpack_tar_gz () { ...@@ -282,7 +289,7 @@ unpack_tar_gz () {
unpack_tar () { unpack_tar () {
set -o pipefail set -o pipefail
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
tar -xhvf "$1" -C "$2" tar -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -347,6 +354,7 @@ pw_reinstall_pp () { ...@@ -347,6 +354,7 @@ pw_reinstall_pp () {
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver" try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver"
echo echo
print_info "Restarting PP for reinstall files..." print_info "Restarting PP for reinstall files..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
} }
...@@ -429,7 +437,7 @@ init_wine_ver () { ...@@ -429,7 +437,7 @@ init_wine_ver () {
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/ try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
...@@ -1056,7 +1064,9 @@ pw_port_update () { ...@@ -1056,7 +1064,9 @@ pw_port_update () {
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/" try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
[ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} & echo "Restarting PP after update..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
else else
...@@ -1193,6 +1203,7 @@ pw_find_exe () { ...@@ -1193,6 +1203,7 @@ pw_find_exe () {
print_var YAD_STATUS print_var YAD_STATUS
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
if [[ -z "${PW_SET_FIND_EXE}" ]] ; then if [[ -z "${PW_SET_FIND_EXE}" ]] ; then
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
print_info "Restarting..." print_info "Restarting..."
fi fi
...@@ -1203,6 +1214,7 @@ pw_find_exe () { ...@@ -1203,6 +1214,7 @@ pw_find_exe () {
if [[ ! -z "${PW_SET_FIND_EXE}" ]] ; then if [[ ! -z "${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}')"
portwine_create_shortcut silent portwine_create_shortcut silent
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
......
...@@ -317,6 +317,7 @@ start_portwine () { ...@@ -317,6 +317,7 @@ start_portwine () {
fi fi
else else
export GAMEMODERUN=0 export GAMEMODERUN=0
export PW_GAMEMODERUN_SLR=""
print_info "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" print_info "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
fi fi
pw_other_fixes pw_other_fixes
...@@ -696,10 +697,12 @@ start_portwine () { ...@@ -696,10 +697,12 @@ start_portwine () {
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded " [[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded "
fi fi
pw_stop_progress_bar && pw_stop_progress_bar &&
[[ "${START_FROM_STEAM}" != 1 ]] && pw_tray_icon if ! check_start_from_steam ; then
sleep 0.5 pw_tray_icon
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then sleep 0.5
pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
fi
fi fi
add_in_start_portwine add_in_start_portwine
...@@ -731,28 +734,16 @@ pw_run () { ...@@ -731,28 +734,16 @@ pw_run () {
echo "Log WINE:" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
echo "" echo ""
print_debug "Log from RUNTIME and WINE:" print_debug "Log from RUNTIME and WINE:"
if [[ ! -z "$PW_GAMEMODERUN_SLR" ]] ; then ${PW_RUN_GAMESCOPE} \
${PW_RUN_GAMESCOPE} \ ${pw_runtime} \
${pw_runtime} \ env PATH="${PATH}" \
env PATH="${PATH}" \ LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ LD_PRELOAD="${PW_LD_PRELOAD}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \ VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \ ${PW_GAMEMODERUN_SLR} \
${PW_GAMEMODERUN_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_MANGOHUD_SLR} \ "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
else
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
fi
else else
if [[ "${PW_USE_TERMINAL}" == "1" ]] ; then if [[ "${PW_USE_TERMINAL}" == "1" ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
...@@ -761,19 +752,17 @@ pw_run () { ...@@ -761,19 +752,17 @@ pw_run () {
echo "" echo ""
echo "Log WINE:" > "${PW_LOG_TO_FILE}" echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_debug "Log from RUNTIME and WINE:" print_debug "Log from RUNTIME and WINE:"
if [[ ! -z "$PW_GAMEMODERUN_SLR" ]] ; then ${PW_RUN_GAMESCOPE} \
${PW_RUN_GAMESCOPE} \ ${pw_runtime} \
${pw_runtime} \ env PATH="${PATH}" \
env PATH="${PATH}" \ LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ LD_PRELOAD="${PW_LD_PRELOAD}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \ VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ ${PW_GAMEMODERUN_SLR} \
${PW_GAMEMODERUN_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_MANGOHUD_SLR} \ "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" cat "${PW_LOG_TO_FILE}"
cat "${PW_LOG_TO_FILE}"
fi
fi fi
} }
export -f pw_run export -f pw_run
...@@ -883,7 +872,10 @@ check_user_conf ...@@ -883,7 +872,10 @@ check_user_conf
if [[ -z "${INSTALLING_PORT}" ]] ; then if [[ -z "${INSTALLING_PORT}" ]] ; then
. "${USER_CONF}" . "${USER_CONF}"
pw_port_update if ! check_start_from_steam && [[ "${SKIP_CHECK_UPDATES}" != 1 ]]; then
pw_port_update
fi
unset SKIP_CHECK_UPDATES
pw_check_and_download_plugins pw_check_and_download_plugins
pw_download_libs pw_download_libs
export PW_VULKANINFO_PORTABLE="$PW_WINELIB/pressure-vessel/libexec/steam-runtime-tools-0/x86_64-linux-gnu-vulkaninfo" export PW_VULKANINFO_PORTABLE="$PW_WINELIB/pressure-vessel/libexec/steam-runtime-tools-0/x86_64-linux-gnu-vulkaninfo"
......
...@@ -58,6 +58,7 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then ...@@ -58,6 +58,7 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
try_remove_file "${HOME}/.local/share/applications/PortProton.desktop" try_remove_file "${HOME}/.local/share/applications/PortProton.desktop"
fi fi
echo "Restarting PP after installing..." echo "Restarting PP after installing..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c "${PORT_WINE_PATH}/data/scripts/start.sh" $@ & /usr/bin/env bash -c "${PORT_WINE_PATH}/data/scripts/start.sh" $@ &
exit 0 exit 0
else else
......
...@@ -27,6 +27,7 @@ killall -15 yad_v12_3 2>/dev/null ...@@ -27,6 +27,7 @@ killall -15 yad_v12_3 2>/dev/null
kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null
if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash "/usr/bin/portproton" "$@" & /usr/bin/env bash "/usr/bin/portproton" "$@" &
exit 0 exit 0
fi fi
...@@ -490,6 +491,7 @@ pw_edit_db () { ...@@ -490,6 +491,7 @@ pw_edit_db () {
fi fi
if [[ "$?" == 0 ]] ; then if [[ "$?" == 0 ]] ; then
print_info "Restarting PP after update ppdb file..." print_info "Restarting PP after update ppdb file..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -675,6 +677,7 @@ else ...@@ -675,6 +677,7 @@ else
print_info "Restarting PP after choose desktop file..." print_info "Restarting PP after choose desktop file..."
# stop_portwine # stop_portwine
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c "${PW_EXEC_FROM_DESKTOP}" & /usr/bin/env bash -c "${PW_EXEC_FROM_DESKTOP}" &
exit 0 exit 0
} }
...@@ -684,6 +687,7 @@ else ...@@ -684,6 +687,7 @@ else
if gui_question "${port_clear_pfx}" ; then if gui_question "${port_clear_pfx}" ; then
pw_clear_pfx pw_clear_pfx
print_info "Restarting PP after clearing prefix..." print_info "Restarting PP after clearing prefix..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -705,6 +709,7 @@ else ...@@ -705,6 +709,7 @@ else
gui_pw_update () { gui_pw_update () {
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
print_info "Restarting PP for check update..." print_info "Restarting PP for check update..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
} }
...@@ -712,6 +717,7 @@ else ...@@ -712,6 +717,7 @@ else
change_loc () { change_loc () {
try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc" try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc"
print_info "Restarting PP for change language..." print_info "Restarting PP for change language..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
} }
...@@ -736,6 +742,7 @@ else ...@@ -736,6 +742,7 @@ else
unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/" unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/"
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
print_info "Restarting PP after backup..." print_info "Restarting PP after backup..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
} }
......
...@@ -48,66 +48,76 @@ gui_question () { ...@@ -48,66 +48,76 @@ gui_question () {
} }
pw_start_progress_bar_cover () { pw_start_progress_bar_cover () {
PW_GIF_FILE="$1" if ! check_start_from_steam ; then
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'` PW_GIF_FILE="$1"
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'` PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'`
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 & "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
export PW_YAD_PID_PROGRESS_BAR_COVER="$!" --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
return 0 export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
return 0
fi
} }
pw_start_progress_bar_cover_block () { pw_start_progress_bar_cover_block () {
[[ ! -f "${pw_yad}" ]] && local pw_yad="yad" if ! check_start_from_steam ; then
PW_GIF_FILE="$1" [[ ! -f "${pw_yad}" ]] && local pw_yad="yad"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'` PW_GIF_FILE="$1"
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'` PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'`
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 & "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!" --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
return 0 export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
return 0
fi
} }
pw_update_pfx_cover_gui () { pw_update_pfx_cover_gui () {
PW_KEY_PROGRESS_BAR=$RANDOM if ! check_start_from_steam ; then
PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/pw_update_pfx_cover.gif" PW_KEY_PROGRESS_BAR=$RANDOM
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'` PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/update_prefix_${update_loc}.gif"
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'` PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'`
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'`
export PW_TIMER=0 echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v12_3 --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do export PW_TIMER=0
sleep 0.005 while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v12_3 --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ sleep 0.005
&& [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \
&& [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] && [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \
then && [[ -z "`echo "${line}" | grep -i "ntlm"`" ]]
echo "# ${line}" then
fi echo "# ${line}"
if [[ "${PW_TIMER}" != 1 ]] ; then fi
sleep 3 if [[ "${PW_TIMER}" != 1 ]] ; then
PW_TIMER=1 sleep 3
fi PW_TIMER=1
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail 2>/dev/null & fi
"${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null & done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail 2>/dev/null &
"${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null &
"${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \ "${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \
--center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom 2>/dev/null & --center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom 2>/dev/null &
export PW_YAD_PID_PFX_COVER_UI="$!" export PW_YAD_PID_PFX_COVER_UI="$!"
return 0 return 0
fi
} }
pw_start_progress_bar_cs () { pw_start_progress_bar_cs () {
"${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \ if ! check_start_from_steam ; then
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 & "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
export PW_YAD_PID_PROGRESS_BAR_CS="$!" --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 &
return 0 export PW_YAD_PID_PROGRESS_BAR_CS="$!"
return 0
fi
} }
pw_start_progress_bar_block () { pw_start_progress_bar_block () {
"${pw_yad}" --progress --progress-text="$@" --pulsate \ if ! check_start_from_steam ; then
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 & "${pw_yad}" --progress --progress-text="$@" --pulsate \
export PW_YAD_PID_PROGRESS_BAR_BLOCK="$!" --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 &
return 0 export PW_YAD_PID_PROGRESS_BAR_BLOCK="$!"
return 0
fi
} }
pw_stop_progress_bar () { pw_stop_progress_bar () {
...@@ -254,6 +264,7 @@ pw_gui_for_edit_db () { ...@@ -254,6 +264,7 @@ pw_gui_for_edit_db () {
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \ --button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null --button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null
YAD_STATUS="$?" YAD_STATUS="$?"
export SKIP_CHECK_UPDATES=1
case "$YAD_STATUS" in case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; 1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
2) try_remove_file "$portwine_exe".ppdb 2) try_remove_file "$portwine_exe".ppdb
...@@ -346,6 +357,7 @@ gui_proton_downloader () { ...@@ -346,6 +357,7 @@ gui_proton_downloader () {
pw_stop_progress_bar pw_stop_progress_bar
if [[ -z "${PROTON_GE_GIT}" ]] || [[ -z "${PROTON_PW_GIT}" ]] ; then if [[ -z "${PROTON_GE_GIT}" ]] || [[ -z "${PROTON_PW_GIT}" ]] ; then
yad_error "$loc_gui_check_new_wine_error" yad_error "$loc_gui_check_new_wine_error"
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -381,6 +393,7 @@ gui_proton_downloader () { ...@@ -381,6 +393,7 @@ gui_proton_downloader () {
--tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null` --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null`
YAD_WINE_STATUS="$?" YAD_WINE_STATUS="$?"
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -397,6 +410,7 @@ gui_proton_downloader () { ...@@ -397,6 +410,7 @@ gui_proton_downloader () {
export VERSION_INSTALLED_WINE="`cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"`" export VERSION_INSTALLED_WINE="`cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"`"
else else
print_info "Nothing to do." print_info "Nothing to do."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -421,6 +435,7 @@ gui_proton_downloader () { ...@@ -421,6 +435,7 @@ gui_proton_downloader () {
if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}" try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
unset VERSION_INSTALLED_WINE unset VERSION_INSTALLED_WINE
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
...@@ -448,6 +463,7 @@ gui_proton_downloader () { ...@@ -448,6 +463,7 @@ gui_proton_downloader () {
fi fi
if [[ "$1" != "silent" ]] ; then if [[ "$1" != "silent" ]] ; then
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
else else
...@@ -501,6 +517,7 @@ gui_vkBasalt () { ...@@ -501,6 +517,7 @@ gui_vkBasalt () {
YAD_VKBASALT_STATUS="$?" YAD_VKBASALT_STATUS="$?"
case "${YAD_VKBASALT_STATUS}" in case "${YAD_VKBASALT_STATUS}" in
1|252) 1|252)
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 ;; exit 0 ;;
180) 180)
...@@ -530,6 +547,7 @@ gui_vkBasalt () { ...@@ -530,6 +547,7 @@ gui_vkBasalt () {
else export PW_VKBASALT_FFX_CAS="0.$YAD_CAS_SET" else export PW_VKBASALT_FFX_CAS="0.$YAD_CAS_SET"
fi fi
edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
} }
...@@ -594,6 +612,7 @@ gui_MangoHud () { ...@@ -594,6 +612,7 @@ gui_MangoHud () {
case "${YAD_MANGOHUD_STATUS}" in case "${YAD_MANGOHUD_STATUS}" in
1 | 252) 1 | 252)
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c "${pw_full_command_line[*]}" & /usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0 exit 0
;; ;;
...@@ -601,6 +620,7 @@ gui_MangoHud () { ...@@ -601,6 +620,7 @@ gui_MangoHud () {
export PW_MANGOHUD=0 export PW_MANGOHUD=0
export FPS_LIMIT="disabled" export FPS_LIMIT="disabled"
edit_db_from_gui PW_MANGOHUD FPS_LIMIT edit_db_from_gui PW_MANGOHUD FPS_LIMIT
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c "${pw_full_command_line[*]}" & /usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0 exit 0
;; ;;
...@@ -644,6 +664,7 @@ gui_MangoHud () { ...@@ -644,6 +664,7 @@ gui_MangoHud () {
export MANGOHUD_CONFIG="${GUI_MH_RESULT}" export MANGOHUD_CONFIG="${GUI_MH_RESULT}"
edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c "${pw_full_command_line[*]}" & /usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0 exit 0
} }
......
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