forked from CastroFidel/PortWINE
		
	###Scripts version 2001###
This commit is contained in:
		| @@ -9,6 +9,9 @@ | ||||
| * добавить комментарии описывающие функционал скриптов | ||||
| * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru | ||||
| ----------------------------------------- | ||||
| ###Scripts version 2001### | ||||
| * добавлен графический интерфейс для настройки db файлов | ||||
|  | ||||
| ###PortProton-94### 25.08.2021 ###Scripts version 2000### | ||||
| * добавлено автоматическое скачивание и обновление Proton GE  | ||||
| * db файлы создаются автоматически при запуске любого *.exe  | ||||
| @@ -20,7 +23,7 @@ export PW_VKBASALT_FFX_CAS="0.7" - изменение резкости в игр | ||||
| PS: не забывает для активации добавить переменную: export ENABLE_VKBASALT=1 в db файл, или для глобального включения в user.conf | ||||
| * добавлены условия для правильного определения переменных LD_LIBRARY_PATH и LD_PRELOAD при автоматическом перезапуске скриптов | ||||
| * запуск нескольких приложений можно запустить только через один и тот же протон  | ||||
| * добавлена автоматическая очиста каталога Temp в преыиксе порта | ||||
| * добавлена автоматическая очиста каталога Temp в префиксе порта | ||||
| * создан новый скрипт functions_helper, в который перенесены все вспомогательные функции из runlib | ||||
| * создана новая ветка обновлений скриптов v.2XXX | ||||
| * упрощена структура скрипта runlib | ||||
|   | ||||
| @@ -588,15 +588,54 @@ pw_kill_autostart () { | ||||
| } | ||||
|  | ||||
| edit_db_from_gui () { | ||||
|     if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${1}="`" ] ; then | ||||
|         echo "export ${1}=${!1}" >> "${PORTWINE_DB_FILE}" | ||||
|     elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${1}=" | grep -v "#"`" ] ; then | ||||
|         if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${1}=" | grep -v "#"`" != "export ${1}=${!1}" ] ; then | ||||
|             sed -ri "s/^export ${1}=.*/export ${1}=${!1}/" "${PORTWINE_DB_FILE}" | ||||
|     for mod_db in $@ ; do  | ||||
|         echo "${mod_db}=${!mod_db}" | ||||
|         if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then | ||||
|             echo "export ${mod_db}=${!mod_db}" >> "${PORTWINE_DB_FILE}" | ||||
|         elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then | ||||
|             if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=${!mod_db}" ] ; then | ||||
|                 sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=${!mod_db}/" "${PORTWINE_DB_FILE}" | ||||
|             fi | ||||
|     elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${1}="`" != "export ${1}=${!1}" ] ; then | ||||
|         sed -ri "s/.*export ${1}=.*/export ${1}=${!1}/g" "${PORTWINE_DB_FILE}" | ||||
|         elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then | ||||
|             sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=${!mod_db}/g" "${PORTWINE_DB_FILE}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| pw_gui_for_edit_db () { | ||||
|     unset ADD_CHK_BOX_EDIT_DB | ||||
|     edit_db_field_add () { | ||||
|         for int_to_boole in $@ ; do | ||||
|             if [ "${!int_to_boole}" == "1" ] ; then | ||||
|                 export ${int_to_boole}="TRUE" | ||||
|             else | ||||
|                 export ${int_to_boole}="FALSE" | ||||
|             fi | ||||
|             ADD_CHK_BOX_EDIT_DB="${ADD_CHK_BOX_EDIT_DB} --field="${int_to_boole}:CHK" "${!int_to_boole}"" | ||||
|         done | ||||
|     } | ||||
|     edit_db_field_add $@ | ||||
|     output_yad_edit_db=`"${pw_yad}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \ | ||||
|     --columns=4 --form --separator=" " --borders=10 --center  ${ADD_CHK_BOX_EDIT_DB} ` | ||||
|     YAD_STATUS="$?" | ||||
|     [ "$YAD_STATUS" == "1" ] && exit 0  | ||||
|     [ "$YAD_STATUS" == "252" ] && xdg-open "${PORTWINE_DB_FILE}" & exit 0 | ||||
|     export output_yad_edit_db=($output_yad_edit_db) | ||||
|     export bool_from_yad=0 | ||||
|     edit_db_field_read () { | ||||
|         for boole_to_int in $@ ; do | ||||
|             export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} | ||||
|             if [ "${!boole_to_int}" == "TRUE" ] ; then | ||||
|                 export ${boole_to_int}="1" | ||||
|             else | ||||
|                 export ${boole_to_int}="0" | ||||
|             fi | ||||
|             export bool_from_yad=$(( ${bool_from_yad} + 1 )) | ||||
|         done | ||||
|     } | ||||
|     edit_db_field_read $@ | ||||
|     edit_db_from_gui $@ | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_check_and_download_wine () { | ||||
|   | ||||
| @@ -201,7 +201,11 @@ pw_winetricks () { | ||||
| } | ||||
|  | ||||
| pw_edit_db () { | ||||
|     xdg-open "${PORTWINE_DB_FILE}" | ||||
|     pw_gui_for_edit_db ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_DXR_ON PW_VULKAN_NO_ASYNC PW_USE_NVAPI \ | ||||
|     PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP PW_WINEDBG_DISABLE PW_USE_TERMINAL \ | ||||
|     PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS | ||||
|     [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &  | ||||
|     exit 0 | ||||
| } | ||||
|  | ||||
| pw_autoinstall_from_db () { | ||||
| @@ -249,7 +253,8 @@ if [ ! -z "${portwine_exe}" ]; then | ||||
|         --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ | ||||
|         --button='DEBUG'!!"${loc_debug}":102 \ | ||||
|         --button='LAUNCH'!!"${loc_launch}":106 ) | ||||
|         PW_YAD_SET="$?" | ||||
|         export PW_YAD_SET="$?"  | ||||
|         if [ "$PW_YAD_SET" == "1" ] || [ "$PW_YAD_SET" == "252" ] ; then exit 0 ; fi | ||||
|         export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}' | awk '{print $1}'` | ||||
|         export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}' | awk '{print $1}'` | ||||
|     elif [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
| @@ -335,6 +340,8 @@ else | ||||
|     "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \ | ||||
|     --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab="    SETTINGS" --center | ||||
|     YAD_STATUS="$?" | ||||
|     if [ "$YAD_STATUS" == "1" ] || [ "$YAD_STATUS" == "252" ] ; then exit 0 ; fi | ||||
|  | ||||
|     if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then | ||||
|         export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'` | ||||
| @@ -355,6 +362,7 @@ if [ ! -z "${VULKAN_MOD}" ] ; then | ||||
| fi | ||||
|  | ||||
| init_wine_ver  | ||||
|  | ||||
| if [ -z "${PW_DISABLED_CREAT_DB}" ] ; then  | ||||
|     if [ ! -z "${PORTWINE_DB}" ] ; then | ||||
|         PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` | ||||
| @@ -367,8 +375,7 @@ if [ -z "${PW_DISABLED_CREAT_DB}" ] ; then | ||||
|             export PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db/${PORTWINE_DB}" | ||||
|         fi | ||||
|  | ||||
|         edit_db_from_gui PW_VULKAN_USE | ||||
|         edit_db_from_gui PW_WINE_USE | ||||
|         edit_db_from_gui PW_VULKAN_USE PW_WINE_USE | ||||
|  | ||||
|         PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"`  | ||||
|         echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}" | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/bin/bash | ||||
| #Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2000 | ||||
| #SCRIPTS_NEXT_VERSION=2001 | ||||
| ######################################################################## | ||||
| export PW_MANGOHUD=1 | ||||
| export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt | ||||
|   | ||||
		Reference in New Issue
	
	Block a user