diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index a6b029b..861c3ae 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -319,6 +319,19 @@ check_gamescope_session () {
     fi
 }
 
+check_wayland_session () {
+    if [[ ! -z "$WAYLAND_IN_USE" ]]
+    then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
+    fi
+    if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then
+        export WAYLAND_IN_USE=1
+        return 0
+    else
+        export WAYLAND_IN_USE=0
+        return 1
+    fi
+}
+
 check_flatpak () {
     if [[ ! -z "$FLATPAK_IN_USE" ]]
     then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1
@@ -794,13 +807,13 @@ stop_portwine () {
     [[ "$int_xneur" == "1"  ]] && xneur &
 
     if [[ "$PW_USE_US_LAYOUT" == "1" ]] \
-    && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
+    && ! check_wayland_session \
     && command -v setxkbmap &>/dev/null
     then
         setxkbmap
     fi
 
-    if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
+    if ! check_wayland_session \
     && [[ "$(xrandr | sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')" != "$PW_SCREEN_RESOLUTION" ]]
     then
         xrandr --output "$PW_SCREEN_PRIMARY" --mode "$PW_SCREEN_RESOLUTION"
@@ -1870,7 +1883,7 @@ start_portwine () {
     fi
 
     if [[ "$PW_USE_US_LAYOUT" == "1" ]] \
-    && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
+    && ! check_wayland_session \
     && command -v setxkbmap &>/dev/null
     then
         setxkbmap -model pc101 us -print | xkbcomp - $DISPLAY &>/dev/null
@@ -1999,7 +2012,7 @@ start_portwine () {
             export WINE_D3D_CONFIG='renderer=gl'
             export  __GLX_VENDOR_LIBRARY_NAME=mesa
             export MESA_LOADER_DRIVER_OVERRIDE=zink
-            if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
+            if ! check_wayland_session \
             || [[ "${PW_USE_GAMESCOPE}" != "1" ]]
             then
                 export LIBGL_KOPPER_DRI2="1"
@@ -3811,21 +3824,18 @@ EOF
 }
 
 pw_edit_db () {
-    if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then
-        pw_gui_for_edit_db \
-        PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \
-        PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP \
-        PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY \
-        PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS \
-        PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
-    else
-        pw_gui_for_edit_db \
-        PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \
-        PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP \
-        PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY\
-        PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE \
-        PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
+    export PW_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME"
+
+    if check_wayland_session ; then
+        rm_from_var PW_EDIT_DB_LIST "PW_USE_US_LAYOUT"
     fi
+
+    if check_flatpak ; then
+        rm_from_var PW_EDIT_DB_LIST "PW_USE_RUNTIME"
+    fi
+
+    pw_gui_for_edit_db $PW_EDIT_DB_LIST
+
     # PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
 }