Files
desktop-planer/dev/nested.sh
2026-09-18 22:02:53 +02:00

26 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Startet eine Test-GNOME-Shell mit der Extension.
# dev/nested.sh Fenster auf dem Desktop (zum Selbst-Ausprobieren)
# dev/nested.sh headless unsichtbar; echte Maus/Tastatur lassen sich gefahrlos simulieren
# Eigene Settings (keyfile) und eigenes Datenverzeichnis, die echte Session bleibt unberührt.
set -e
ROOT=$(cd "$(dirname "$0")/.." && pwd)
SCRATCH=${SCRATCH:-/tmp/desktop-app-nested}
mkdir -p "$SCRATCH/data/gnome-shell/extensions" "$SCRATCH/config/glib-2.0/settings"
ln -sfn "$ROOT/desktop@marha.de" "$SCRATCH/data/gnome-shell/extensions/desktop@marha.de"
ln -sfn "$ROOT/dev/unsafe@dev" "$SCRATCH/data/gnome-shell/extensions/unsafe@dev"
cat > "$SCRATCH/config/glib-2.0/settings/keyfile" <<KEYS
[org/gnome/shell]
enabled-extensions=['desktop@marha.de', 'unsafe@dev']
disable-user-extensions=false
KEYS
export XDG_DATA_HOME="$SCRATCH/data" XDG_CONFIG_HOME="$SCRATCH/config" GSETTINGS_BACKEND=keyfile
export MUTTER_DEBUG_DUMMY_MODE_SPECS=${MODE:-1920x1080}
if [ "$1" = headless ]; then
export GNOME_SHELL_SESSION_MODE=user
ARGS="--headless --virtual-monitor 1920x1080"
else
ARGS="--nested --wayland"
fi
exec dbus-run-session -- bash -c "echo \$DBUS_SESSION_BUS_ADDRESS > '$SCRATCH/bus'; echo \$\$ > '$SCRATCH/pid'; exec gnome-shell $ARGS"