From e623b31df22ea866ab265cee52fa4c9fcb2f492e Mon Sep 17 00:00:00 2001
From: Htylol <dixperm909@yandex.ru>
Date: Thu, 14 Nov 2024 17:53:52 +0500
Subject: [PATCH] Fixes name_block and eval for systemd-inhibit

---
 data_from_portwine/scripts/functions_helper | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index b50b7fe6..a179a1b3 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -1337,26 +1337,23 @@ get_and_set_reg_file () {
 
     case $name_type_reg in
             REG_DWORD)
-                name_for_find='"'"$name_for_find"'"'"=dword:"
+                name_for_find="\"$name_for_find\"=dword:"
                 name_for_set=$(convert_dec_and_hex --dec "$name_for_set") ;;
             REG_SZ)
-                name_for_find='"'"$name_for_find"'"'"="
-                name_for_set='"'"$name_for_set"'"' ;;
+                name_for_find="\"$name_for_find\"="
+                name_for_set="\"$name_for_set\"" ;;
             *)
                 if [[ $name_add_or_del == --delete ]] ; then
-                    name_for_find='"'"$name_for_find"'"'
+                    name_for_find="\"$name_for_find\""
                 else
                     print_error "Name type reg not set for $name_fatal"
                     return 1
                 fi ;;
     esac
-    name_block=${name_block//\\/\\\\\\\\\\\\\\}
-    name_block=${name_block//*/\\[$name_block}
-    name_block="${name_block//*/${name_block//\\/\\\\}\\]}"
     if [[ -n $name_for_new_block ]] ; then
-        find_block=$(grep -n "$name_block" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg")
+        find_block=$(grep -n "${name_block//\\/\\\\\\\\}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg")
     else
-        find_block=$(grep -n "$name_block" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"*.reg)
+        find_block=$(grep -n "${name_block//\\/\\\\\\\\}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"*.reg)
     fi
     if [[ -n $find_block ]] ; then
         if [[ -n $name_for_new_block ]] ; then
@@ -1385,7 +1382,7 @@ get_and_set_reg_file () {
     if [[ $name_add_or_del == --add ]] ; then
         if [[ -z $find_block ]] ; then
             if [[ -n $name_for_new_block ]] ; then
-                sed -i '$a\\n'"$name_block" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
+                sed -i '$a\\n'\["${name_block//\\/\\\\\\\\}"\] "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
                 find_file="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
                 find_line=$(wc -l "$find_file" | awk -F" " '{print $1}')
                 find_line=$(( find_line - 1 ))
@@ -3318,7 +3315,7 @@ start_portwine () {
     if command -v systemd-inhibit &>/dev/null \
     && [[ "$GAMEMODERUN" != "1" ]]
     then
-        PW_INHIBIT_SLR="eval systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=\"${translations[Launched]} $PW_NAME_DESKTOP_PROXY\""
+        PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]}"
         print_info "Screensaver will be inhibit"
     fi
     pw_other_fixes