Commit fa0e61a8 authored by Mikhail Tergoev's avatar Mikhail Tergoev

more changes to move to curl+yad

parent f3b1b93c
......@@ -121,7 +121,8 @@ try_download_game () {
curl -C - -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
return 1
......@@ -132,18 +133,21 @@ try_download_game () {
try_download () {
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
[[ ! -f "${pw_yad_v12_3}" ]] && local pw_yad_v12_3="yad"
set -o pipefail
curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -L "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" -o "$2" 2>&1 | \
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
return 1
......@@ -159,7 +163,8 @@ try_download_to_path () {
curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2/$PW_DOWNLOAD_FILE_NAME" 2>&1 | \
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download $1."
return 1
......@@ -229,11 +234,14 @@ var_ld_library_path_update() {
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
if [[ `command -v zstd` ]] &>/dev/null ; then
tar -I zstd -xhvf "$1" -C "$2" | sszen
tar -I zstd -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
else
env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xhvf "$1" -C "$2" | sszen
env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
......@@ -243,20 +251,26 @@ unpack_tar_xz () {
tar -Jxhvf "$1" -C "$2" && return 0 || return 1
else
set -o pipefail
tar -Jxhvf "$1" -C "$2" | sszen
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
tar -Jxhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
unpack_tar_gz () {
set -o pipefail
tar -xhzvf "$1" -C "$2" | sszen
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
tar -xhzvf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
unpack_tar () {
set -o pipefail
tar -xhvf "$1" -C "$2" | sszen
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
tar -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
......@@ -401,10 +415,12 @@ init_wine_ver () {
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
pw_stop_progress_bar_cover_block
else
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
......@@ -964,7 +980,7 @@ pw_port_update () {
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
if [[ -f "${PW_WINELIB}/portable/bin/yad_v12_3" ]] ; then
export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3"
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver"
CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' `
xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--borders=3 --form --separator='%%%' --width=1200 --height=600 \
......
......@@ -59,8 +59,10 @@ start_portwine () {
pw_install_dll_in_prefix
init_wine_ver
edit_db_from_gui WARN_CYRILLIC_IN_PATH
unset WARN_CYRILLIC_IN_PATH
if [[ -f "$portwine_exe" ]] && [[ "${WARN_CYRILLIC_IN_PATH}" == 1 ]] ; then
edit_db_from_gui WARN_CYRILLIC_IN_PATH
unset WARN_CYRILLIC_IN_PATH
fi
if [ ! -f "${HOME}/.Xresources" ]; then
cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}"
......
......@@ -2,7 +2,7 @@
# Author: linux-gaming.ru
. "$(dirname $(readlink -f "$0"))/runlib"
if [[ $(cat /etc/os-release | grep -i "flatpak") ]] ; then
if grep -i "flatpak" /etc/os-release &>/dev/null ; then
name_desktop="PortProton"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
......@@ -36,7 +36,7 @@ fi
update-desktop-database -q "${HOME}/.local/share/applications"
if [[ ! $(cat /etc/os-release | grep -i "flatpak") ]]
if ! grep -i "flatpak" /etc/os-release &>/dev/null ; then
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
fi
......
......@@ -667,7 +667,7 @@ else
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1
fi
if [[ $(cat /etc/os-release | grep -i "flatpak") ]] ;
if grep -i "flatpak" /etc/os-release &>/dev/null ;
then PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | sed 's|flatpak run com.castrofidel.portproton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')"
else PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
fi
......
......@@ -22,16 +22,6 @@ zenity_error_download () {
fi
}
sszen () {
zenity --progress --title="$loc_gui_settings" --text="$loc_gui_sett_info" --pulsate --auto-close --width=500 --height=90 --no-cancel
}
ssyad () {
"${pw_yad_v12_3}" --progress --pulsate --log-expanded --undecorated --center \
--title="$loc_gui_settings" --progress-text="$loc_gui_sett_info" --enable-log="log" \
--log-height=60 --width=500 --height=150 --no-buttons --auto-close &>/dev/null
}
gui_question () {
zenity --question --title "${inst_set}." --text "$1" --no-wrap &>/dev/null
[ $? -eq "0" ] && return 0 || return 1
......@@ -42,11 +32,22 @@ pw_start_progress_bar_cover () {
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y > /dev/null 2>&1 &
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/port_proton.png" > /dev/null 2>&1 &
export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
return 0
}
pw_start_progress_bar_cover_block () {
[[ ! -f "${pw_yad}" ]] && local pw_yad="yad"
PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/port_proton.png" > /dev/null 2>&1 &
export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
return 0
}
pw_update_pfx_cover_gui () {
PW_KEY_PROGRESS_BAR=$RANDOM
PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/pw_update_pfx_cover.gif"
......@@ -105,6 +106,12 @@ pw_stop_progress_bar_cover () {
}
export -f pw_stop_progress_bar_cover
pw_stop_progress_bar_cover_block () {
kill -s KILL "$PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK" > /dev/null 2>&1
return 0
}
export -f pw_stop_progress_bar_cover_block
open_changelog () {
"${pw_yad}" --title="$loc_gui_changelog" --borders=3 --no-buttons --text-align=center \
--text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
......@@ -661,7 +668,7 @@ portwine_create_shortcut () {
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
if [[ $(cat /etc/os-release | grep -i "flatpak") ]]
if grep -i "flatpak" /etc/os-release &>/dev/null
then echo "Exec=flatpak run com.castrofidel.portproton \"${portwine_exe}\" " >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
fi
......@@ -693,7 +700,7 @@ portwine_create_shortcut () {
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "export START_FROM_STEAM=1" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "export LD_PRELOAD=" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
if [[ $(cat /etc/os-release | grep -i "flatpak") ]]
if grep -i "flatpak" /etc/os-release &>/dev/null
then echo "flatpak run com.castrofidel.portproton \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
else echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
fi
......
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