44# See LICENSE file for full license details.
55#
66# WindowsBridge Starter-Datei
7- # Ermöglicht Ein-Klick-Installation durch Doppelklick im Dateimanager
7+ # Startet die grafische Benutzeroberfläche (GUI) für die Installation
88
9- set -euo pipefail
9+ # Setze error handling aber erlaube fehler in einzelnen commands
10+ set +e
1011
1112# ═══════════════════════════════════════════════════════════════════════════
1213# WindowsBridge One-Click Starter
@@ -21,6 +22,7 @@ readonly NC='\033[0m' # No Color
2122
2223# Projektverzeichnis automatisch ermitteln
2324readonly SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
25+ readonly GUI_LAUNCHER=" ${SCRIPT_DIR} /modules/gui_launcher.py"
2426readonly INSTALLER_SCRIPT=" ${SCRIPT_DIR} /installer.sh"
2527readonly LOG_DIR=" ${HOME} /.config/windowsbridge"
2628readonly LOG_FILE=" ${LOG_DIR} /starter.log"
@@ -70,146 +72,63 @@ handle_error() {
7072trap ' handle_error ${LINENO}' ERR
7173
7274# ═══════════════════════════════════════════════════════════════════════════
73- # Vorbedingungen prüfen
75+ # Graphische Benutzeroberfläche starten
7476# ═══════════════════════════════════════════════════════════════════════════
7577
76- check_requirements () {
77- print_info " Überprüfe Vorbedingungen..."
78-
79- # Überprüfe ob Bash verfügbar ist
80- if ! command -v bash & > /dev/null; then
81- print_error " Bash nicht gefunden. Bitte installieren Sie Bash 4.0+"
82- exit 1
83- fi
84-
85- # Überprüfe Bash-Version
86- local bash_version=" ${BASH_VERSINFO[0]} .${BASH_VERSINFO[1]} "
87- if [[ " ${BASH_VERSINFO[0]} " -lt 4 ]]; then
88- print_error " Bash ${bash_version} gefunden. Mindestens Bash 4.0 erforderlich."
89- exit 1
90- fi
91-
92- print_success " Bash ${bash_version} verfügbar"
93-
94- # Überprüfe ob installer.sh vorhanden ist
95- if [[ ! -f " ${INSTALLER_SCRIPT} " ]]; then
96- print_error " installer.sh nicht gefunden in: ${SCRIPT_DIR} "
97- log " ERROR" " installer.sh nicht found at ${INSTALLER_SCRIPT} "
98- exit 1
99- fi
100-
101- print_success " installer.sh gefunden"
78+ start_gui () {
79+ print_header
10280
103- # Log-Verzeichnis erstellen
81+ # Log-Verzeichnis erstellen falls nicht vorhanden
10482 if [[ ! -d " ${LOG_DIR} " ]]; then
10583 mkdir -p " ${LOG_DIR} "
10684 print_info " Log-Verzeichnis erstellt: ${LOG_DIR} "
10785 fi
10886
109- log " INFO" " Vorbedingungen erfolgreich überprüft"
110- }
111-
112- # ═══════════════════════════════════════════════════════════════════════════
113- # Installer-Menü anzeigen
114- # ═══════════════════════════════════════════════════════════════════════════
115-
116- show_menu () {
117- echo " "
118- echo -e " ${BLUE} Wähle ein Installationsprofil:${NC} "
119- echo " "
120- echo " 1) Minimal - Grundlegende Funktionalität"
121- echo " 2) Standard - Häufige Anwendungsfälle"
122- echo " 3) Gaming - Vollständiger Gaming-Support (empfohlen)"
123- echo " 4) Full - Alle verfügbaren Features"
124- echo " 5) Custom - Benutzerdefinierte Installation"
125- echo " q) Abbrechen"
126- echo " "
127- read -p " Deine Wahl [1-5, q]: " choice
128-
129- case " ${choice} " in
130- 1) return 0 ;; # minimal
131- 2) return 0 ;; # standard
132- 3) return 0 ;; # gaming
133- 4) return 0 ;; # full
134- 5) return 0 ;; # custom
135- q)
136- print_info " Installation abgebrochen"
137- log " INFO" " User cancelled installation"
138- exit 0
139- ;;
140- * )
141- print_error " Ungültige Wahl. Bitte erneut versuchen."
142- show_menu
143- ;;
144- esac
145- }
146-
147- # ═══════════════════════════════════════════════════════════════════════════
148- # Installer ausführen
149- # ═══════════════════════════════════════════════════════════════════════════
150-
151- run_installer () {
152- print_header
153-
154- check_requirements
155-
156- echo " "
157- print_info " Installation wird vorbereitet..."
158- log " INFO" " Starting WindowsBridge installer from ${INSTALLER_SCRIPT} "
87+ log " INFO" " Starte WindowsBridge GUI"
15988
160- # Bestätige Installation
161- echo " "
162- read -p " Installation fortfahren? (j/n): " confirm
89+ # Überprüfe ob Python verfügbar ist
90+ if ! command -v python3 & > /dev/null; then
91+ print_error " Python3 nicht gefunden. Bitte installieren Sie Python 3.6+"
92+ log " ERROR" " Python3 not found"
93+ exit 1
94+ fi
16395
164- if [[ " ${confirm,,} " != " j" ]]; then
165- print_info " Installation abgebrochen"
166- log " INFO" " Installation cancelled by user"
167- exit 0
96+ # Überprüfe ob GUI-Launcher vorhanden ist
97+ if [[ ! -f " ${GUI_LAUNCHER} " ]]; then
98+ print_error " gui_launcher.py nicht gefunden in: ${GUI_LAUNCHER} "
99+ log " ERROR" " GUI launcher not found at ${GUI_LAUNCHER} "
100+ exit 1
168101 fi
169102
170- echo " "
171- print_info " Starte installer.sh... "
103+ print_info " Starte grafische Benutzeroberfläche... "
104+ print_info " GUI-Launcher: ${GUI_LAUNCHER} "
172105
173- # Führe installer.sh aus und zeige Ausgabe
174- if bash " ${INSTALLER_SCRIPT} " ; then
175- echo " "
176- print_success " Installation erfolgreich abgeschlossen!"
177- log " INFO" " Installation completed successfully"
178-
179- echo " "
180- echo -e " ${BLUE} ════════════════════════════════════════════════════════════════════════════════${NC} "
181- echo -e " ${GREEN} 🎉 Willkommen bei WindowsBridge v1.0.0! 🎉${NC} "
182- echo -e " ${BLUE} ════════════════════════════════════════════════════════════════════════════════${NC} "
183-
184- echo " "
185- echo " Nächste Schritte:"
186- echo " "
187- echo " 1. Verifiziere die Installation:"
188- echo " $ make test"
189- echo " "
190- echo " 2. Starte die Spiel-Konfiguration:"
191- echo " $ make gui"
192- echo " "
193- echo " 3. Lies die Dokumentation:"
194- echo " $ cat QUICKSTART.md"
195- echo " "
196- echo " Dokumentation: ${SCRIPT_DIR} /README.md"
197- echo " Log-Dateien: ${LOG_DIR} /"
106+ # Starte GUI
107+ cd " ${SCRIPT_DIR} "
108+
109+ if python3 " ${GUI_LAUNCHER} " ; then
198110 echo " "
199-
200- return 0
111+ print_success " WindowsBridge GUI beendet"
112+ log " INFO" " GUI launcher completed successfully"
113+ exit 0
201114 else
202- print_error " Installation fehlgeschlagen!"
203- log " ERROR" " Installation failed with exit code $? "
115+ local exit_code=$?
116+ print_error " GUI-Launcher fehlgeschlagen mit Exit-Code: ${exit_code} "
117+ log " ERROR" " GUI launcher failed with exit code ${exit_code} "
204118
119+ # Fallback zu Terminal-Installer wenn GUI fehlschlägt
205120 echo " "
206- echo -e " ${YELLOW} Fehlerbehebung:${NC} "
207- echo " 1. Überprüfe die Log-Datei: ${LOG_FILE} "
208- echo " 2. Konsultiere die Dokumentation: ${SCRIPT_DIR} /docs/troubleshooting.md"
209- echo " 3. Eröffne ein Issue: https://github.com/windowsbridge/windowsbridge/issues"
210- echo " "
121+ print_info " Fallback: Starte Terminal-basierter Installer..."
211122
212- return 1
123+ if bash " ${INSTALLER_SCRIPT} " ; then
124+ print_success " Installation erfolgreich abgeschlossen!"
125+ log " INFO" " Fallback installer completed successfully"
126+ exit 0
127+ else
128+ print_error " Installation fehlgeschlagen!"
129+ log " ERROR" " Fallback installer failed"
130+ exit 1
131+ fi
213132 fi
214133}
215134
@@ -218,7 +137,14 @@ run_installer() {
218137# ═══════════════════════════════════════════════════════════════════════════
219138
220139main () {
221- run_installer
140+ # Überprüfe ob GUI-Launcher existiert
141+ if [[ ! -f " ${GUI_LAUNCHER} " ]]; then
142+ print_error " Kritischer Fehler: gui_launcher.py nicht gefunden"
143+ print_error " Erwartet: ${GUI_LAUNCHER} "
144+ exit 1
145+ fi
146+
147+ start_gui
222148}
223149
224150# Script ausführen
0 commit comments