From d9ed139c4fb7e4443c0fc1d226021a2671e28da8 Mon Sep 17 00:00:00 2001 From: "Lukas F. Hartmann" <lukas@mntre.com> Date: Sun, 14 Mar 2021 16:59:02 +0100 Subject: [PATCH] reform-windowmaker: wait for x startup --- reform2-imx8mq/mkuserland3.sh | 2 +- .../template-skel/bin/reform-windowmaker | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/reform2-imx8mq/mkuserland3.sh b/reform2-imx8mq/mkuserland3.sh index 12f2815..b6ebdd7 100755 --- a/reform2-imx8mq/mkuserland3.sh +++ b/reform2-imx8mq/mkuserland3.sh @@ -20,7 +20,7 @@ export LANG=C # install applications -apt install -y libreoffice libreoffice-gtk3 inkscape firefox-esr emacs gimp wmaker +apt install -y libreoffice libreoffice-gtk3 inkscape firefox-esr emacs gimp wmaker x11-utils apt install -y chromium evolution freecad ardour sxiv neverball scummvm dosbox wf-recorder wev linphone-desktop # install patched software from mntre diff --git a/reform2-imx8mq/template-skel/bin/reform-windowmaker b/reform2-imx8mq/template-skel/bin/reform-windowmaker index 676968c..36957f8 100755 --- a/reform2-imx8mq/template-skel/bin/reform-windowmaker +++ b/reform2-imx8mq/template-skel/bin/reform-windowmaker @@ -8,14 +8,26 @@ # exec xfce4-session # -cage -- /usr/local/bin/Xwayland -retro & -sleep 2 +DNUM=:0 + +cage -- /usr/local/bin/Xwayland $DNUM -retro -noreset & + +export DISPLAY=$DNUM + +# idea lifted from https://gist.github.com/tullmann/476cc71169295d5c3fe6 +MAX=10 +CT=0 +while ! xdpyinfo >/dev/null 2>&1; do + sleep 0.50s + CT=$(( CT + 1 )) + if [ "$CT" -ge "$MAX" ]; then + LOG "FATAL: $0: Gave up waiting for X server $DISPLAY" + exit 11 + fi +done export WAYLAND_DISPLAY=null # Hack, but works -export DISPLAY=:0 export GDK_BACKEND=x11 unset SDL_VIDEODRIVER -xterm & - exec wmaker -- GitLab