@testdriverai/runner 7.8.0-test.53 → 7.8.0-test.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -60,6 +60,23 @@ if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
|
|
60
60
|
export DBUS_SESSION_BUS_ADDRESS
|
|
61
61
|
fi
|
|
62
62
|
|
|
63
|
+
# ─── Pre-configure xfwm4 to disable compositor ───────────────────────────────
|
|
64
|
+
# Writing the config file BEFORE starting XFCE ensures xfwm4 starts with
|
|
65
|
+
# compositing disabled from frame zero. The previous approach ran xfconf-query
|
|
66
|
+
# 3 seconds after startxfce4, but xfwm4 often started with compositing enabled
|
|
67
|
+
# before the query ran (or dbus wasn't ready) — causing the Xvfb framebuffer to
|
|
68
|
+
# stay permanently black (~1/15 runs). Pre-writing the XML avoids the race.
|
|
69
|
+
mkdir -p "${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml"
|
|
70
|
+
cat > "${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml" << 'EOF'
|
|
71
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
72
|
+
<channel name="xfwm4" version="1.0">
|
|
73
|
+
<property name="general" type="empty">
|
|
74
|
+
<property name="use_compositing" type="bool" value="false"/>
|
|
75
|
+
</property>
|
|
76
|
+
</channel>
|
|
77
|
+
EOF
|
|
78
|
+
echo "[start-desktop] xfwm4 compositor pre-disabled via config file"
|
|
79
|
+
|
|
63
80
|
# ─── Start XFCE desktop ──────────────────────────────────────────────────────
|
|
64
81
|
if pgrep -x xfce4-session > /dev/null 2>&1; then
|
|
65
82
|
echo "[start-desktop] XFCE already running, skipping"
|
|
@@ -68,9 +85,6 @@ else
|
|
|
68
85
|
startxfce4 &
|
|
69
86
|
sleep 3
|
|
70
87
|
|
|
71
|
-
# Disable xfwm4 compositor (causes black screen in Xvfb — no GPU)
|
|
72
|
-
xfconf-query -c xfwm4 -p /general/use_compositing -s false 2>/dev/null || true
|
|
73
|
-
|
|
74
88
|
# Kill power manager, screensaver, and error dialogs (not needed in headless)
|
|
75
89
|
killall xfce4-power-manager 2>/dev/null || true
|
|
76
90
|
killall xfce4-screensaver 2>/dev/null || true
|
|
@@ -78,6 +92,12 @@ else
|
|
|
78
92
|
xdotool search --name "Power Manager" windowclose 2>/dev/null || true
|
|
79
93
|
fi
|
|
80
94
|
|
|
95
|
+
# Always enforce compositor=off at runtime regardless of whether XFCE was already
|
|
96
|
+
# running. Belt-and-suspenders: covers the case where this script's previous run
|
|
97
|
+
# started XFCE (skipping the else-block above), or where xfwm4 somehow ignored
|
|
98
|
+
# the config file.
|
|
99
|
+
xfconf-query -c xfwm4 -p /general/use_compositing -s false 2>/dev/null || true
|
|
100
|
+
|
|
81
101
|
# ─── Set TestDriver wallpaper ─────────────────────────────────────────────────
|
|
82
102
|
WALLPAPER="/usr/share/backgrounds/xfce/wallpaper.png"
|
|
83
103
|
if [ -f "$WALLPAPER" ]; then
|