cw - its works!

This commit is contained in:
Slava Rogozhkin 2025-08-18 22:49:02 +03:00
parent 0753ff1f4e
commit 69796b5d61
1 changed files with 39 additions and 23 deletions

58
cw
View File

@ -10,7 +10,7 @@
# [ ] - Определение данных о мониторах: имя, вертикальность
# [X] - Проверка зависимостей: feh, ffmpeg, X11
# [ ] - Определение соответствия изображения параметрам монитора
# [ ] - Установка изображний на рабочий стол
# [X] - Установка изображний на рабочий стол
# [X] - Получение пути изображения
# Проверка зависимостей
@ -30,7 +30,8 @@ fi
# Директория с изображениями
IMGSTORAGE="$HOME/vault/wallpaper"
#IMGSTORAGE="$HOME/vault/wallpaper-3"
#IMGSTORAGE="/home/slife/Pictures/old_photos/Автозагрузка/Screenshots/"
# Получить абсолютный путь к изображению
get_path_img() {
find "$IMGSTORAGE" -type f | shuf -n 1
@ -47,16 +48,41 @@ get_height_img() {
}
# Получить ориентацию изображения
# $1 - путь к файлу - get_path_img
get_orientation_img() {
if [ $1 -ge $2 ]; then
printf 'horizontal'
else
printf 'vertical'
[[ $(get_width_img $1) > $(get_height_img $1) ]] && printf 'horizontal' || printf 'vertical'
}
# Получить вертикальную обоину
get_vertical_wall() {
while true; do
img=$(get_path_img)
orientation=$(get_orientation_img $img)
if [[ $orientation == "vertical" ]]; then
printf $img
break
fi
done
}
# Получить горизонтальную обоину
get_horizontal_wall() {
while true; do
img=$(get_path_img)
orientation=$(get_orientation_img $img)
if [[ $orientation == "horizontal" ]]; then
printf $img
break
fi
done
}
# Получить список подключенных мониторов
get_name_mon() {
for mon in $(xrandr | grep ' connected ' | awk '{print $1}'); do
echo $mon; done
}
# Получить ширину монитора в пикселях
@ -71,21 +97,11 @@ get_height_mon() {
# Получить ориентацию монитора
get_orientation_mon() {
echo
}
# TEST
counter_ver=0
counter_hor=0
for i in {1..100}; do
img=$(get_path_img)
width_img=$(get_width_img $img)
height_img=$(get_height_img $img)
orientation_img=$(get_orientation_img $width_img $height_img)
set_wall() {
feh --bg-fill $(get_horizontal_wall) $(get_vertical_wall)
}
if [ "$orientation_img" == "vertical" ]; then
counter_ver=$((counter_ver+1))
else
counter_hor=$((counter_hor+1))
fi
done
printf "vertical: $counter_ver\nhorizontal: $counter_hor"
set_wall