#! /bin/bash
unset LD_LIBRARY_PATH 
unset QT_QPA_PLATFORM_PLUGIN_PATH 
unset QML2_IMPORT_PATH
unset XDG_DATA_DIRS
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_SHELL_INTEGRATION=kwayland-shell

#export DDE_DEBUG_LEVEL=debug

## 屏蔽此环境变量，应用的文管弹窗是自研的文管弹窗 
#export _d_disable_filedialog=1

display_number=0
while true; do
    # 构造Socket文件名
    file="/tmp/.X11-unix/X$display_number"

    # 不存在则会被成为下一个XWayland创建的Socket文件
    if [ ! -e "$file" ]; then
        break
    fi

    ((display_number++))
done

if [ -z "$DISPLAY" ]; then
  export DISPLAY=":"$display_number
fi
if [ -z "$WAYLAND_DISPLAY" ]; then
  export WAYLAND_DISPLAY=wayland-0
fi

. "${HOME}/.dde_env"

name=`dmidecode -t 1 | awk '/Product Name:/{print $NF}'`
export SYS_PRODUCT_NAME=${name}
[ "$STARTDDE_RUN_KWIN_WAYLAND" = 1 ] && export QT_WAYLAND_RECONNECT=1

if [ -x "/usr/bin/dbus-update-activation-environment" ]; then
  # tell dbus-daemon --session (and systemd --user, if running)
  # to put a minimal subset of the Xsession's environment in activated
  # services' environments
  dbus-update-activation-environment --verbose --systemd --all
fi

if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
  exec dbus-launch /usr/bin/start_session.bash
else
  exec /usr/bin/start_session.bash
fi
