diff --git a/Setup/6_Polish.sh b/Setup/6_Polish.sh index 6e72380..28186c6 100755 --- a/Setup/6_Polish.sh +++ b/Setup/6_Polish.sh @@ -73,19 +73,56 @@ SOURCE_DIR="$HOME/.config/hypr/scripts" TARGET_DIR="$HOME/.config/hypr/UserScripts" CONFIG_DIR="$HOME/.config/hypr/UserConfigs" -echo "📂 Kopiere Dateien von $SOURCE_DIR nach $TARGET_DIR..." -mkdir -p "$TARGET_DIR" -COPIED_FILES=() # Array, um die kopierten Dateien zu speichern -if [[ -d "$SOURCE_DIR" ]]; then - for FILE in "$SOURCE_DIR"/*; do +# Bereinige fälschlicherweise kopierte Dateien +echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..." +if [[ -d "$TARGET_DIR" ]]; then + for FILE in "$TARGET_DIR"/*; do if [[ -f "$FILE" ]]; then - echo "🔄 Kopiere Datei: $FILE" - cp "$FILE" "$TARGET_DIR" - COPIED_FILES+=("$(basename "$FILE")") # Nur den Dateinamen speichern + BASENAME=$(basename "$FILE") + SOURCE_FILE="$SOURCE_DIR/$BASENAME" + + # Prüfen, ob die Datei im Quellverzeichnis existiert und angepasst werden musste + if [[ -f "$SOURCE_FILE" ]] && ! grep -qE '\$HOME/Desktop|\$HOME/Downloads|\$HOME/Documents|\$HOME/Pictures|\$HOME/Music|\$HOME/Videos' "$SOURCE_FILE"; then + echo "🗑️ Entferne fälschlicherweise kopierte Datei: $BASENAME" + rm "$FILE" + + # Rückgängig machen der falschen Verweise in UserKeybinds.conf + if [[ -f "$USER_KEYBINDS_FILE" ]]; then + echo "🔄 Setze falschen Verweis für $BASENAME in $USER_KEYBINDS_FILE zurück..." + sed -i "s|\$UserScripts/$BASENAME|\$scriptsDir/$BASENAME|g" "$USER_KEYBINDS_FILE" + echo "✅ Verweis für $BASENAME zurückgesetzt." + fi + else + echo "✅ Datei $BASENAME ist korrekt und bleibt erhalten." + fi fi done else - echo "⚠️ Quellverzeichnis $SOURCE_DIR existiert nicht. Überspringe Kopiervorgang." + echo "⚠️ Zielverzeichnis $TARGET_DIR existiert nicht. Keine Bereinigung erforderlich." +fi + +# Kopiere nur relevante Dateien +echo "📂 Verarbeite Dateien im Verzeichnis $SOURCE_DIR..." +mkdir -p "$TARGET_DIR" +COPIED_FILES=() # Array, um die tatsächlich kopierten Dateien zu speichern + +if [[ -d "$SOURCE_DIR" ]]; then + for FILE in "$SOURCE_DIR"/*; do + if [[ -f "$FILE" ]]; then + BASENAME=$(basename "$FILE") + + # Prüfen, ob die Datei angepasst werden muss (z. B. enthält $HOME oder andere Platzhalter) + if grep -qE '\$HOME/Desktop|\$HOME/Downloads|\$HOME/Documents|\$HOME/Pictures|\$HOME/Music|\$HOME/Videos' "$FILE"; then + echo "🔄 Kopiere Datei zur Anpassung: $BASENAME" + cp "$FILE" "$TARGET_DIR" + COPIED_FILES+=("$BASENAME") # Nur den Dateinamen speichern + else + echo "ℹ️ Datei $BASENAME benötigt keine Anpassung. Überspringe Kopieren." + fi + fi + done +else + echo "⚠️ Quellverzeichnis $SOURCE_DIR existiert nicht. Überspringe Verarbeitung." fi # Ersetzungen in allen Dateien im Verzeichnis UserScripts vornehmen