Compare commits

...

7 Commits

Author SHA1 Message Date
Mikhail Tergoev
e2f1476d90 gui_edit_db lock and disabled lsfg if libc 2.37-
GLIBC version 2.38+ is required for use Lossless Scaling frame generation
2025-07-25 12:32:05 +03:00
Mikhail Tergoev
ccd9b166d1 do not force change mirror to github for devel 2025-07-25 12:20:44 +03:00
Mikhail Tergoev
4e18752e5c Merge branch 'Htylol-fixes_for_3d_api_1' into devel 2025-07-25 12:07:30 +03:00
Mikhail Tergoev
0a277c430e Merge branch 'fixes_for_3d_api_1' of github.com:Htylol/PortWINE into Htylol-fixes_for_3d_api_1 2025-07-25 12:07:21 +03:00
Mikhail Tergoev
4b72da7abf Merge branch 'Htylol-update_start_sh_1' into devel 2025-07-25 11:59:44 +03:00
90df03eec7 3D api: fixed stable and newest work, libvkd3d is always used from new versions 2025-07-25 11:41:56 +05:00
f67d2c27f4 start.sh: Optimized and removed unnecessary code 2025-07-25 00:27:14 +05:00
2 changed files with 80 additions and 105 deletions

View File

@@ -3768,8 +3768,6 @@ fi
# WINED3D OPENGL
print_info "Use WINED3D OpenGL"
unset PW_VKBASALT PW_USE_GALLIUM_ZINK PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
;;
1)
@@ -3785,27 +3783,27 @@ fi
fi
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_SAREK_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
CP_VKD3D_FILES="d3d12 libvkd3d-1 libvkd3d-shader-1"
CP_VKD3D_FILES="d3d12"
CP_WINE_FILES="d3d12core d3d10_1 d3d10"
;;
2)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_NEW_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_NEW_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10"
;;
6)
# STABLE DXVK AND VKD3D
print_info "DXVK v.${DXVK_OLD_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_OLD_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_OLD_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_OLD_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_VKD3D_FILES="d3d12 d3d12core"
CP_WINE_FILES="d3d10_1 d3d10"
;;
6)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_NEW_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_NEW_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
CP_VKD3D_FILES="d3d12 d3d12core"
CP_WINE_FILES="d3d10_1 d3d10"
;;
esac
@@ -3816,8 +3814,6 @@ fi
|| [[ $PW_USE_GALLIUM_ZINK == "1" ]] \
|| [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
unset PATH_TO_DXVK_FILES CP_DXVK_FILES PW_USE_SUPPLIED_DXVK_VKD3D
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
fi
@@ -3878,14 +3874,13 @@ fi
else add_to_var CP_WINE_FILES "d3d8"
fi
fi
if [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12core.dll" && -f "${WINEDIR}/lib64/vkd3d/libvkd3d-1.dll" ]] \
|| [[ -f "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/d3d12core.dll" && -f "${WINEDIR}/lib/vkd3d/x86_64-windows/libvkd3d-1.dll" ]] ; then
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
elif [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12.dll" && -f "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" ]] ; then
CP_VKD3D_FILES="d3d12 libvkd3d-1 libvkd3d-shader-1"
if [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12core.dll" ]] \
|| [[ -f "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/d3d12core.dll" ]] ; then
CP_VKD3D_FILES="d3d12 d3d12core"
elif [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12.dll" ]] ; then
CP_VKD3D_FILES="d3d12"
add_to_var CP_WINE_FILES "d3d12core"
else
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
add_to_var CP_WINE_FILES "d3d12 d3d12core"
fi
[[ -f "${WINEDIR}/lib/wine/dxvk/x86_64-windows/d3d9.dll" ]] && PW_USE_SUPPLIED_DXVK_VKD3D="2"
@@ -4182,30 +4177,29 @@ fi
if [[ $wine_vkd3d_dll =~ d3d12 ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/i386-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi
if [[ $wine_vkd3d_dll =~ libvkd3d ]] ; then
try_force_link_file "${WINEDIR}/lib/vkd3d/i386-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib/vkd3d/x86_64-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi ;;
1)
if [[ $wine_vkd3d_dll =~ d3d12 ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi
if [[ $wine_vkd3d_dll =~ libvkd3d ]] ; then
try_force_link_file "${WINEDIR}/lib/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi ;;
0)
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/${wine_vkd3d_dll}.dll" ;;
esac
[[ ! $wine_vkd3d_dll =~ libvkd3d ]] && var_winedlloverride_update "${wine_vkd3d_dll}=n"
var_winedlloverride_update "${wine_vkd3d_dll}=n"
done
create_new_dir "${PATH_TO_VKD3D_FILES}/vkd3d_cache"
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
fi
# некоторым играм для любых 3D api для правильной работы wined3d необходимо чтобы эти библиотеки всегда были
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}" # используется git версия
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/libvkd3d-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/libvkd3d-1.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/libvkd3d-shader-1.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/libvkd3d-1.dll" "${WINEPREFIX}/drive_c/windows/system32/libvkd3d-1.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/libvkd3d-shader-1.dll"
# GALLIUM NINE
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] && [[ -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] ; then
PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
@@ -5475,6 +5469,11 @@ gui_edit_db () {
esac
[[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_NTSYNC"
if [[ $(ldd --version | head -n 1 | awk '{print $4}') < 2.38 ]] ; then
DISABLE_EDIT_DB_LIST+=" PW_USE_LS_FRAME_GEN"
export PW_USE_LS_FRAME_GEN="0"
PW_USE_LS_FRAME_GEN_INFO=${translations[GLIBC version 2.38+ is required for use Lossless Scaling frame generation]}
fi
unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in "${PW_EDIT_DB_LIST[@]}" ; do
@@ -6524,7 +6523,6 @@ gui_userconf () {
if [[ $BRANCH != "${PW_ADD_SETTINGS_UC[1]}" ]] ; then
if [[ ${PW_ADD_SETTINGS_UC[1]} == "DEVEL" ]] ; then
if yad_question "${translations[Do you actually want to change the scripts version to:]} <b>DEVEL?</b>" ; then
export MIRROR="GITHUB"
pw_notify_send -i info \
"${translations[Branch changed to:]}" "<b>DEVEL</b>"
BRANCH="devel"

View File

@@ -277,14 +277,15 @@ if [[ -z $SORT_WITH_TIME ]] ; then
fi
# TODO:fixes_after_update (со временем можно будет дропнуть)
if fixes_after_update "2395: DESKTOP_WITH_TIME by default displays hours and minutes" ; then
DESKTOP_WITH_TIME="posnumber1"
edit_user_conf_from_gui DESKTOP_WITH_TIME
fi
if fixes_after_update "2398: SORT_WITH_TIME by default sorts from the last run" ; then
SORT_WITH_TIME="lastlaunch"
edit_user_conf_from_gui SORT_WITH_TIME
fi
# Оставил для примера
# if fixes_after_update "2395: DESKTOP_WITH_TIME by default displays hours and minutes" ; then
# DESKTOP_WITH_TIME="posnumber1"
# edit_user_conf_from_gui DESKTOP_WITH_TIME
# fi
# if fixes_after_update "2398: SORT_WITH_TIME by default sorts from the last run" ; then
# SORT_WITH_TIME="lastlaunch"
# edit_user_conf_from_gui SORT_WITH_TIME
# fi
# choose wine dpi default
if [[ -z $PW_WINE_DPI_VALUE ]] ; then
@@ -602,27 +603,32 @@ if [[ -f "$portwine_exe" ]] ; then
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
esac
export KEY_START="$RANDOM"
KEY_START="$RANDOM"
"$pw_yad" --plug=$KEY_START --tabnum="1" --form --separator=";" $START_GUI_TYPE \
--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" \
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
1> "$PW_TMPFS_PATH/tmp_yad_form_vulkan" 2>/dev/null &
if [[ $PW_GUI_START == "NOTEBOOK" ]]
then PW_GUI_START_TABNUM2="--columns=$START_GUI_NOTEBOOK_COLUMNS --gui-type-layout=$START_GUI_TYPE_LAYOUT_NOTEBOOK"
elif [[ $PW_GUI_START == "PANED" ]]
then PW_GUI_START_TABNUM2="--columns=$START_GUI_PANED_COLUMNS --gui-type-layout=$START_GUI_TYPE_LAYOUT_PANED --homogeneous-row"
fi
"$pw_yad" --plug=$KEY_START --tabnum="2" --form --align-buttons --homogeneous-column $PW_GUI_START_TABNUM2 \
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[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!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
2>/dev/null &
if [[ $PW_GUI_START == "NOTEBOOK" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" $START_GUI_TYPE \
--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" \
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
1> "${PW_TMPFS_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 \
--gui-type-layout="$START_GUI_TYPE_LAYOUT_NOTEBOOK" \
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[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!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
2>/dev/null &
if [[ "$PW_YAD_FORM_TAB" == "1" ]] \
&& [[ -n "$TAB_START" ]]
then
@@ -631,53 +637,24 @@ if [[ -f "$portwine_exe" ]] ; then
else
export TAB_START="1"
fi
"${pw_yad}" --key=$KEY_START --notebook --active-tab="$TAB_START" \
--gui-type="settings-notebook" \
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" --expand \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--tab="${translations[GENERAL]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
--button="${PW_SHORTCUT}" \
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
PW_YAD_SET="$?"
export PW_YAD_FORM_TAB="1"
PW_GUI_START_TABNUM3="--notebook --active-tab=$TAB_START --gui-type=settings-notebook --expand"
elif [[ $PW_GUI_START == "PANED" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" $START_GUI_TYPE \
--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" \
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
1> "${PW_TMPFS_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
"${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 \
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[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!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
2>/dev/null &
"${pw_yad}" --key=$KEY_START --paned \
--gui-type="settings-paned" \
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
--button="${PW_SHORTCUT}" \
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
PW_YAD_SET="$?"
PW_GUI_START_TABNUM3="--paned --gui-type=settings-paned"
fi
"$pw_yad" --key=$KEY_START $PW_GUI_START_TABNUM3 \
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--tab="${translations[GENERAL]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
--button="${PW_SHORTCUT}" \
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
PW_YAD_SET="$?"
[[ $PW_GUI_START == "NOTEBOOK" ]] && export PW_YAD_FORM_TAB="1"
case "$PW_YAD_SET" in
128)
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB