From 9933accd7f3a462688ab6334d86bc06034a0b33b Mon Sep 17 00:00:00 2001
From: castro-fidel <tergoevm@gmail.com>
Date: Mon, 12 Jul 2021 21:14:06 +0300
Subject: [PATCH] ###Scripts version 1117###

---
 data_from_portwine/changelog      |  6 +++++-
 data_from_portwine/scripts/runlib | 30 +++++++++++++++++++++---------
 data_from_portwine/scripts/var    |  3 ++-
 3 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog
index d98f5f41..79f84209 100644
--- a/data_from_portwine/changelog
+++ b/data_from_portwine/changelog
@@ -6,13 +6,17 @@
 * добавить контроль за окнами для правильного отключения прогресс бара
 * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
 -----------------------------------------
+###Scripts version 1117###
+* доработка определение месторасполажения установленных шейдеров для vkBasalt
+* добавлена переменная "PW_SANDBOX_HOME_PATH" при существовании которой закрывается доступ к домашнему каталогу
+
 ###Scripts version 1115 and 1116###
 * тест обновления скриптов с github
 
 ###Scripts version 1114###
 * добавлен пользовательский файл конфигурации (путь_до_PortProton/data/user.conf") который при наполнениии замещает настройки скрипта var и db файлов, но при обновлении скриптов остается неизменным, для сохранения ваших настроек.
 * автоматическое изменение раскладки клавиатуры работает только при установке значении переменной export PW_XKBD_RU_HACK=1 (можно прописывать как в скрипт var, так и в user.conf)
-* HOTFIX - определение местораспалажения установленных шейдеров для vkBasalt (для работы под Arch и Manjaro)
+* HOTFIX - определение месторасполажения установленных шейдеров для vkBasalt (для работы под Arch и Manjaro)
 * проверка и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz
 
 ###Scripts version 1113###
diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index a04613c1..f40562d2 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -132,14 +132,18 @@ pw_mangohud_check () {
     fi
 }
 pw_vkbasalt_check () {
-    if [ -d "/home/${USER}/.local/share/reshade/Shaders/" ]; then 
+    if [ -d "${HOME}/.local/share/reshade/Shaders/" ]; then
         export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
-        sed -i "s%/xuser/%/${USER}/%" "${VKBASALT_CONFIG_FILE}"
-    elif [ -d "/usr/share/reshade/Shaders/" ]; then
+        [[ xuser = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 xuser` ]] && sed -i "s%/xuser/%/${USER}/%" "${VKBASALT_CONFIG_FILE}" 
+    elif [ -d "/usr/share/reshade" ]; then
         export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
-        sed -i "s%/home/xuser/.local/%/usr/%" "${VKBASALT_CONFIG_FILE}"
+        mkdir -p "${HOME}/.local/share/reshade"
+        cp -fR /usr/share/reshade "${HOME}/.local/share"
+        [[ xuser = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 xuser` ]] && sed -i "s%/xuser/%/${USER}/%" "${VKBASALT_CONFIG_FILE}"
+        [[ Shaders = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 Shaders` ]] && sed -i "s%/Shaders/%/shaders/%" "${VKBASALT_CONFIG_FILE}"
+        [[ Textures = `cat "${VKBASALT_CONFIG_FILE}" | grep -om1 Textures` ]] && sed -i 's%/Textures$%/textures%' "${VKBASALT_CONFIG_FILE}"
     fi
-}
+} 
 gui_question () {
     `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null
      [ $? -eq "0" ] && return 0 || return 1
@@ -362,10 +366,18 @@ START_PORTWINE () {
         echo "RUNTIME is disabled"
     else
         export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu/:/overrides/lib/x86_64-linux-gnu/aliases/:/overrides/lib/i386-linux-gnu/:/overrides/lib/i386-linux-gnu/aliases/:"
-        export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
-        --share-home \
-        --runtime=${PW_WINELIB}/runtime \
-        --"
+        if [ ! -z "${PW_SANDBOX_HOME_PATH}" ] && [ -d "${PW_SANDBOX_HOME_PATH}" ]; then
+            export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
+            --unshare-home \
+            --home="${PW_SANDBOX_HOME_PATH}" \
+            --runtime=${PW_WINELIB}/runtime \
+            --"
+        else
+            export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
+            --share-home \
+            --runtime=${PW_WINELIB}/runtime \
+            --"
+        fi
         export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
         export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=0
         export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index b843dd1a..f78c4440 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -1,6 +1,6 @@
 #!/bin/bash
 #Author: Castro-Fidel (PortWINE-Linux.ru)
-#SCRIPTS_VERSION=1116 
+#SCRIPTS_VERSION=1117
 ########################################################################
 export PW_MANGOHUD=1
 export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display
@@ -12,6 +12,7 @@ export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_
 export PW_USE_RUNTIME=1     # 0 - disabled; 1 - enabled
 export PW_RT_MOUNT_RO=("${HOME}/.PortWINE")
 export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
+#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
 
 export PW_USE_GAMEMODE=1
 export PW_FORCE_USE_VSYNC=2