Feat: Erweitert das kopieren und ersetzen von Vorkommnissen der xdg-Ordner.
This commit is contained in:
parent
dba8ac5afc
commit
c9edf7fe98
@ -68,12 +68,11 @@ for FILE in "${!TEMPLATES[@]}"; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Dateien von ~/.config/hypr/scripts nach ~/.config/hypr/UserScripts kopieren
|
||||
# Zielverzeichnis und UserKeybinds-Datei definieren
|
||||
SOURCE_DIR="$HOME/.config/hypr/scripts"
|
||||
TARGET_DIR="$HOME/.config/hypr/UserScripts"
|
||||
CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
|
||||
|
||||
USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf"
|
||||
USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf" # Definition an der richtigen Stelle
|
||||
|
||||
# Bereinige fälschlicherweise kopierte Dateien
|
||||
echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..."
|
||||
@ -103,24 +102,24 @@ else
|
||||
echo "⚠️ Zielverzeichnis $TARGET_DIR existiert nicht. Keine Bereinigung erforderlich."
|
||||
fi
|
||||
|
||||
# Kopiere nur relevante Dateien
|
||||
# Kopiere nur relevante Dateien und behalte die Verzeichnisstruktur bei
|
||||
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")
|
||||
find "$SOURCE_DIR" -type f | while read -r FILE; do
|
||||
RELATIVE_PATH="${FILE#$SOURCE_DIR/}" # Relativer Pfad zur Datei
|
||||
TARGET_PATH="$TARGET_DIR/$RELATIVE_PATH"
|
||||
|
||||
# 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
|
||||
# Prüfen, ob die Datei angepasst werden muss
|
||||
if grep -qE '\$HOME/Desktop|\$HOME/Downloads|\$HOME/Documents|\$HOME/Pictures|\$HOME/Music|\$HOME/Videos|/home/[a-zA-Z0-9._-]*/Desktop|/home/[a-zA-Z0-9._-]*/Downloads|/home/[a-zA-Z0-9._-]*/Documents|/home/[a-zA-Z0-9._-]*/Pictures|/home/[a-zA-Z0-9._-]*/Music|/home/[a-zA-Z0-9._-]*/Videos|\$(xdg-user-dir)/Desktop|\$(xdg-user-dir)/Downloads|\$(xdg-user-dir)/Documents|\$(xdg-user-dir)/Pictures|\$(xdg-user-dir)/Music|\$(xdg-user-dir)/Videos' "$FILE"; then
|
||||
echo "🔄 Kopiere Datei zur Anpassung: $RELATIVE_PATH"
|
||||
mkdir -p "$(dirname "$TARGET_PATH")" # Zielverzeichnis erstellen
|
||||
cp "$FILE" "$TARGET_PATH"
|
||||
COPIED_FILES+=("$RELATIVE_PATH") # Relativen Pfad speichern
|
||||
else
|
||||
echo "ℹ️ Datei $RELATIVE_PATH benötigt keine Anpassung. Überspringe Kopieren."
|
||||
fi
|
||||
done
|
||||
else
|
||||
@ -128,19 +127,31 @@ else
|
||||
fi
|
||||
|
||||
# Ersetzungen in allen Dateien im Verzeichnis UserScripts vornehmen
|
||||
echo "🔄 Ersetze XDG-Verzeichnisse in allen Dateien im Verzeichnis $TARGET_DIR..."
|
||||
echo "🔄 Ersetze absolute Pfade, XDG-Verzeichnisse und Platzhalter in allen Dateien im Verzeichnis $TARGET_DIR..."
|
||||
for FILE in "$TARGET_DIR"/*; do
|
||||
if [[ -f "$FILE" ]]; then
|
||||
echo "Verarbeite Datei: $FILE"
|
||||
|
||||
# Ersetzungen vornehmen
|
||||
sed -i \
|
||||
-e "s|\$HOME/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo "$HOME/Desktop")|g" \
|
||||
-e "s|\$HOME/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo "$HOME/Downloads")|g" \
|
||||
-e "s|\$HOME/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo "$HOME/Documents")|g" \
|
||||
-e "s|\$HOME/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")|g" \
|
||||
-e "s|\$HOME/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo "$HOME/Music")|g" \
|
||||
-e "s|\$HOME/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo "$HOME/Videos")|g" \
|
||||
-e "s|$HOME/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||
-e "s|$HOME/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||
-e "s|$HOME/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||
-e "s|$HOME/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||
-e "s|$HOME/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||
-e "s|$HOME/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||
-e "s|/home/[a-zA-Z0-9._-]*/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||
-e "s|\$(xdg-user-dir)/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||
"$FILE"
|
||||
|
||||
echo "✅ Ersetzungen in $FILE abgeschlossen."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user