--- /dev/null
+
+#!/usr/bin/env bash
+
+set -Eeuo pipefail
+
+readonly NAME="simpledwindle"
+readonly SCRIPT="$HOME/.local/share/kwin/scripts/$NAME/contents/code/main.js"
+readonly DBUS_SERVICE="org.kde.KWin"
+readonly DBUS_PATH="/Scripting"
+
+die() {
+ printf 'ERROR: %s\n' "$*" >&2
+ exit 1
+}
+
+kwin() {
+ qdbus6 "$DBUS_SERVICE" "$DBUS_PATH" "$@"
+}
+
+command -v qdbus6 >/dev/null 2>&1 ||
+ die "qdbus6 wurde nicht gefunden."
+
+[[ -r "$SCRIPT" ]] ||
+ die "Script nicht gefunden oder nicht lesbar: $SCRIPT"
+
+printf '[%s] Checking KWin scripting interface...\n' "$NAME"
+
+kwin isScriptLoaded "$NAME" >/dev/null ||
+ die "KWin-Scripting-Schnittstelle nicht erreichbar."
+
+# Vorhandene Instanz entfernen
+if [[ $(kwin isScriptLoaded "$NAME") == true ]]; then
+ printf '[%s] Unloading...\n' "$NAME"
+
+ result=$(kwin unloadScript "$NAME") ||
+ die "unloadScript fehlgeschlagen."
+
+ [[ $result == true ]] ||
+ die "KWin konnte das Script nicht entladen."
+
+ [[ $(kwin isScriptLoaded "$NAME") == false ]] ||
+ die "Script ist nach unloadScript weiterhin geladen."
+fi
+
+# Neue Instanz registrieren
+printf '[%s] Loading...\n' "$NAME"
+
+id=$(kwin loadScript "$SCRIPT" "$NAME") ||
+ die "loadScript fehlgeschlagen."
+
+[[ $id =~ ^[0-9]+$ ]] ||
+ die "Unerwartete Script-ID: $id"
+
+[[ $(kwin isScriptLoaded "$NAME") == true ]] ||
+ die "Script wurde nicht registriert."
+
+# KWin-Scripting starten
+printf '[%s] Starting (ID: %s)...\n' "$NAME" "$id"
+
+kwin start ||
+ die "KWin konnte das Script nicht starten."
+
+printf '[%s] Reload requested successfully.\n' "$NAME"
+