From bed58264a4c99c4ea8e0cc85a2048a0b18901fa7 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Mon, 18 Nov 2024 21:43:09 +0500 Subject: [PATCH] add func getAppTarget and parseSteamTargetExe --- data_from_portwine/scripts/add_in_steam.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/data_from_portwine/scripts/add_in_steam.sh b/data_from_portwine/scripts/add_in_steam.sh index 274ecb1..97fdb10 100755 --- a/data_from_portwine/scripts/add_in_steam.sh +++ b/data_from_portwine/scripts/add_in_steam.sh @@ -2,11 +2,11 @@ # GPL-3.0 license # based on https://github.com/sonic2kk/steamtinkerlaunch/blob/master/steamtinkerlaunch PROGNAME="PortProton" -NOSTAPPNAME="$name_desktop" +NOSTAPPNAME="${name_desktop}" NOSTSHPATH="${STEAM_SCRIPTS}/${name_desktop}.sh" NOSTEXEPATH="\"${NOSTSHPATH}\"" -NOSTICONPATH="${PORT_WINE_PATH}/data/img/$name_desktop_png.png" -if [[ -z "${NOSTSTDIR}" ]] ; then +NOSTICONPATH="${PORT_WINE_PATH}/data/img/${name_desktop_png}.png" +if [[ -z "${NOSTSTDIR}" ]]; then NOSTSTDIR="\"${STEAM_SCRIPTS}\"" fi @@ -68,6 +68,11 @@ getSteamShortcutEntryHex() { printf "%s" "${SHORTCUTSVDFINPUTHEX}" | grep -oP "${SHORTCUTSVDFMATCHPATTERN}\K.*?(?=${SHORTCUTVDFENDPAT})" } +getAppTarget() { + exe=$(listNonSteamGames | jq -r --arg id "$1" 'map(select(.id == $id)) | first(.[].exe)') + [[ -n "${exe}" ]] && parseSteamTargetExe "${exe}" +} + getAppId() { listNonSteamGames | jq -r --arg exe "$1" 'map(select(.exe == $exe)) | first(.[]?.id)' } @@ -158,6 +163,10 @@ parseSteamShortcutEntryAppID() { convertSteamShortcutAppID "$(printf "%s" "$1" | grep -oP "${SHORTCUTVDFAPPIDHEXPAT}\K.{8}")" } +parseSteamTargetExe() { + grep -E 'flatpak|start\.sh' "$1" | head -n 1 | awk -F'"' '{print $(NF-1)}' +} + restartSteam() { if [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && pgrep -i steam &>/dev/null ; then if yad_question "${translations[For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?]}" ; then