Commit 540c4e2e authored by Vladislav's avatar Vladislav

new changes

parent b0303d87
...@@ -156,11 +156,12 @@ create_new_dir () { ...@@ -156,11 +156,12 @@ create_new_dir () {
} }
try_force_link_file () { try_force_link_file () {
if [ ! -f "$1" ] ; then : if [ ! -f "$1" ] ; then print_warning "file not found for link: $1"
elif [ -z "$2" ] ; then print_error "no way to link file $1" elif [ -z "$2" ] ; then print_error "no way to link file $1"
else else
try_remove_file "$2"
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 return 0
fi fi
return 1 return 1
} }
...@@ -1107,7 +1108,7 @@ check_dirs_and_files_in_pfx () { ...@@ -1107,7 +1108,7 @@ check_dirs_and_files_in_pfx () {
LN_FONTS="arialbd.ttf courbd.ttf georgia.ttf micross.ttf msyh.ttf simsun.ttc arial.ttf cour.ttf malgun.ttf msgothic.ttc nirmala.ttf times.ttf" LN_FONTS="arialbd.ttf courbd.ttf georgia.ttf micross.ttf msyh.ttf simsun.ttc arial.ttf cour.ttf malgun.ttf msgothic.ttc nirmala.ttf times.ttf"
for link_font in $LN_FONTS ; do for link_font in $LN_FONTS ; do
if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then
try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/" try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}"
fi fi
done done
...@@ -1641,10 +1642,15 @@ start_portwine () { ...@@ -1641,10 +1642,15 @@ start_portwine () {
fi fi
pw_wineboot () { pw_wineboot () {
LIST_NATIVE_WINE_DLL="winevulkan ir50_32 atl100 ntdll wined3d vulkan-1 shell32 dxgi d3d8 d3d9 d3d10core d3d11 d3d12 d3d12core" LIST_NATIVE_WINE_DLL="winevulkan ir50_32 wined3d vulkan-1 dxgi d3d8 d3d9 d3d10core d3d11 d3d12 d3d12core"
for change_wine_dll in $LIST_NATIVE_WINE_DLL ; do for change_wine_dll in $LIST_NATIVE_WINE_DLL ; do
try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${change_wine_dll}.dll"
try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${change_wine_dll}.dll"
done
for change_wine_dll in atl100 ntdll shell32 ; do
try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${change_wine_dll}.dll"
try_copy_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${change_wine_dll}.dll"
done done
print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}" print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}"
...@@ -1800,18 +1806,18 @@ start_portwine () { ...@@ -1800,18 +1806,18 @@ start_portwine () {
export DXVK_ENABLE_NVAPI=1 export DXVK_ENABLE_NVAPI=1
if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
enabled_fake_nvidia_videocard old enabled_fake_nvidia_videocard old
var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b" var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b"
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))"
if [[ ! -z "$FIND_NVNGX" ]] ; then if [[ ! -z "$FIND_NVNGX" ]] ; then
try_force_link_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
try_force_link_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
else else
try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
fi fi
enabled_fake_nvidia_videocard 0 enabled_fake_nvidia_videocard 0
var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b" var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b"
...@@ -1953,8 +1959,8 @@ start_portwine () { ...@@ -1953,8 +1959,8 @@ start_portwine () {
# try link d3d extras libs # try link d3d extras libs
PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras"
for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/${d3d_extras_from_plugins}.dll"
try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${d3d_extras_from_plugins}.dll"
var_winedlloverride_update "${d3d_extras_from_plugins}=n" var_winedlloverride_update "${d3d_extras_from_plugins}=n"
if [[ -z "$(grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log")" ]] ; then if [[ -z "$(grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log")" ]] ; then
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
...@@ -1962,19 +1968,19 @@ start_portwine () { ...@@ -1962,19 +1968,19 @@ start_portwine () {
done done
else else
for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do
try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${d3d_extras_from_plugins}.dll"
try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/${d3d_extras_from_plugins}.dll"
done done
fi fi
# fix physx # fix physx
PHYSX_PATH="${WINEPREFIX}/drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common" PHYSX_PATH="${WINEPREFIX}/drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common"
for physx_dll in PhysXDevice PhysXLoader PhysXUpdateLoader ; do for physx_dll in PhysXDevice PhysXLoader PhysXUpdateLoader ; do
try_force_link_file "${PHYSX_PATH}/${physx_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PHYSX_PATH}/${physx_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${physx_dll}.dll"
try_force_link_file "${PHYSX_PATH}/${physx_dll}64.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PHYSX_PATH}/${physx_dll}64.dll" "${WINEPREFIX}/drive_c/windows/system32/${physx_dll}64.dll"
done done
try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/cudart32_65.dll"
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll"
# 3D API # 3D API
unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_DGV2_FILES CP_WINE_FILES unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_DGV2_FILES CP_WINE_FILES
...@@ -2083,9 +2089,9 @@ start_portwine () { ...@@ -2083,9 +2089,9 @@ start_portwine () {
rm_from_var CP_DGV2_FILES "d3d8 d3d9" rm_from_var CP_DGV2_FILES "d3d8 d3d9"
rm_from_var CP_WINE_FILES "ddraw" rm_from_var CP_WINE_FILES "ddraw"
else else
try_force_link_file "${PATH_TO_DGV2_FILES}/x64/d3d9.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_DGV2_FILES}/x64/d3d9.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf" try_remove_file "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) 0)
rm_from_var CP_WINE_FILES "ddraw d3d8 d3d9" rm_from_var CP_WINE_FILES "ddraw d3d8 d3d9"
...@@ -2116,7 +2122,7 @@ start_portwine () { ...@@ -2116,7 +2122,7 @@ start_portwine () {
esac esac
fi fi
for wine_dgv2_dll in $CP_DGV2_FILES ; do for wine_dgv2_dll in $CP_DGV2_FILES ; do
try_force_link_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dgv2_dll}.dll"
var_winedlloverride_update "${wine_dgv2_dll}=n" var_winedlloverride_update "${wine_dgv2_dll}=n"
done done
# DGVOODOO2 settings: # DGVOODOO2 settings:
...@@ -2162,8 +2168,8 @@ start_portwine () { ...@@ -2162,8 +2168,8 @@ start_portwine () {
check_variables DXVK_HDR "0" check_variables DXVK_HDR "0"
for wine_dxvk_dll in $CP_DXVK_FILES ; do for wine_dxvk_dll in $CP_DXVK_FILES ; do
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
var_winedlloverride_update "${wine_dxvk_dll}=n" var_winedlloverride_update "${wine_dxvk_dll}=n"
fi fi
done done
...@@ -2174,18 +2180,18 @@ start_portwine () { ...@@ -2174,18 +2180,18 @@ start_portwine () {
if [[ "$DXVK_ENABLE_NVAPI" == "1" ]] ; then if [[ "$DXVK_ENABLE_NVAPI" == "1" ]] ; then
print_info "Try copy NVAPI files..." print_info "Try copy NVAPI files..."
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll" || \
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll" || \
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
fi fi
if [[ ! -z "$CP_VKD3D_FILES" ]] ; then if [[ ! -z "$CP_VKD3D_FILES" ]] ; then
print_info "Try copy native VKD3D files..." print_info "Try copy native VKD3D files..."
for wine_vkd3d_dll in $CP_VKD3D_FILES ; do for wine_vkd3d_dll in $CP_VKD3D_FILES ; do
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
var_winedlloverride_update "${wine_vkd3d_dll}=n" var_winedlloverride_update "${wine_vkd3d_dll}=n"
fi fi
done done
...@@ -2197,8 +2203,8 @@ start_portwine () { ...@@ -2197,8 +2203,8 @@ start_portwine () {
print_info "Try copy native D8VK files..." print_info "Try copy native D8VK files..."
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
for wine_d8vk_dll in $CP_D8VK_FILES ; do for wine_d8vk_dll in $CP_D8VK_FILES ; do
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_d8vk_dll}.dll"
try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_d8vk_dll}.dll"
var_winedlloverride_update "${wine_d8vk_dll}=n" var_winedlloverride_update "${wine_d8vk_dll}=n"
done done
fi fi
...@@ -2236,8 +2242,8 @@ start_portwine () { ...@@ -2236,8 +2242,8 @@ start_portwine () {
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin"
try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/" try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll"
try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/" try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll"
fi fi
if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then
...@@ -2527,12 +2533,13 @@ pw_yad_set_form () { ...@@ -2527,12 +2533,13 @@ pw_yad_set_form () {
pw_yad_form_vulkan () { pw_yad_form_vulkan () {
if [[ "$(<"${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan")" != "" ]] ; then if [[ "$(<"${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan")" != "" ]] ; then
sed -i 's/$/\;/' "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" YAD_FORM_VULKAN=$(sed 's/$/\;/' "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan")
YAD_FORM_VULKAN=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan")
VULKAN_MOD=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $1}') VULKAN_MOD=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $1}')
PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $2}') PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $2}')
PW_PREFIX_NAME=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g) PW_PREFIX_NAME=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g)
if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then if [[ -z "${PW_PREFIX_NAME}" ]] \
|| [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]]
then
PW_PREFIX_NAME="DEFAULT" PW_PREFIX_NAME="DEFAULT"
else else
PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
...@@ -2545,7 +2552,7 @@ portwine_launch () { ...@@ -2545,7 +2552,7 @@ portwine_launch () {
start_portwine start_portwine
PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi) PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi)
PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat) PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat)
if [[ ! -z "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then if [[ "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then
pw_run explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}" ${WINE_WIN_START} "$portwine_exe" pw_run explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}" ${WINE_WIN_START} "$portwine_exe"
elif [ ! -z "${PORTWINE_MSI}" ]; then elif [ ! -z "${PORTWINE_MSI}" ]; then
pw_run msiexec /i "$portwine_exe" pw_run msiexec /i "$portwine_exe"
...@@ -2602,6 +2609,7 @@ yad_info () { ...@@ -2602,6 +2609,7 @@ yad_info () {
command -v "${pw_yad}" &>/dev/null || fatal "yad not found" command -v "${pw_yad}" &>/dev/null || fatal "yad not found"
fi fi
"${pw_yad}" --no-wrap --text "$@" --width=400 --height=150 --borders=15 --title "INFO" \ "${pw_yad}" --no-wrap --text "$@" --width=400 --height=150 --borders=15 --title "INFO" \
--gui-type-layout=${YAD_INFO_GUI_TYPE_LAYOUT} \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/info.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/info.svg" \
--center --text-align=center --fixed \ --center --text-align=center --fixed \
--button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png" 2>/dev/null --button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png" 2>/dev/null
...@@ -2616,6 +2624,7 @@ yad_error () { ...@@ -2616,6 +2624,7 @@ yad_error () {
command -v "${pw_yad}" &>/dev/null || fatal "yad not found" command -v "${pw_yad}" &>/dev/null || fatal "yad not found"
fi fi
"${pw_yad}" --no-wrap --text "$@" --width=400 --height=150 --borders=15 --title "ERROR" \ "${pw_yad}" --no-wrap --text "$@" --width=400 --height=150 --borders=15 --title "ERROR" \
--gui-type-layout=${YAD_INFO_GUI_TYPE_LAYOUT} \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/error.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/error.svg" \
--center --text-align=center --fixed \ --center --text-align=center --fixed \
--button="$(eval_gettext "EXIT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png" 2>/dev/null --button="$(eval_gettext "EXIT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png" 2>/dev/null
...@@ -2644,6 +2653,7 @@ yad_question () { ...@@ -2644,6 +2653,7 @@ yad_question () {
fi fi
"${pw_yad}" --text "${1}" --width=400 --height=150 --borders=15 --title "$(eval_gettext "Choices")" \ "${pw_yad}" --text "${1}" --width=400 --height=150 --borders=15 --title "$(eval_gettext "Choices")" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/question.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/question.svg" \
--gui-type-layout=${YAD_INFO_GUI_TYPE_LAYOUT} \
--no-wrap --center --text-align=center --fixed \ --no-wrap --center --text-align=center --fixed \
--button="$(eval_gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \ --button="$(eval_gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
--button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null --button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null
...@@ -2710,9 +2720,9 @@ pw_update_pfx_cover_gui () { ...@@ -2710,9 +2720,9 @@ pw_update_pfx_cover_gui () {
PW_TIMER=1 PW_TIMER=1
fi fi
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N2 --text-info --tail 2>/dev/null & done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N2 --text-info --tail 2>/dev/null &
"${pw_yad}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N1 --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null & "${pw_yad}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N1 --picture --filename="${PW_GIF_FILE}" 2>/dev/null &
"${pw_yad}" --notebook --key="$PW_KEY_PROGRESS_BAR_UP" $TAB_PLACE --no-buttons --expand \ "${pw_yad}" --notebook --key="$PW_KEY_PROGRESS_BAR_UP" $TAB_PLACE --no-buttons \
--auto-close --skip-taskbar --width="$PW_GIF_SIZE_X" --height="$PW_GIF_SIZE_Y" $YAD_UNDECORATED \ --auto-close --skip-taskbar --width="$PW_GIF_SIZE_X" --height="$PW_GIF_SIZE_Y" $YAD_UNDECORATED \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "PortProton" --tab-pos=bottom --expand 2>/dev/null & --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "PortProton" --tab-pos=bottom --expand 2>/dev/null &
export PW_YAD_PID_PFX_COVER_UI="$!" export PW_YAD_PID_PFX_COVER_UI="$!"
...@@ -2929,6 +2939,7 @@ gui_proton_downloader () { ...@@ -2929,6 +2939,7 @@ gui_proton_downloader () {
export KEY_WINE=$RANDOM export KEY_WINE=$RANDOM
"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --checklist --separator="" \ "${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --checklist --separator="" \
--gui-type-layout=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} --gui-type-text=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} \
--column "$(eval_gettext "Set")" \ --column "$(eval_gettext "Set")" \
--column "$(eval_gettext "Select WINE for download:")" \ --column "$(eval_gettext "Select WINE for download:")" \
$TMP_PROTON_PW_GIT \ $TMP_PROTON_PW_GIT \
...@@ -2936,6 +2947,7 @@ gui_proton_downloader () { ...@@ -2936,6 +2947,7 @@ gui_proton_downloader () {
2>/dev/null & 2>/dev/null &
"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --checklist --separator="" \ "${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --checklist --separator="" \
--gui-type-layout=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} --gui-type-text=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} \
--column "$(eval_gettext "Set")" \ --column "$(eval_gettext "Set")" \
--column "$(eval_gettext "Select WINE for download:")" \ --column "$(eval_gettext "Select WINE for download:")" \
$TMP_PROTON_KR_GIT \ $TMP_PROTON_KR_GIT \
...@@ -2943,6 +2955,7 @@ gui_proton_downloader () { ...@@ -2943,6 +2955,7 @@ gui_proton_downloader () {
2>/dev/null & 2>/dev/null &
"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --checklist --separator="" \ "${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --checklist --separator="" \
--gui-type-layout=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} --gui-type-text=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} \
--column "$(eval_gettext "Set")" \ --column "$(eval_gettext "Set")" \
--column "$(eval_gettext "Select WINE for download:")" \ --column "$(eval_gettext "Select WINE for download:")" \
$TMP_PROTON_GE_GIT \ $TMP_PROTON_GE_GIT \
...@@ -2950,6 +2963,7 @@ gui_proton_downloader () { ...@@ -2950,6 +2963,7 @@ gui_proton_downloader () {
2>/dev/null & 2>/dev/null &
"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --checklist --separator="" \ "${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --checklist --separator="" \
--gui-type-layout=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} --gui-type-text=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} \
--column "$(eval_gettext "Set")" \ --column "$(eval_gettext "Set")" \
--column "$(eval_gettext "Select WINE for download:")" \ --column "$(eval_gettext "Select WINE for download:")" \
$TMP_PROTON_CU_GIT \ $TMP_PROTON_CU_GIT \
...@@ -2957,6 +2971,7 @@ gui_proton_downloader () { ...@@ -2957,6 +2971,7 @@ gui_proton_downloader () {
2>/dev/null & 2>/dev/null &
"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --checklist --separator="" \ "${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --checklist --separator="" \
--gui-type-layout=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} --gui-type-text=${WINE_DONWLOAD_GUI_TYPE_LAYOUT} \
--column "$(eval_gettext "Set")" \ --column "$(eval_gettext "Set")" \
--column "$(eval_gettext "Select installed WINE for delete:")" \ --column "$(eval_gettext "Select installed WINE for delete:")" \
$TMP_INSTALLED_WINE \ $TMP_INSTALLED_WINE \
...@@ -2964,6 +2979,8 @@ gui_proton_downloader () { ...@@ -2964,6 +2979,8 @@ gui_proton_downloader () {
2>/dev/null & 2>/dev/null &
"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \ "${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \
--gui-type=settings-notebook \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext "WINE MANAGER")" --separator="" --expand \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext "WINE MANAGER")" --separator="" --expand \
--tab-pos=top \ --tab-pos=top \
--tab="PROTON-LG"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="PROTON-LG"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
...@@ -3138,15 +3155,46 @@ if [[ "${SKIP_EDIT_DB_TEXT_INFO}" != 1 ]] ; then ...@@ -3138,15 +3155,46 @@ if [[ "${SKIP_EDIT_DB_TEXT_INFO}" != 1 ]] ; then
export SKIP_EDIT_DB_TEXT_INFO=1 export SKIP_EDIT_DB_TEXT_INFO=1
fi fi
case "${PW_VULKAN_USE}" in
0)
# WineD3D OpenGL
VKD3D_CB=DCB
DISABLE_EDIT_DB_LIST="PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_USE_OBS_VKCAPTURE
"
;;
1|2)
# Stable or Newest
VKD3D_CB=CB
;;
3)
# Gallium Nine
VKD3D_CB=DCB
DISABLE_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_WINE_FULLSCREEN_FSR
PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
"
;;
4|5|6)
# Galliun Zink, Legacy, WineD3D Vulkan
VKD3D_CB=DCB
DISABLE_EDIT_DB_LIST="PW_USE_RAY_TRACING
"
;;
esac
unset ADD_CHK_BOX_EDIT_DB unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in $PW_EDIT_DB_LIST ; do for int_to_boole in ${PW_EDIT_DB_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [ "${!int_to_boole}" == "1" ]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
TMP_HELP_FOR_GUI="${int_to_boole}_INFO" TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="$(echo ${int_to_boole//PW_/} | sed 's/_/ /g')" int_to_boole_non_pw="$(echo ${int_to_boole//PW_/} | sed 's/_/ /g')"
if [[ ! "${PW_VULKAN_USE}" == "1" ]] && [[ ! "${PW_VULKAN_USE}" == "2" ]] \
&& grep -wo "${int_to_boole}" <<<"${DISABLE_EDIT_DB_LIST}" &>/dev/null ; then
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%${!int_to_boole}%"
else
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%" ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
fi
done done
old_IFS=$IFS old_IFS=$IFS
...@@ -3196,13 +3244,16 @@ A brief instruction: ...@@ -3196,13 +3244,16 @@ A brief instruction:
--field="$(eval_gettext "Limit the use of processor cores")!$(eval_gettext "Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)") :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \ --field="$(eval_gettext "Limit the use of processor cores")!$(eval_gettext "Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)") :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
--field="$(eval_gettext "Choose a graphics card to run the game (in user.conf)")!$(eval_gettext "Select which video card will be used to run the game (used for all running games and programs in PortProton)") :CB" "${GPU_VAR}!disabled!${GET_GPU_NAMES}" \ --field="$(eval_gettext "Choose a graphics card to run the game (in user.conf)")!$(eval_gettext "Select which video card will be used to run the game (used for all running games and programs in PortProton)") :CB" "${GPU_VAR}!disabled!${GET_GPU_NAMES}" \
--field="$(eval_gettext "Forcibly select the OpenGL version for the game")!$(eval_gettext "You can select the required OpenGL version, some games require a forced Compatibility Profile (COMPAT). (Examples are in the drop-down list)") :CB" "${PW_MESA_GL_VERSION_OVERRIDE}!disabled!4.6COMPAT!4.6!4.5COMPAT!4.5!3.3COMPAT!3.3" \ --field="$(eval_gettext "Forcibly select the OpenGL version for the game")!$(eval_gettext "You can select the required OpenGL version, some games require a forced Compatibility Profile (COMPAT). (Examples are in the drop-down list)") :CB" "${PW_MESA_GL_VERSION_OVERRIDE}!disabled!4.6COMPAT!4.6!4.5COMPAT!4.5!3.3COMPAT!3.3" \
--field="$(eval_gettext "Forcibly select the VKD3D feature level")!$(eval_gettext "You can set a forced feature level VKD3D for games on DirectX12") :CB" "${PW_VKD3D_FEATURE_LEVEL}!disabled!12_2!12_1!12_0!11_1!11_0" \ --field="$(eval_gettext "Forcibly select the VKD3D feature level")!$(eval_gettext "You can set a forced feature level VKD3D for games on DirectX12") :${VKD3D_CB}" "${PW_VKD3D_FEATURE_LEVEL}!disabled!12_2!12_1!12_0!11_1!11_0" \
--field="$(eval_gettext "Force certain locale for an app:")!$(eval_gettext "Fixes encoding issues in legacy software") :CB" "${PW_LOCALE_SELECT}!disabled!$LOCALE_LIST" \ --field="$(eval_gettext "Force certain locale for an app:")!$(eval_gettext "Fixes encoding issues in legacy software") :CB" "${PW_LOCALE_SELECT}!disabled!$LOCALE_LIST" \
1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad}" --notebook --key="$KEY_EDIT_DB_GUI" --title "$(eval_gettext "EDIT DB")" --text-align=center \ "${pw_yad}" --notebook --key="$KEY_EDIT_DB_GUI" --title "$(eval_gettext "EDIT DB")" --text-align=center \
--text "$(eval_gettext "Change settings in database file for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \ --text "$(eval_gettext "Change settings in database file for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --center \
--gui-type=settings-base \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--gui-type-text=${SETTINGS_BASE_GUI_TYPE_TEXT} --gui-type-layout=${SETTINGS_BASE_GUI_TYPE_LAYOUT} \
--tab="$(eval_gettext "MAIN")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$(eval_gettext "MAIN")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$(eval_gettext "ADVANCED")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$(eval_gettext "ADVANCED")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
...@@ -3226,7 +3277,7 @@ A brief instruction: ...@@ -3226,7 +3277,7 @@ A brief instruction:
output_yad_edit_db=($(<"${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db")) output_yad_edit_db=($(<"${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"))
bool_from_yad=0 bool_from_yad=0
for boole_to_int in $PW_EDIT_DB_LIST ; do for boole_to_int in ${PW_EDIT_DB_LIST} ; do
export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]}
if [ "${!boole_to_int}" == "TRUE" ] if [ "${!boole_to_int}" == "TRUE" ]
then export ${boole_to_int}="1" then export ${boole_to_int}="1"
...@@ -3253,7 +3304,7 @@ A brief instruction: ...@@ -3253,7 +3304,7 @@ A brief instruction:
export PW_WINE_CPU_TOPOLOGY="disabled" export PW_WINE_CPU_TOPOLOGY="disabled"
fi fi
edit_db_from_gui $PW_EDIT_DB_LIST LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY GAMESCOPE_ARGS \ edit_db_from_gui ${PW_EDIT_DB_LIST} LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY GAMESCOPE_ARGS \
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT
if [[ -z "$MANGOHUD_CONFIG" ]] ; then if [[ -z "$MANGOHUD_CONFIG" ]] ; then
...@@ -3373,16 +3424,20 @@ fi ...@@ -3373,16 +3424,20 @@ fi
export old_IFS=$IFS export old_IFS=$IFS
export IFS="%" export IFS="%"
"${pw_yad}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=4 --separator=" " \ "${pw_yad}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=4 --separator=" " \
--text-align=center --text="$(eval_gettext "VkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text\n")" \ --text-align=center --text="$(eval_gettext "VkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text")" \
--gui-type-text=${VKBASALT_GUI_TYPE_TEXT_UP} --gui-type-layout=${VKBASALT_GUI_TYPE_LAYOUT_DOWN} \
${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null & ${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null &
export IFS="${old_IFS}" export IFS="${old_IFS}"
"${pw_yad}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \ "${pw_yad}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \
--gui-type-layout=${VKBASALT_GUI_TYPE_LAYOUT_DOWN} \
--field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$(eval_gettext "AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)")":SCL "${VKBASALT_FFX_CAS_GUI}" \ --field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$(eval_gettext "AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)")":SCL "${VKBASALT_FFX_CAS_GUI}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null &
"${pw_yad}" --paned --key="$KEY_FX_GUI" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 --title="vkBasalt" \ "${pw_yad}" --paned --key="$KEY_FX_GUI" --sensitive --title="vkBasalt" \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --gui-type=settings-paned \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --center \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
--button="$(eval_gettext "DISABLE") VKBASALT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable vkBasalt and go to the previous menu")":180 \ --button="$(eval_gettext "DISABLE") VKBASALT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable vkBasalt and go to the previous menu")":180 \
--button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":182 2>/dev/null --button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":182 2>/dev/null
...@@ -3533,18 +3588,22 @@ fi ...@@ -3533,18 +3588,22 @@ fi
old_IFS=$IFS && IFS="%" old_IFS=$IFS && IFS="%"
"${pw_yad}" --plug=$KEY_MH_GUI --tabnum="1" --form --columns=4 --separator=" " --text-align=center \ "${pw_yad}" --plug=$KEY_MH_GUI --tabnum="1" --form --columns=4 --separator=" " --text-align=center \
--text="$(eval_gettext "MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\n<b>note:</b> To display help for each item, just hover the mouse cursor over the text.\n")" \ --text="$(eval_gettext "MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\n<b>note:</b> To display help for each item, just hover the mouse cursor over the text.")" \
--gui-type-text=${MANGOHUD_GUI_TYPE_TEXT_UP} --gui-type-layout=${MANGOHUD_GUI_TYPE_LAYOUT_UP} \
${ADD_GUI_MH} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_set" 2>/dev/null & ${ADD_GUI_MH} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_set" 2>/dev/null &
IFS=$old_IFS IFS=$old_IFS
old_IFS=$IFS && IFS="%" old_IFS=$IFS && IFS="%"
"${pw_yad}" --plug=$KEY_MH_GUI --tabnum="2" --form --columns=10 --separator=" " --text-align=center \ "${pw_yad}" --plug=$KEY_MH_GUI --tabnum="2" --form --columns=10 --separator=" " --text-align=center \
--text="$(eval_gettext "Enabling fps limitation with MANGOHUD tools built into PortProton (Keys <b>L_SHIFT + F1</b> Toggles fps limitation)\n")" \ --text="$(eval_gettext "Enabling fps limitation with MANGOHUD tools built into PortProton (Keys <b>L_SHIFT + F1</b> Toggles fps limitation)")" \
--gui-type-text=${MANGOHUD_GUI_TYPE_TEXT_DOWN} --gui-type-layout=${MANGOHUD_GUI_TYPE_LAYOUT_DOWN} \
${ADD_GUI_MH_FPS} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null & ${ADD_GUI_MH_FPS} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null &
IFS=$old_IFS IFS=$old_IFS
"${pw_yad}" --paned --key="$KEY_MH_GUI" --title="MangoHud" \ "${pw_yad}" --paned --key="$KEY_MH_GUI" --title="MangoHud" --center \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 \ --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive \
--gui-type=settings-paned \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
--button="$(eval_gettext "DISABLE") MANGOHUD"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable MangoHud and go to the previous menu")":182 \ --button="$(eval_gettext "DISABLE") MANGOHUD"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable MangoHud and go to the previous menu")":182 \
--button="$(eval_gettext "PREVIEW CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Start vkcube for preview changes")":184 \ --button="$(eval_gettext "PREVIEW CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Start vkcube for preview changes")":184 \
...@@ -3654,31 +3713,63 @@ if [[ "${SKIP_DGVOODOO2_TEXT_INFO}" != 1 ]] ; then ...@@ -3654,31 +3713,63 @@ if [[ "${SKIP_DGVOODOO2_TEXT_INFO}" != 1 ]] ; then
export SKIP_DGVOODOO2_TEXT_INFO=1 export SKIP_DGVOODOO2_TEXT_INFO=1
fi fi
case "${PW_VULKAN_USE}" in
0|3|4|5|6)
DISABLE_DGV2_LIST="PW_DGV2_USE_DX12
"
;;
esac
unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in ${PW_EDIT_DB_LIST} ; do
if [ "${!int_to_boole}" == "1" ]
then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE"
fi
TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="$(echo ${int_to_boole//PW_/} | sed 's/_/ /g')"
if [[ ! "${PW_VULKAN_USE}" == "1" ]] && [[ ! "${PW_VULKAN_USE}" == "2" ]] \
&& grep -wo "${int_to_boole}" <<<"${DISABLE_DGV2_LIST}" &>/dev/null ; then
ADD_CHK_BOX_DGV2+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%${!int_to_boole}%"
else
ADD_CHK_BOX_DGV2+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
fi
done
unset ADD_CHK_BOX_DGV2 unset ADD_CHK_BOX_DGV2
for int_to_boole in $PW_DGV2_LIST ; do for int_to_boole in ${PW_DGV2_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [ "${!int_to_boole}" == "1" ]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
TMP_HELP_FOR_GUI="${int_to_boole}_INFO" TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="$(echo ${int_to_boole} | sed 's/^PW_DGV2//' | sed 's/_/ /g' )" int_to_boole_non_pw="$(echo ${int_to_boole//PW_DGV2/} | sed 's/_/ /g' )"
if [[ ! "${PW_VULKAN_USE}" == "1" ]] && [[ ! "${PW_VULKAN_USE}" == "2" ]] \
&& grep -wo "${int_to_boole}" <<<"${DISABLE_DGV2_LIST}" &>/dev/null ; then
ADD_CHK_BOX_DGV2+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%${!int_to_boole}%"
else
ADD_CHK_BOX_DGV2+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%" ADD_CHK_BOX_DGV2+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
fi
done done
old_IFS=$IFS old_IFS=$IFS
IFS="%" IFS="%"
"${pw_yad}" --plug=$KEY_DGV2_GUI --tabnum="1" --form --separator=" " --columns=3 ${ADD_CHK_BOX_DGV2} --text-align=center \ "${pw_yad}" --plug=$KEY_DGV2_GUI --tabnum="1" --form --separator=" " --columns=3 ${ADD_CHK_BOX_DGV2} --text-align=center \
--text="$(eval_gettext "dgVoodoo2 settings\n<b>NOTE:</b> To display help for each item, simply hover over the text\n")" \ --text="$(eval_gettext "dgVoodoo2 settings\n<b>NOTE:</b> To display help for each item, simply hover over the text")" \
--gui-type-text=${DGVOODOO2_GUI_TYPE_TEXT} --gui-type-layout=${DGVOODOO2_GUI_TYPE_LAYOUT_UP} \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set" 2>/dev/null &
IFS=$old_IFS IFS=$old_IFS
"${pw_yad}" --plug=$KEY_DGV2_GUI --tabnum="2" --form --columns=2 --separator="%" \ "${pw_yad}" --plug=$KEY_DGV2_GUI --tabnum="2" --form --columns=2 --separator="%" \
--gui-type-layout=${DGVOODOO2_GUI_TYPE_LAYOUT_DOWN} \
--field="${CHKBOX_SPACE}FILTERING!$(eval_gettext "Forced anisotropic filtering in Direct3D games") :CB" "${PW_DGV2_FILTERING}!disabled!2!4!8!16" \ --field="${CHKBOX_SPACE}FILTERING!$(eval_gettext "Forced anisotropic filtering in Direct3D games") :CB" "${PW_DGV2_FILTERING}!disabled!2!4!8!16" \
--field="${CHKBOX_SPACE}ANTIALIASING!$(eval_gettext "Forced antialiasing in Direct3D and Glide games") :CB" "${PW_DGV2_ANTIALIASING}!disabled!2!4!8" \ --field="${CHKBOX_SPACE}ANTIALIASING!$(eval_gettext "Forced antialiasing in Direct3D and Glide games") :CB" "${PW_DGV2_ANTIALIASING}!disabled!2!4!8" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" 2>/dev/null &
"${pw_yad}" --paned --key=$KEY_DGV2_GUI --height="350" --title="dgVoodoo2" \ "${pw_yad}" --paned --key=$KEY_DGV2_GUI --height="350" --title="dgVoodoo2" --center \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 \ --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive \
--gui-type=settings-paned \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
--button="$(eval_gettext "DISABLE") DGVOODOO2"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable dgVoodoo2 and go to the previous menu")":162 \ --button="$(eval_gettext "DISABLE") DGVOODOO2"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable dgVoodoo2 and go to the previous menu")":162 \
--button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":166 \ --button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":166 \
...@@ -3705,7 +3796,7 @@ fi ...@@ -3705,7 +3796,7 @@ fi
output_yad_dgv2=($(<"${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set")) output_yad_dgv2=($(<"${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set"))
bool_from_yad=0 bool_from_yad=0
for boole_to_int in $PW_DGV2_LIST ; do for boole_to_int in ${PW_DGV2_LIST} ; do
export ${boole_to_int}=${output_yad_dgv2[$bool_from_yad]} export ${boole_to_int}=${output_yad_dgv2[$bool_from_yad]}
if [ "${!boole_to_int}" == "TRUE" ] if [ "${!boole_to_int}" == "TRUE" ]
then export ${boole_to_int}="1" then export ${boole_to_int}="1"
...@@ -3719,7 +3810,7 @@ fi ...@@ -3719,7 +3810,7 @@ fi
PW_DGV2_FILTERING="$(echo ${PW_ADD_SETTINGS_DGV2} | awk -F"%" '{print $1}')" PW_DGV2_FILTERING="$(echo ${PW_ADD_SETTINGS_DGV2} | awk -F"%" '{print $1}')"
PW_DGV2_ANTIALIASING="$(echo ${PW_ADD_SETTINGS_DGV2} | awk -F"%" '{print $2}')" PW_DGV2_ANTIALIASING="$(echo ${PW_ADD_SETTINGS_DGV2} | awk -F"%" '{print $2}')"
edit_db_from_gui $PW_DGV2_LIST PW_DGVOODOO2 PW_DGV2_FILTERING PW_DGV2_ANTIALIASING edit_db_from_gui ${PW_DGV2_LIST} PW_DGVOODOO2 PW_DGV2_FILTERING PW_DGV2_ANTIALIASING
export SKIP_CHECK_UPDATES=1 export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
...@@ -3743,7 +3834,7 @@ fi ...@@ -3743,7 +3834,7 @@ fi
output_yad_gamescope="$("${pw_yad}" --title "GAMESCOPE" --text-align=center --height="350" \ output_yad_gamescope="$("${pw_yad}" --title "GAMESCOPE" --text-align=center --height="350" \
--text "$(eval_gettext "Change settings gamescope for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \ --text "$(eval_gettext "Change settings gamescope for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --form \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --center --form \
--field="$(eval_gettext "Add arguments for GAMESCOPE:")!$(eval_gettext " --field="$(eval_gettext "Add arguments for GAMESCOPE:")!$(eval_gettext "
<b>-W, -H:</b> set the resolution used by gamescope. Resizing the gamescope window will update these settings. Ignored in embedded mode. If -H is specified but -W isn't, a 16:9 aspect ratio is assumed. Defaults to 1280×720. <b>-W, -H:</b> set the resolution used by gamescope. Resizing the gamescope window will update these settings. Ignored in embedded mode. If -H is specified but -W isn't, a 16:9 aspect ratio is assumed. Defaults to 1280×720.
<b>-w, -h:</b> set the resolution used by the game. If -h is specified but -w isn't, a 16:9 aspect ratio is assumed. Defaults to the values specified in -W and -H. <b>-w, -h:</b> set the resolution used by the game. If -h is specified but -w isn't, a 16:9 aspect ratio is assumed. Defaults to the values specified in -W and -H.
...@@ -3798,10 +3889,15 @@ portwine_create_shortcut () { ...@@ -3798,10 +3889,15 @@ portwine_create_shortcut () {
if [[ "$1" == "block_name" ]] ; then if [[ "$1" == "block_name" ]] ; then
export name_desktop="${PORTPROTON_NAME}" export name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form --gui-type=start \ OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form \
--gui-type=settings-shortcut \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--gui-type-box=${SETTINGS_SHORTCUT_GUI_TYPE_BOX} --gui-type-layout=${SETTINGS_SHORTCUT_GUI_TYPE_LAYOUT} \
--gui-type-text=${SETTINGS_SHORTCUT_GUI_TYPE_TEXT} --gui-type-images=${SETTINGS_SHORTCUT_GUI_TYPE_IMAGE} \
--image-halign=center --image-valign=start \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \ --text-align="center" --text "$(eval_gettext "The shortcut will be created in the PortProton directory.")" \
--field=" ${name_desktop}":LBL "" \ --field=" ${name_desktop}":LBL "" \
--field=" $(eval_gettext "Add shortcut to MENU -> GAMES")":CHK "TRUE" \ --field=" $(eval_gettext "Add shortcut to MENU -> GAMES")":CHK "TRUE" \
--field=" $(eval_gettext "Add shortcut to Desktop")":CHK "TRUE" \ --field=" $(eval_gettext "Add shortcut to Desktop")":CHK "TRUE" \
...@@ -3810,10 +3906,15 @@ portwine_create_shortcut () { ...@@ -3810,10 +3906,15 @@ portwine_create_shortcut () {
PW_YAD_OUT=$? PW_YAD_OUT=$?
else else
export name_desktop="${PORTPROTON_NAME}" export name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form --gui-type=start \ OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form \
--gui-type=settings-shortcut \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--gui-type-box=${SETTINGS_SHORTCUT_GUI_TYPE_BOX} --gui-type-layout=${SETTINGS_SHORTCUT_GUI_TYPE_LAYOUT} \
--gui-type-text=${SETTINGS_SHORTCUT_GUI_TYPE_TEXT} --gui-type-images=${SETTINGS_SHORTCUT_GUI_TYPE_IMAGE} \
--image-halign=center --image-valign=start \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \ --text-align="center" --text "$(eval_gettext "The shortcut will be created in the PortProton directory.")" \
--field="$(eval_gettext "Name")" "${name_desktop}" \ --field="$(eval_gettext "Name")" "${name_desktop}" \
--field=" $(eval_gettext "Add shortcut to MENU -> GAMES")":CHK "TRUE" \ --field=" $(eval_gettext "Add shortcut to MENU -> GAMES")":CHK "TRUE" \
--field=" $(eval_gettext "Add shortcut to Desktop")":CHK "TRUE" \ --field=" $(eval_gettext "Add shortcut to Desktop")":CHK "TRUE" \
...@@ -3986,23 +4087,28 @@ pw_prefix_manager () { ...@@ -3986,23 +4087,28 @@ pw_prefix_manager () {
KEY_EDIT_MANAGER_GUI=$RANDOM KEY_EDIT_MANAGER_GUI=$RANDOM
"${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \ "${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \
--gui-type-layout=${WINETRICKS_GUI_TYPE_LAYOUT} --gui-type-text=${WINETRICKS_GUI_TYPE_TEXT} \
--text="$(eval_gettext 'Select components to install in prefix:') <b>\"${PW_PREFIX_NAME}\"</b>, $(eval_gettext 'using wine:') <b>\"${PW_WINE_USE}\"</b>" \ --text="$(eval_gettext 'Select components to install in prefix:') <b>\"${PW_PREFIX_NAME}\"</b>, $(eval_gettext 'using wine:') <b>\"${PW_WINE_USE}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \ "${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \
--gui-type-layout=${WINETRICKS_GUI_TYPE_LAYOUT} --gui-type-text=${WINETRICKS_GUI_TYPE_TEXT} \
--text="$(eval_gettext 'Select fonts to install in prefix:') <b>\"${PW_PREFIX_NAME}\"</b>, $(eval_gettext 'using wine:') <b>\"${PW_WINE_USE}\"</b>" \ --text="$(eval_gettext 'Select fonts to install in prefix:') <b>\"${PW_PREFIX_NAME}\"</b>, $(eval_gettext 'using wine:') <b>\"${PW_WINE_USE}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \ "${pw_yad}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \
--gui-type-layout=${WINETRICKS_GUI_TYPE_LAYOUT} --gui-type-text=${WINETRICKS_GUI_TYPE_TEXT} \
--text="$(eval_gettext 'Change config for prefix:') <b>\"${PW_PREFIX_NAME}\"</b>" \ --text="$(eval_gettext 'Change config for prefix:') <b>\"${PW_PREFIX_NAME}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad}" --key=$KEY_EDIT_MANAGER_GUI --notebook \ "${pw_yad}" --key=$KEY_EDIT_MANAGER_GUI --notebook \
--width=700 --height=700 --expand \ --width=700 --height=700 --expand \
--gui-type=settings-notebook \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext 'PREFIX MANAGER')" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext 'PREFIX MANAGER')" \
--button="$(eval_gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":1 \ --button="$(eval_gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":1 \
--button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":0 \ --button="$(eval_gettext "OK")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":0 \
--tab-pos=bottom \ --tab-pos=top \
--tab="$(eval_gettext 'DLLS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$(eval_gettext 'DLLS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$(eval_gettext 'FONTS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$(eval_gettext 'FONTS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$(eval_gettext 'SETTINGS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" 2>/dev/null --tab="$(eval_gettext 'SETTINGS')"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" 2>/dev/null
......
...@@ -23,6 +23,8 @@ fi ...@@ -23,6 +23,8 @@ fi
export PW_START_PID="$$" export PW_START_PID="$$"
export NO_AT_BRIDGE="1" export NO_AT_BRIDGE="1"
export GDK_BACKEND="x11" export GDK_BACKEND="x11"
export GDK_SCALE=1
export GDK_DPI_SCALE=1
export pw_full_command_line=("$0" $*) export pw_full_command_line=("$0" $*)
MISSING_DESKTOP_FILE=0 MISSING_DESKTOP_FILE=0
...@@ -451,14 +453,19 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -451,14 +453,19 @@ if [[ -f "${portwine_exe}" ]] ; then
export KEY_START="$RANDOM" export KEY_START="$RANDOM"
if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then if [[ "${PW_GUI_START}" == "NOTEBOOK" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" --gui-type=${START_GUI_TYPE_NOTEBOOK} \ "${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" \
--gui-type=${START_GUI_TYPE_NOTEBOOK} \
--gui-type-box=${START_GUI_TYPE_BOX} --gui-type-layout=${START_GUI_TYPE_LAYOUT_UP} \
--gui-type-text=${START_GUI_TYPE_TEXT} --gui-type-images=${START_GUI_TYPE_IMAGE} \
--image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB" \ --image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB" \
--image-halign=${START_IMAGE_HALIGN} --image-valign=${START_IMAGE_VALIGN} \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
"${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="${START_GUI_NOTEBOOK_COLUMNS}" --align-buttons --homogeneous-column \ "${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="${START_GUI_NOTEBOOK_COLUMNS}" --align-buttons --homogeneous-column \
--gui-type-layout=${START_GUI_TYPE_LAYOUT_NOTEBOOK} \
--field=" $(eval_gettext "Base settings")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":"FBTN" '@bash -c "button_click_start 118"' \ --field=" $(eval_gettext "Base settings")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":"FBTN" '@bash -c "button_click_start 118"' \
--field=" vkBasalt"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \ --field=" vkBasalt"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \
--field=" MangoHud"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)")":"FBTN" '@bash -c "button_click_start 122"' \ --field=" MangoHud"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)")":"FBTN" '@bash -c "button_click_start 122"' \
...@@ -476,6 +483,8 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -476,6 +483,8 @@ if [[ -f "${portwine_exe}" ]] ; then
fi fi
"${pw_yad}" --key=$KEY_START --notebook --active-tab=${TAB_START} \ "${pw_yad}" --key=$KEY_START --notebook --active-tab=${TAB_START} \
--gui-type=settings-notebook \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--width="${PW_START_SIZE_W}" --tab-pos="${PW_TAB_POSITON}" --center \ --width="${PW_START_SIZE_W}" --tab-pos="${PW_TAB_POSITON}" --center \
--title "PortProton-${install_ver} (${scripts_install_ver})" --expand \ --title "PortProton-${install_ver} (${scripts_install_ver})" --expand \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
...@@ -487,7 +496,7 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -487,7 +496,7 @@ if [[ -f "${portwine_exe}" ]] ; then
PW_YAD_SET="$?" PW_YAD_SET="$?"
if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
if [[ $(<"${PORT_WINE_TMP_PATH}//tmp_yad_form") != "" ]]; then if [[ $(<"${PORT_WINE_TMP_PATH}/tmp_yad_form") != "" ]]; then
PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}') PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}')
export PW_YAD_SET export PW_YAD_SET
export PW_YAD_FORM_TAB="1" export PW_YAD_FORM_TAB="1"
...@@ -495,14 +504,19 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -495,14 +504,19 @@ if [[ -f "${portwine_exe}" ]] ; then
pw_yad_form_vulkan pw_yad_form_vulkan
elif [[ "${PW_GUI_START}" == "PANED" ]] ; then elif [[ "${PW_GUI_START}" == "PANED" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" --gui-type=${START_GUI_TYPE_PANED} \ "${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" \
--gui-type=${START_GUI_TYPE_PANED} \
--gui-type-box=${START_GUI_TYPE_BOX} --gui-type-layout=${START_GUI_TYPE_LAYOUT_UP} \
--gui-type-text=${START_GUI_TYPE_TEXT} --gui-type-images=${START_GUI_TYPE_IMAGE} \
--image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB" \ --image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB" \
--image-halign=${START_IMAGE_HALIGN} --image-valign=${START_IMAGE_VALIGN} \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null & 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
"${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="${START_GUI_PANED_COLUMNS}" \ "${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="${START_GUI_PANED_COLUMNS}" \
--gui-type-layout=${START_GUI_TYPE_LAYOUT_PANED} \
--align-buttons --homogeneous-row --homogeneous-column \ --align-buttons --homogeneous-row --homogeneous-column \
--field=" $(eval_gettext "Base settings")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":"FBTN" '@bash -c "button_click_start 118"' \ --field=" $(eval_gettext "Base settings")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":"FBTN" '@bash -c "button_click_start 118"' \
--field=" vkBasalt"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \ --field=" vkBasalt"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \
...@@ -512,6 +526,8 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -512,6 +526,8 @@ if [[ -f "${portwine_exe}" ]] ; then
2>/dev/null & 2>/dev/null &
"${pw_yad}" --key=$KEY_START --paned --center \ "${pw_yad}" --key=$KEY_START --paned --center \
--gui-type=settings-paned \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--width="${PW_START_SIZE_W}" --tab-pos="${PW_TAB_POSITON}" \ --width="${PW_START_SIZE_W}" --tab-pos="${PW_TAB_POSITON}" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
...@@ -563,10 +579,12 @@ else ...@@ -563,10 +579,12 @@ else
IFS="$orig_IFS" IFS="$orig_IFS"
old_IFS=$IFS && IFS="%" old_IFS=$IFS && IFS="%"
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[4]}" --form --columns="$MAIN_GUI_COLUMNS" --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[4]}" --form --columns="$MAIN_GUI_COLUMNS" --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
--align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null & --align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS" IFS="$orig_IFS"
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
--field=" $(eval_gettext "Reinstall PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \ --field=" $(eval_gettext "Reinstall PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \
--field=" $(eval_gettext "Remove PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \ --field=" $(eval_gettext "Remove PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \
--field=" $(eval_gettext "Update PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \ --field=" $(eval_gettext "Update PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \
...@@ -581,6 +599,7 @@ else ...@@ -581,6 +599,7 @@ else
2>/dev/null & 2>/dev/null &
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[2]}" --form --columns=3 --align-buttons --separator=";" \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[2]}" --form --columns=3 --align-buttons --separator=";" \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
--field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
...@@ -595,6 +614,7 @@ else ...@@ -595,6 +614,7 @@ else
--field=" $(eval_gettext "Regedit")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine regedit")":"FBTN" '@bash -c "button_click WINEREG"' 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null & --field=" $(eval_gettext "Regedit")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine regedit")":"FBTN" '@bash -c "button_click WINEREG"' 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[1]}" --form --columns="$MAIN_GUI_COLUMNS" --align-buttons --scroll --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[1]}" --form --columns="$MAIN_GUI_COLUMNS" --align-buttons --scroll --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"$(eval_gettext "Emulator for Nintendo game consoles with high compatibility")":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \ --field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"$(eval_gettext "Emulator for Nintendo game consoles with high compatibility")":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
--field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"$(eval_gettext "Multi-arcade emulator that allows you to play old arcade games")":"FBTN" '@bash -c "button_click PW_MAME"' \ --field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"$(eval_gettext "Multi-arcade emulator that allows you to play old arcade games")":"FBTN" '@bash -c "button_click PW_MAME"' \
--field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"$(eval_gettext "Multi-platform frontend for emulators with extensive settings")":"FBTN" '@bash -c "button_click PW_RETROARCH"' \ --field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"$(eval_gettext "Multi-platform frontend for emulators with extensive settings")":"FBTN" '@bash -c "button_click PW_RETROARCH"' \
...@@ -611,6 +631,7 @@ else ...@@ -611,6 +631,7 @@ else
--field=" Demul"!"$PW_GUI_ICON_PATH/demul.png"!"$(eval_gettext "Emulator for the Sega Dreamcast game console")":"FBTN" '@bash -c "button_click PW_DEMUL"' 2>/dev/null & --field=" Demul"!"$PW_GUI_ICON_PATH/demul.png"!"$(eval_gettext "Emulator for the Sega Dreamcast game console")":"FBTN" '@bash -c "button_click PW_DEMUL"' 2>/dev/null &
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[0]}" --form --columns="$MAIN_GUI_COLUMNS" --align-buttons --scroll --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[0]}" --form --columns="$MAIN_GUI_COLUMNS" --align-buttons --scroll --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
--field=" Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \ --field=" Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \
--field=" vkPlay Games Center"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_VKPLAY"' \ --field=" vkPlay Games Center"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_VKPLAY"' \
--field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \ --field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \
...@@ -658,6 +679,8 @@ else ...@@ -658,6 +679,8 @@ else
if [[ -z "${PW_ALL_DF}" ]] ; then if [[ -z "${PW_ALL_DF}" ]] ; then
"${pw_yad}" --key=$KEY --notebook --expand \ "${pw_yad}" --key=$KEY --notebook --expand \
--gui-type=settings-notebook \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \ --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
...@@ -670,6 +693,8 @@ else ...@@ -670,6 +693,8 @@ else
YAD_STATUS="$?" YAD_STATUS="$?"
else else
"${pw_yad}" --key=$KEY --notebook --expand \ "${pw_yad}" --key=$KEY --notebook --expand \
--gui-type=settings-notebook \
--gui-type-height=${SETTINGS_GUI_TYPE_H} --gui-type-width=${SETTINGS_GUI_TYPE_W} \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \ --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2306 #SCRIPTS_NEXT_VERSION=2307
######################################################################## ########################################################################
export LANGUAGES_LIST="ru es" export LANGUAGES_LIST="ru es"
export PW_MANGOHUD="0" export PW_MANGOHUD="0"
......
...@@ -30,6 +30,49 @@ export START_GUI_NOTEBOOK_COLUMNS=3 ...@@ -30,6 +30,49 @@ export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_PANED_COLUMNS=3 export START_GUI_PANED_COLUMNS=3
export START_GUI_TYPE_NOTEBOOK=start-old export START_GUI_TYPE_NOTEBOOK=start-old
export START_GUI_TYPE_PANED=start-old export START_GUI_TYPE_PANED=start-old
export START_IMAGE_HALIGN=center
export START_IMAGE_VALIGN=start
export SETTINGS_GUI_TYPE_H=5
export SETTINGS_GUI_TYPE_W=5
export START_GUI_TYPE_BOX=5
export START_GUI_TYPE_LAYOUT_UP=5
export START_GUI_TYPE_LAYOUT_PANED=5
export START_GUI_TYPE_LAYOUT_NOTEBOOK=5
export START_GUI_TYPE_TEXT=0
export START_GUI_TYPE_IMAGE=0
export MAIN_MENU_GUI_TYPE_LAYOUT=0
export VKBASALT_GUI_TYPE_LAYOUT_UP=5
export VKBASALT_GUI_TYPE_LAYOUT_DOWN=5
export VKBASALT_GUI_TYPE_TEXT_UP=0
export MANGOHUD_GUI_TYPE_LAYOUT_UP=5
export MANGOHUD_GUI_TYPE_LAYOUT_DOWN=5
export MANGOHUD_GUI_TYPE_TEXT_UP=0
export MANGOHUD_GUI_TYPE_TEXT_DOWN=0
export DGVOODOO2_GUI_TYPE_LAYOUT_UP=5
export DGVOODOO2_GUI_TYPE_LAYOUT_DOWN=5
export DGVOODOO2_GUI_TYPE_TEXT_UP=0
export SETTINGS_BASE_GUI_TYPE_LAYOUT=0
export SETTINGS_BASE_GUI_TYPE_TEXT=0
export WINETRICKS_GUI_TYPE_LAYOUT=5
export WINETRICKS_GUI_TYPE_TEXT=0
export WINE_DOWNLOAD_GUI_TYPE_LAYOUT=5
export WINE_DOWNLOAD_GUI_TYPE_TEXT=0
export SETTINGS_SHORTCUT_GUI_TYPE_BOX=5
export SETTINGS_SHORTCUT_GUI_TYPE_LAYOUT=5
export SETTINGS_SHORTCUT_GUI_TYPE_TEXT=0
export SETTINGS_SHORTCUT_GUI_TYPE_IMAGE=0
export YAD_INFO_GUI_TYPE_LAYOUT=5
export PROGRESS_BAR_BORDERS_SIZE=20 export PROGRESS_BAR_BORDERS_SIZE=20
export PROGRESS_BAR_WIDTH_SIZE=500 export PROGRESS_BAR_WIDTH_SIZE=500
#!/usr/bin/env bash
# export GTK_DEBUG=interactive
export THEME_NAME=compact-old
export THEME_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME"
export COVERS_PATH="$PW_GUI_THEMES_PATH/classic"
export YAD_OPTIONS="--css=$THEME_PATH/style.css \
--borders=3 \
--tab-borders=0 \
--keep-icon-size \
--buttons-layout=expand \
--class=PortProton \
--center \
"
export THEME_CHKBOX=SW
export CHKBOX_SPACE=" "
export BUTTON_SIZE_MM=32 # 24, 28, 32, 36, 40
export BUTTON_SIZE=32 # 24, 28, 32, 36, 40
export TAB_SIZE=32 # 24, 28, 32, 36, 40
export PW_MAIN_SIZE_W=1
export PW_MAIN_SIZE_H=350
export PW_START_SIZE_W=1
export PW_START_SIZE_H=350
export PW_START_TAB_POSITON=top
export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_PANED_COLUMNS=3
export START_GUI_TYPE_NOTEBOOK=start-old
export START_GUI_TYPE_PANED=start-old
export PROGRESS_BAR_BORDERS_SIZE=20
export PROGRESS_BAR_WIDTH_SIZE=500
arrow {margin: 0px 5px}
window>box>image {margin: 15px 10px 0px 5px}
box>box>label {margin: 1px 0px 0px 0px}
switch {margin: 5px 20px 0px 20px}
box>grid>switch>slider {min-height: 0px; min-width: 22px}
scale>contents>trough>slider {min-height: 24px; min-width: 24px}
box>box>grid>label {margin: 0px 10px 0px 0px}
separator {margin: 0px 0px 0px 0px; background-size:0px}
window>box>box>box>image {margin: 5px 5px 0px 10px}
check {min-height: 24px; min-width: 24px}
box>grid>entry {margin: 0px 10px 0px 0px}
checkbutton {margin: 0px 10px 0px 0px}
buttonbox {margin: 10px 0px 0px 0px}
window>box>grid>label {margin: 0px 0px 0px 10px}
...@@ -30,10 +30,54 @@ export PW_START_SIZE_H=350 ...@@ -30,10 +30,54 @@ export PW_START_SIZE_H=350
export PW_START_TAB_POSITON=top export PW_START_TAB_POSITON=top
export MAIN_GUI_COLUMNS=3 export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3 export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_PANED_COLUMNS=3 export START_GUI_PANED_COLUMNS=3
export START_GUI_TYPE_NOTEBOOK=start export START_GUI_TYPE_NOTEBOOK=start
export START_GUI_TYPE_PANED=start export START_GUI_TYPE_PANED=start
export START_IMAGE_HALIGN=center
export START_IMAGE_VALIGN=end
export SETTINGS_GUI_TYPE_H=50
export SETTINGS_GUI_TYPE_W=50
export START_GUI_TYPE_BOX=50
export START_GUI_TYPE_LAYOUT_UP=50
export START_GUI_TYPE_LAYOUT_PANED=50
export START_GUI_TYPE_LAYOUT_NOTEBOOK=5
export START_GUI_TYPE_TEXT=50
export START_GUI_TYPE_IMAGE=50
export MAIN_MENU_GUI_TYPE_LAYOUT=0
export VKBASALT_GUI_TYPE_LAYOUT_UP=50
export VKBASALT_GUI_TYPE_LAYOUT_DOWN=50
export VKBASALT_GUI_TYPE_TEXT_UP=50
export MANGOHUD_GUI_TYPE_LAYOUT_UP=5
export MANGOHUD_GUI_TYPE_LAYOUT_DOWN=5
export MANGOHUD_GUI_TYPE_TEXT_UP=2
export MANGOHUD_GUI_TYPE_TEXT_DOWN=2
export DGVOODOO2_GUI_TYPE_LAYOUT_UP=5
export DGVOODOO2_GUI_TYPE_LAYOUT_DOWN=5
export DGVOODOO2_GUI_TYPE_TEXT_UP=2
export SETTINGS_BASE_GUI_TYPE_LAYOUT=0
export SETTINGS_BASE_GUI_TYPE_TEXT=2
export WINETRICKS_GUI_TYPE_LAYOUT=5
export WINETRICKS_GUI_TYPE_TEXT=2
export WINE_DOWNLOAD_GUI_TYPE_LAYOUT=5
export WINE_DOWNLOAD_GUI_TYPE_TEXT=2
export SETTINGS_SHORTCUT_GUI_TYPE_BOX=5
export SETTINGS_SHORTCUT_GUI_TYPE_LAYOUT=5
export SETTINGS_SHORTCUT_GUI_TYPE_TEXT=2
export SETTINGS_SHORTCUT_GUI_TYPE_IMAGE=2
export YAD_INFO_GUI_TYPE_LAYOUT=5
export PROGRESS_BAR_BORDERS_SIZE=20 export PROGRESS_BAR_BORDERS_SIZE=20
export PROGRESS_BAR_WIDTH_SIZE=500 export PROGRESS_BAR_WIDTH_SIZE=500
arrow {margin: 0px 5px} arrow {margin: 3px 5px} /*выравнивание стрелок комбобоксов*/
window>box>buttonbox {margin: -5px 0px 0px 0px} /*кнопки запуска*/
window>box>box>image {margin: -10px 5px 5px 5px} /*иконка запуска ярлыка*/
window>box>label {background: #09bec8; color: #000000; margin:3px 0px 10px 0px; padding: 5px} /*текст запуска ярлыка*/
separator {margin: 0px 0px 0px 0px; background-size:0px} /*скрываем сепаратор*/
window>box>grid {margin: 0px 0px 10px 0px} /*отступ снизу для слайдера от нижних кнопок в окне vkBasalt*/
check {min-height: 24px; min-width: 24px} /*увеличиваем чекбоксы*/
window>box>box>box>image {margin: 15px 10px 0px 5px} /*иконка в создании ярлыка*/ window>box>box>box>image {margin: 15px 10px 0px 5px} /*иконка в создании ярлыка*/
box>box>label {margin: 1px 0px 0px 0px} window>box>box>grid {margin: 0px 5px 0px 0px} /*отступ справа для комбобоксов*/
switch {margin: 5px 20px 0px 20px} cellview,entry {min-height: 26px} /*высота комбобоксов, т.к. некоторые темы их делают меньше и вёрстка съезжает*/
box>grid>switch>slider {min-height: 0px; min-width: 22px} switch {margin: 7px 10px 0px 20px} /*переключатели mangohud и т.д. (в дефолтных темах gtk отступы необходимы. В то время как в некоторых темах выглядит больше, чем нужно. Пример qogir)*/
scale>contents>trough>slider {min-height: 24px; min-width: 24px}
box>box>grid>label {margin: 0px 10px 0px 0px} window>box>box>label {background: #09bec8; color: #000000; margin:3px 0px 0px 0px; padding: 50px} /*текст при создании ярлыка и в настройках*/
separator {margin: 0px 0px 0px 0px; background-size:0px}
window>box>box>image {margin: -10px 5px 0px 5px} /*иконка запуска ярлыка*/
window>box>label {margin:5px 0px 10px 0px} /*текст запуска ярлыка*/
check {min-height: 24px; min-width: 24px}
box>grid>entry {margin: 0px 10px 0px 0px}
checkbutton {margin: 0px 10px 0px 0px}
buttonbox {margin: 10px 0px 0px 0px}
window>box>grid>label {margin: 0px 0px 0px 10px}
...@@ -39,10 +39,65 @@ export PW_TAB_POSITON=top ...@@ -39,10 +39,65 @@ export PW_TAB_POSITON=top
# количество столбцов в главном меню # количество столбцов в главном меню
export MAIN_GUI_COLUMNS=3 export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_PANED_COLUMNS=3 export START_GUI_NOTEBOOK_COLUMNS=3 # количество слолбцов для настроек в notebook
export START_GUI_TYPE_NOTEBOOK=start-old export START_GUI_PANED_COLUMNS=3 # количество слолбцов для настроек в paned
export START_GUI_TYPE_PANED=start-old export START_GUI_TYPE_NOTEBOOK=start-old # тип представления окна где находится картинка для notebook
export START_GUI_TYPE_PANED=start-old # тип представления окна где находится картинка для paned
export START_IMAGE_HALIGN=center # GtkAlign для картинки по горизонтали
export START_IMAGE_VALIGN=start # GtkAlign для картинки по вертикали
# для всех настроек и меню (глобально)
export SETTINGS_GUI_TYPE_H=5 # отступы по высоте
export SETTINGS_GUI_TYPE_W=5 # отступы по ширине
# для окна запуска приложения
export START_GUI_TYPE_BOX=5 # значение для box
export START_GUI_TYPE_LAYOUT_UP=5 # значение для layout вверху (для notebook 1 вкладка)
export START_GUI_TYPE_LAYOUT_PANED=5 # значение для layout внизу для paned
export START_GUI_TYPE_LAYOUT_NOTEBOOK=5 # значение для layout в notebook 2 вкладка
export START_GUI_TYPE_TEXT=2 # значение для text
export START_GUI_TYPE_IMAGE=2 # значение для images
# для основного меню
export MAIN_MENU_GUI_TYPE_LAYOUT=0
# для vkbasalt
export VKBASALT_GUI_TYPE_LAYOUT_UP=5
export VKBASALT_GUI_TYPE_LAYOUT_DOWN=5
export VKBASALT_GUI_TYPE_TEXT_UP=2
# для mangohud
export MANGOHUD_GUI_TYPE_LAYOUT_UP=5
export MANGOHUD_GUI_TYPE_LAYOUT_DOWN=5
export MANGOHUD_GUI_TYPE_TEXT_UP=2
export MANGOHUD_GUI_TYPE_TEXT_DOWN=2
# для dgvoodoo2
export DGVOODOO2_GUI_TYPE_LAYOUT_UP=5
export DGVOODOO2_GUI_TYPE_LAYOUT_DOWN=5
export DGVOODOO2_GUI_TYPE_TEXT_UP=2
# для основных настроек
export SETTINGS_BASE_GUI_TYPE_LAYOUT=0
export SETTINGS_BASE_GUI_TYPE_TEXT=2
# для окна winetricks
export WINETRICKS_GUI_TYPE_LAYOUT=5
export WINETRICKS_GUI_TYPE_TEXT=2
# для окна скачивания версий wine
export WINE_DOWNLOAD_GUI_TYPE_LAYOUT=5
export WINE_DOWNLOAD_GUI_TYPE_TEXT=2
# для создания ярлыков
export SETTINGS_SHORTCUT_GUI_TYPE_BOX=5
export SETTINGS_SHORTCUT_GUI_TYPE_LAYOUT=5
export SETTINGS_SHORTCUT_GUI_TYPE_TEXT=2
export SETTINGS_SHORTCUT_GUI_TYPE_IMAGE=2
# для всплывающих окон по типу error, info, question
export YAD_INFO_GUI_TYPE_LAYOUT=5
# настройки индикатора прогресса # настройки индикатора прогресса
export PROGRESS_BAR_BORDERS_SIZE=20 export PROGRESS_BAR_BORDERS_SIZE=20
......
...@@ -10,3 +10,6 @@ window>box>box>image {margin: 5px 5px 0px 5px} ...@@ -10,3 +10,6 @@ window>box>box>image {margin: 5px 5px 0px 5px}
check {padding: 3px} check {padding: 3px}
box>grid>entry {margin: 0px 10px 0px 0px} box>grid>entry {margin: 0px 10px 0px 0px}
checkbutton {margin: 0px 10px 0px 0px} checkbutton {margin: 0px 10px 0px 0px}
window>box>box>box>image {margin: -10px 5px 5px 5px} /*иконка при создании ярлыка*/
window>box>box>label {margin:3px 0px 0px 0px; padding: 5px} /*текст при создании ярлыка и в настройках*/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment