forked from CastroFidel/PortWINE
Merge branch 'added-flatpak-shortcuts' of https://github.com/Boria138/PortWINE into Boria138-added-flatpak-shortcuts
This commit is contained in:
commit
b151d29bfa
@ -118,10 +118,10 @@ try_download_game () {
|
|||||||
[[ -f "${PW_AUTOINSTALL_EXE}" ]] && try_remove_file "${PW_AUTOINSTALL_EXE}"
|
[[ -f "${PW_AUTOINSTALL_EXE}" ]] && try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
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 | \
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
|
||||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
|
||||||
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
|
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
|
||||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
|
||||||
return 1
|
return 1
|
||||||
@ -133,17 +133,17 @@ try_download_game () {
|
|||||||
try_download () {
|
try_download () {
|
||||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
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 | \
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
|
||||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
|
||||||
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
|
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
|
||||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
|
||||||
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
|
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
|
||||||
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
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 | \
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
|
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
|
||||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
|
||||||
zenity --progress --percentage=0 --title="Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" --text=Starting... --auto-close --width=500 --height=90
|
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
|
||||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
|
||||||
return 1
|
return 1
|
||||||
@ -154,11 +154,12 @@ try_download () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try_download_to_path () {
|
try_download_to_path () {
|
||||||
|
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
|
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 | \
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \
|
||||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
"${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
|
||||||
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90
|
--auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90
|
||||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download $1."
|
print_error "Failed to download $1."
|
||||||
return 1
|
return 1
|
||||||
@ -168,8 +169,7 @@ try_download_to_path () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try_download_silent () {
|
try_download_silent () {
|
||||||
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
|
curl -sS -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"
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
|
|
||||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download $1. Skipping."
|
print_error "Failed to download $1. Skipping."
|
||||||
try_remove_file "$2"
|
try_remove_file "$2"
|
||||||
|
@ -2,6 +2,20 @@
|
|||||||
# Author: linux-gaming.ru
|
# Author: linux-gaming.ru
|
||||||
. "$(dirname $(readlink -f "$0"))/runlib"
|
. "$(dirname $(readlink -f "$0"))/runlib"
|
||||||
|
|
||||||
|
if [[ $(cat /etc/os-release | grep -i "flatpak") ]] ; then
|
||||||
|
name_desktop="PortProton"
|
||||||
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Exec=flatpak run com.castrofidel.portproton" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
else
|
||||||
name_desktop="PortProton"
|
name_desktop="PortProton"
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
@ -14,18 +28,22 @@ echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;
|
|||||||
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "${PW_AUTOPLAY}" ] ; then
|
if [ -z "${PW_AUTOPLAY}" ] ; then
|
||||||
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
|
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
update-desktop-database -q "${HOME}/.local/share/applications"
|
update-desktop-database -q "${HOME}/.local/share/applications"
|
||||||
|
|
||||||
|
if [[ ! $(cat /etc/os-release | grep -i "flatpak") ]]
|
||||||
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
|
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
|
||||||
|
fi
|
||||||
|
|
||||||
name_desktop="readme"
|
name_desktop="readme"
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Version=1.0" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Version=1.3" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Type=Link" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Type=Link" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
|
@ -666,7 +666,11 @@ else
|
|||||||
if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v12_3) ]] ; then
|
if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v12_3) ]] ; then
|
||||||
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1
|
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
|
|
||||||
|
if [[ $(cat /etc/os-release | grep -i "flatpak") ]] ;
|
||||||
|
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
|
||||||
|
|
||||||
print_info "Restarting PP after choose desktop file..."
|
print_info "Restarting PP after choose desktop file..."
|
||||||
# stop_portwine
|
# stop_portwine
|
||||||
|
@ -661,7 +661,10 @@ portwine_create_shortcut () {
|
|||||||
|
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
if [[ $(cat /etc/os-release | grep -i "flatpak") ]]
|
||||||
|
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
|
||||||
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
@ -690,7 +693,10 @@ portwine_create_shortcut () {
|
|||||||
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||||
echo "export START_FROM_STEAM=1" >> "${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"
|
echo "export LD_PRELOAD=" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||||
echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
if [[ $(cat /etc/os-release | grep -i "flatpak") ]]
|
||||||
|
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
|
||||||
chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||||
export SCVDF="shortcuts.vdf"
|
export SCVDF="shortcuts.vdf"
|
||||||
for STUIDPATH in "${HOME}"/.local/share/Steam/userdata/*/ ; do
|
for STUIDPATH in "${HOME}"/.local/share/Steam/userdata/*/ ; do
|
||||||
|
Loading…
Reference in New Issue
Block a user