summaryrefslogtreecommitdiff
path: root/config/hypr/wallpapers.sh
diff options
context:
space:
mode:
authorl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-06-14 19:29:33 +0300
committerl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-06-14 19:29:33 +0300
commit56082af20a8712570edd6ed523baad4755ecd241 (patch)
tree2366ad69de817a80403cdcbe5cdd48ad90106bd6 /config/hypr/wallpapers.sh
init
Diffstat (limited to 'config/hypr/wallpapers.sh')
-rwxr-xr-xconfig/hypr/wallpapers.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/config/hypr/wallpapers.sh b/config/hypr/wallpapers.sh
new file mode 100755
index 000000000..cf797abcc
--- /dev/null
+++ b/config/hypr/wallpapers.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# lightning-randomize-wallpapers-unique.sh
+
+WALLPAPER_DIR="$HOME/Pictures/Wallpapers"
+cd "$WALLPAPER_DIR" || exit 1
+
+# Собираем все картинки в массив
+files=(*.{jpg,jpeg,png})
+[ ${#files[@]} -eq 0 ] && exit 0
+
+# Массив для уже сгенерированных имён
+declare -A used_names
+
+# Перемешиваем массив файлов
+shuffled=($(printf "%s\n" "${files[@]}" | shuf))
+
+# Функция генерации случайного имени с проверкой уникальности
+generate_unique_name() {
+ local ext=$1
+ local name
+ while :; do
+ name="$(tr -dc a-z0-9 </dev/urandom | head -c 3).$ext"
+ [[ -z "${used_names[$name]}" ]] && break
+ done
+ used_names[$name]=1
+ echo "$name"
+}
+
+# Переименовываем файлы
+for file in "${shuffled[@]}"; do
+ ext="${file##*.}"
+ rand_name=$(generate_unique_name "$ext")
+ mv "$file" "$rand_name"
+done