diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 56e6bde6f6a5e743c11cd10075ac0a1559bd0a92..a45e34de9019242ea2b047bced917d4368231672 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -1047,8 +1047,8 @@ stop_portwine () {
             print_warning "Removed broken link for: $link_name"
         else
             create_shortcut_from_link
-            if [[ "${SHORTCUT_DUBLICATE}" == "true" ]] ; then
-                print_info "Created link for dublicate: $link_name - $prefix_name [$number_dublication]"
+            if [[ "${SHORTCUT_DUPLICATE}" == "true" ]] ; then
+                print_info "Created link for duplicate: $link_name - $prefix_name [$number_duplication]"
             else
                 print_info "Created link for: $link_name"
             fi
@@ -1361,7 +1361,7 @@ create_shortcut_from_link () {
     try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png"
 
      if [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
-        if command -v exe-thumbnailer &>/dev/null ; then
+        if command -v exe-thumbnailer &>/dev/null && [[ ! $(sestatus | grep "Current mode: *enforcing" &>/dev/null) ]] ; then
             exe-thumbnailer -s 128 "$(readlink -f "${exe_path}")" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
         else
             env PYTHONPATH="${PW_PLUGINS_PATH}/portable/lib/python3.9/site-packages/" \
@@ -1374,26 +1374,48 @@ create_shortcut_from_link () {
     rm -f "${link_file}"
     if [[ -f "${PORT_WINE_PATH}/${PORTPROTON_NAME}.desktop" ]] ; then
         if ! grep -i "${exe_path}" "${PORT_WINE_PATH}/${PORTPROTON_NAME}.desktop" &>/dev/null ; then
-            create_new_dir "${PORT_WINE_PATH}/dublicate"
-            SHORTCUT_DUBLICATE="true"
-            number_dublication="1"
-            if [[ -f "${PORT_WINE_PATH}/dublicate/${PORTPROTON_NAME} - ${prefix_name} [$number_dublication].desktop" ]] ; then
-                number_dublication="$(ls "${PORT_WINE_PATH}/dublicate"/ 2>/dev/null)"
-                number_dublication="${number_dublication//*[/}"
-                number_dublication="${number_dublication//]*/}"
-                if ! grep -i "${exe_path}" "${PORT_WINE_PATH}/dublicate/${PORTPROTON_NAME} - ${prefix_name} [$number_dublication].desktop" &>/dev/null ; then
-                    number_dublication="$(($number_dublication+1))"
+            create_new_dir "${PORT_WINE_PATH}/duplicate"
+            if [[ "$(ls -A "${PORT_WINE_PATH}/duplicate/${PORTPROTON_NAME} - ${prefix_name}"* 2>/dev/null)" ]] ; then
+                if ! grep -i "${exe_path}" "${PORT_WINE_PATH}/duplicate/${PORTPROTON_NAME} - ${prefix_name}"* &>/dev/null ; then
+                    number_duplication="$(ls "${PORT_WINE_PATH}/duplicate"/ 2>/dev/null)"
+                    number_duplication="${number_duplication//${PORTPROTON_NAME} - ${prefix_name}/}"
+                    number_duplication="${number_duplication//].desktop/}"
+                    number_duplication=(${number_duplication//[/})
+                    dup_prev="0"
+                    for dup_num in ${number_duplication[@]} ; do
+                        dup_num_list="$(("$dup_num" - 1))"
+                        if [[ "$dup_num_list" != "$dup_prev" ]] ; then
+                            dup_num_list_new+="$dup_num_list "
+                        fi
+                        dup_prev="$dup_num"
+                    done
+
+                    if [[ -z "$dup_num_list_new" ]] ; then
+                        number_duplication="${dup_prev}"
+                    else
+                        dup_helper="$(echo ${dup_num_list_new} | awk '{print $1}')"
+                        for dup in ${number_duplication[@]} ; do
+                            if (( "$dup_helper" > "$dup" )) ; then
+                                dup_helper_new+="$dup "
+                            fi
+                        done
+                        number_duplication="$(echo ${dup_helper_new} | awk '{print $NF}')"
+                    fi
+                    number_duplication="$(("$number_duplication" + 1))"
                 else
                     exit 0
                 fi
+            else
+                number_duplication="1"
             fi
-            PW_NAME_DESKTOP="${PORT_WINE_PATH}/dublicate/${PORTPROTON_NAME} - ${prefix_name} [$number_dublication].desktop"
+            PW_NAME_DESKTOP="${PORT_WINE_PATH}/duplicate/${PORTPROTON_NAME} - ${prefix_name} [$number_duplication].desktop"
+            SHORTCUT_DUPLICATE="true"
         else
             exit 0
         fi
     else
         PW_NAME_DESKTOP="${PORT_WINE_PATH}/${PORTPROTON_NAME}.desktop"
-        SHORTCUT_DUBLICATE=""
+        SHORTCUT_DUPLICATE=""
     fi
 
     echo "[Desktop Entry]" > "${PW_NAME_DESKTOP}"
@@ -1824,11 +1846,12 @@ pw_find_exe () {
     fi
 }
 
-pw_dublicate () {
+pw_duplicate () {
+    export USE_DUPLICATE_GUI="1"
     orig_IFS="$IFS" && IFS=$'\n'
-    PW_DUBLICATE="$(ls "${PORT_WINE_PATH}"/dublicate/ | grep .desktop)"
-    for PW_DUBLICATE_FILES_D in ${PW_DUBLICATE} ; do
-        PW_NAME_D_ICON_D="$(grep Icon "${PORT_WINE_PATH}/dublicate/${PW_DUBLICATE_FILES_D}" | awk -F= '{print $2}')"
+    PW_DESKTOP_D="$(ls "${PORT_WINE_PATH}"/duplicate/ | grep .desktop)"
+    for PW_DESKTOP_FILES_D in ${PW_DESKTOP_D} ; do
+        PW_NAME_D_ICON_D="$(grep Icon "${PORT_WINE_PATH}/duplicate/${PW_DESKTOP_FILES_D}" | awk -F= '{print $2}')"
         PW_NAME_D_ICON_48_D="${PW_NAME_D_ICON_D//".png"/"_48.png"}"
         if [[ ! -f "${PW_NAME_D_ICON_48_D}" ]]  \
         && [[ -f "${PW_NAME_D_ICON_D}" ]] \
@@ -1836,31 +1859,27 @@ pw_dublicate () {
         then
             convert "${PW_NAME_D_ICON_D}" -resize 48x48 "${PW_NAME_D_ICON_48_D}"
         fi
-        PW_DUBLICATE_HELPER_D="${PW_DUBLICATE_FILES_D// /@_@}"
-        PW_GENERATE_BUTTONS_D+="--field=   ${PW_DUBLICATE_FILES_D//".desktop"/""}!${PW_NAME_D_ICON_48_D}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DUBLICATE_HELPER_D}"\"%"
+        PW_DESKTOP_HELPER_D="${PW_DESKTOP_FILES_D// /@_@}"
+        PW_GENERATE_BUTTONS_D+="--field=   ${PW_DESKTOP_FILES_D//".desktop"/""}!${PW_NAME_D_ICON_48_D}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DESKTOP_HELPER_D}"\"%"
     done
-
-    export USE_DUBLICATE_GUI="1"
-
     IFS="$orig_IFS"
+
     old_IFS=$IFS && IFS="%"
-    GUI_DUBLICATE="$("${pw_yad}" --width="${PW_DUBLICATE_SIZE_W}" --height="${PW_DUBLICATE_SIZE_H}" \
+    PW_DUPLICATE_GUI="$("${pw_yad}" --width="${PW_DUPLICATE_SIZE_W}" --height="${PW_DUPLICATE_SIZE_H}" \
     --columns="$MAIN_GUI_COLUMNS" --homogeneous-column --form \
     --gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \
     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
     --title "PortProton-${install_ver} (${scripts_install_ver}${BRANCH_VERSION})" \
     --align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS_D} 2>/dev/null)"
-    YAD_STATUS="$?"
     IFS="$orig_IFS"
+    YAD_STATUS="$?"
 
-    if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
-        exit 0
-    fi
+    if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
 
     pw_yad_set_form
-    [[ ! -z "$PW_YAD_SET" ]] && case "$PW_YAD_SET" in
-    *.desktop) run_desktop_b_click ;;
-    esac
+    if [[ "$PW_YAD_SET" == *.desktop ]] ; then
+        run_desktop_b_click
+    fi
 }
 
 pw_create_unique_exe () {
@@ -4791,6 +4810,7 @@ portwine_create_shortcut () {
 portwine_delete_shortcut () {
     rm -f "$(grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop)" &>/dev/null
     rm -f "$(grep -il "${portwine_exe}" "${PORT_WINE_PATH}"/*.desktop)" &>/dev/null
+    rm -f "$(grep -il "${portwine_exe}" "${PORT_WINE_PATH}/duplicate"/*.desktop)" &>/dev/null
     # rm -f "$(grep -il "${portwine_exe}" "${STEAM_SCRIPTS}"/*.sh)" &>/dev/null
     if [[ -d "${HOME}/Desktop" ]] ; then
         rm -f "$(grep -il "${portwine_exe}" "${HOME}/Desktop"/*.desktop)" &>/dev/null
@@ -5206,13 +5226,13 @@ export -f button_click_start
 
 run_desktop_b_click () {
     [[ ! -z "$1" ]] && echo "$1" > "${PW_TMPFS_PATH}/tmp_yad_form"
-    if [[ "${USE_DUBLICATE_GUI}" == "1" ]] ; then
+    if [[ "${USE_DUPLICATE_GUI}" == "1" ]] ; then
         if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_gui_pp) ]] ; then
-            kill -s SIGUSR1 $(pgrep -a yad | grep "\--width="${PW_DUBLICATE_SIZE_W}" \--height="${PW_DUBLICATE_SIZE_H}"" | awk '{print $1}') > /dev/null 2>&1
+            kill -s SIGUSR1 $(pgrep -a yad | grep "\--width="${PW_DUPLICATE_SIZE_W}" \--height="${PW_DUPLICATE_SIZE_H}"" | awk '{print $1}') > /dev/null 2>&1
         fi
         if check_flatpak
-        then PW_EXEC_FROM_DESKTOP="$(grep Exec "${PORT_WINE_PATH}/dublicate/${PW_YAD_SET//@_@/ }" | head -n 1 | sed 's|flatpak run ru.linux_gaming.PortProton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')"
-        else PW_EXEC_FROM_DESKTOP="$(grep Exec "${PORT_WINE_PATH}/dublicate/${PW_YAD_SET//@_@/ }" | head -n 1 | awk -F"=env " '{print $2}')"
+        then PW_EXEC_FROM_DESKTOP="$(grep Exec "${PORT_WINE_PATH}/duplicate/${PW_YAD_SET//@_@/ }" | head -n 1 | sed 's|flatpak run ru.linux_gaming.PortProton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')"
+        else PW_EXEC_FROM_DESKTOP="$(grep Exec "${PORT_WINE_PATH}/duplicate/${PW_YAD_SET//@_@/ }" | head -n 1 | awk -F"=env " '{print $2}')"
         fi
     else
         if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_gui_pp) ]] ; then
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index c7d717da310ba06e1dacc51e5e0b43b9321d123b..37cd44d2c831e39bdb3df8cc90d97246c2710457 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -87,7 +87,7 @@ unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_T
 unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
 unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
 unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
-unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR USE_DUBLICATE_GUI
+unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR USE_DUPLICATE_GUI
 
 export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
 rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
@@ -629,8 +629,8 @@ else
     else PW_GUI_SORT_TABS=(2 3 4 5 1)
     fi
     PW_GENERATE_BUTTONS="--field=   $(gettext "Create shortcut...")!${PW_GUI_ICON_PATH}/find_48.svg!:FBTN%@bash -c \"button_click pw_find_exe\"%"
-    if grep -i "[Desktop Entry]" "${PORT_WINE_PATH}/dublicate"/* &>/dev/null ; then
-        PW_GENERATE_BUTTONS+="--field=   $(gettext "Dublicate")!${PW_GUI_ICON_PATH}/find_48.svg!:FBTN%@bash -c \"button_click pw_dublicate\"%"
+    if grep -i "[Desktop Entry]" "${PORT_WINE_PATH}/duplicate"/* &>/dev/null ; then
+        PW_GENERATE_BUTTONS+="--field=   $(gettext "Duplicates")!${PW_GUI_ICON_PATH}/find_48.svg!:FBTN%@bash -c \"button_click pw_duplicate\"%"
     fi
     for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do
         PW_NAME_D_ICON="$(grep Icon "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F= '{print $2}')"
@@ -840,7 +840,7 @@ fi
     gui_credits) gui_credits ;;
     pw_start_cont_xterm) pw_start_cont_xterm ;;
     pw_find_exe) pw_find_exe ;;
-    pw_dublicate) pw_dublicate ;;
+    pw_duplicate) pw_duplicate ;;
     PW_*) pw_autoinstall_from_db ;;
     *.desktop) run_desktop_b_click ;;
     1|252|*) exit 0 ;;
diff --git a/data_from_portwine/themes/classic.pptheme b/data_from_portwine/themes/classic.pptheme
index 67eeb32577ede29a434f70f03d29320b71460481..93af8e2a0b921b15c962d9fa1272c6e5f44b9915 100755
--- a/data_from_portwine/themes/classic.pptheme
+++ b/data_from_portwine/themes/classic.pptheme
@@ -23,8 +23,8 @@ export TAB_SIZE=28
 export PW_MAIN_SIZE_W=1100
 export PW_MAIN_SIZE_H=350
 
-export PW_DUBLICATE_SIZE_W=800
-export PW_DUBLICATE_SIZE_H=350
+export PW_DUPLICATE_SIZE_W=1100
+export PW_DUPLICATE_SIZE_H=350
 
 export PW_START_SIZE_W=600
 export PW_START_SIZE_H=350
diff --git a/data_from_portwine/themes/compact.pptheme b/data_from_portwine/themes/compact.pptheme
index a0349ba08e50ca36d97c3065ea35cbcfbb291ba6..6638dda1fa358d5f9d124583f143be41be53b9ff 100755
--- a/data_from_portwine/themes/compact.pptheme
+++ b/data_from_portwine/themes/compact.pptheme
@@ -27,8 +27,8 @@ export TAB_SIZE=32 # 24, 28, 32, 36, 40
 export PW_MAIN_SIZE_W=500
 export PW_MAIN_SIZE_H=350
 
-export PW_DUBLICATE_SIZE_W=800
-export PW_DUBLICATE_SIZE_H=350
+export PW_DUPLICATE_SIZE_W=1000
+export PW_DUPLICATE_SIZE_H=350
 
 export PW_START_SIZE_W=500
 export PW_START_SIZE_H=350
diff --git a/data_from_portwine/themes/default.pptheme b/data_from_portwine/themes/default.pptheme
index 14b04849d39c04c166a362241e4573462beefc53..b1c61c614907f54f19ee2e020886399e2e467154 100755
--- a/data_from_portwine/themes/default.pptheme
+++ b/data_from_portwine/themes/default.pptheme
@@ -35,8 +35,8 @@ export PW_MAIN_SIZE_W=500
 export PW_MAIN_SIZE_H=330
 
 # размер окна для дубликатов
-export PW_DUBLICATE_SIZE_W=800
-export PW_DUBLICATE_SIZE_H=330
+export PW_DUPLICATE_SIZE_W=1000
+export PW_DUPLICATE_SIZE_H=330
 
 # размер меню запуска и положения табов
 export PW_START_SIZE_W=800