This commit is contained in:
Ваше Имя
2025-07-20 19:12:35 +03:00
parent 69efc57234
commit 83e1560533
3 changed files with 52 additions and 25 deletions

View File

@@ -125,7 +125,7 @@ https://github.com/user-attachments/assets/12f9cff2-40af-487b-b39a-d1c93a24fbfd
| 🎨 **Визуальные возможности** | ⚡ **Функциональность** | 🛠️ **Удобство** | | 🎨 **Визуальные возможности** | ⚡ **Функциональность** | 🛠️ **Удобство** |
|---|---|---| |---|---|---|
| ✨ **25+** уникальных тем | 📱 Виртуальная клавиатура | 🚀 Автоматическая установка | | ✨ **25+** уникальных тем | 📱 Виртуальная клавиатура | 🚀 Автоматическая установка |
| <EFBFBD> Анимированные **MP4** фоны | 🌐 Мультиязычность | 🔧 Простая настройка | | 🎬 Анимированные **MP4** фоны | 🌐 Мультиязычность | 🔧 Простая настройка |
| 🎨 Кастомные шрифты | 🔐 Современный UI | ⚡ Быстрое переключение | | 🎨 Кастомные шрифты | 🔐 Современный UI | ⚡ Быстрое переключение |
| 🖼️ Поддержка аватаров | 🎮 Игровые стили | 👀 Предварительный просмотр | | 🖼️ Поддержка аватаров | 🎮 Игровые стили | 👀 Предварительный просмотр |

View File

@@ -302,6 +302,55 @@ show_available_themes() {
echo "" echo ""
} }
# Функция для выбора темы из пронумерованного списка
select_theme_from_list() {
local themes=(
"apocalypse" "bones" "demon" "explosion" "gate" "gate2" "wizard"
"samurai" "samurai2" "samurai3" "samurai4" "solder" "warrior"
"house" "house2" "house3" "house4" "house5" "tree" "window" "window2" "calmness"
"space" "space2" "witcher" "harry"
)
echo -e "${WHITE}Доступные темы:${NC}"
echo ""
# Показываем пронумерованный список
for i in "${!themes[@]}"; do
local num=$((i + 1))
printf "${CYAN}%2d)${NC} ${themes[i]}\n" "$num"
done
echo ""
while true; do
if [ -t 0 ]; then
read -p "Выберите номер темы (1-${#themes[@]}): " theme_choice
else
if [ -c /dev/tty ]; then
read -p "Выберите номер темы (1-${#themes[@]}): " theme_choice < /dev/tty
else
echo "Автоматически выбрана тема: witcher (по умолчанию)"
selected_theme="witcher"
return 0
fi
fi
# Проверяем, что введено число
if [[ "$theme_choice" =~ ^[0-9]+$ ]]; then
# Проверяем, что число в допустимом диапазоне
if [ "$theme_choice" -ge 1 ] && [ "$theme_choice" -le "${#themes[@]}" ]; then
local index=$((theme_choice - 1))
selected_theme="${themes[index]}"
echo -e "${GREEN}${CHECK} Выбрана тема: $selected_theme${NC}"
return 0
else
echo -e "${RED}${CROSS} Неверный номер! Введите число от 1 до ${#themes[@]}${NC}"
fi
else
echo -e "${RED}${CROSS} Введите корректный номер темы (число от 1 до ${#themes[@]})${NC}"
fi
done
}
# Функция для загрузки репозитория # Функция для загрузки репозитория
download_repository() { download_repository() {
print_step_header "ШАГ 4: Загрузка всех тем с GitHub " print_step_header "ШАГ 4: Загрузка всех тем с GitHub "
@@ -783,18 +832,7 @@ main() {
"full") "full")
if download_repository; then if download_repository; then
cd sddm-theme cd sddm-theme
show_available_themes select_theme_from_list
echo ""
if [ -t 0 ]; then
read -p "Введите название темы для активации (например: witcher): " selected_theme
else
if [ -c /dev/tty ]; then
read -p "Введите название темы для активации (например: witcher): " selected_theme < /dev/tty
else
echo "Автоматически выбрана тема: witcher (по умолчанию)"
selected_theme="witcher"
fi
fi
cd .. cd ..
else else
echo -e "${RED}${CROSS} Не удалось загрузить репозиторий${NC}" echo -e "${RED}${CROSS} Не удалось загрузить репозиторий${NC}"
@@ -802,18 +840,7 @@ main() {
fi fi
;; ;;
"single") "single")
show_available_themes select_theme_from_list
echo ""
if [ -t 0 ]; then
read -p "Введите название темы для установки (например: witcher): " selected_theme
else
if [ -c /dev/tty ]; then
read -p "Введите название темы для установки (например: witcher): " selected_theme < /dev/tty
else
echo "Автоматически выбрана тема: witcher (по умолчанию)"
selected_theme="witcher"
fi
fi
if ! download_single_theme "$selected_theme"; then if ! download_single_theme "$selected_theme"; then
echo -e "${RED}${CROSS} Не удалось загрузить тему${NC}" echo -e "${RED}${CROSS} Не удалось загрузить тему${NC}"
exit 1 exit 1