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] - Проверка зависимостей: feh, ffmpeg, X11
# [ ] - Определение соответствия изображения параметрам монитора # [ ] - Определение соответствия изображения параметрам монитора
# [ ] - Установка изображний на рабочий стол # [X] - Установка изображний на рабочий стол
# [X] - Получение пути изображения # [X] - Получение пути изображения
# Проверка зависимостей # Проверка зависимостей
@ -30,7 +30,8 @@ fi
# Директория с изображениями # Директория с изображениями
IMGSTORAGE="$HOME/vault/wallpaper" IMGSTORAGE="$HOME/vault/wallpaper"
#IMGSTORAGE="$HOME/vault/wallpaper-3"
#IMGSTORAGE="/home/slife/Pictures/old_photos/Автозагрузка/Screenshots/"
# Получить абсолютный путь к изображению # Получить абсолютный путь к изображению
get_path_img() { get_path_img() {
find "$IMGSTORAGE" -type f | shuf -n 1 find "$IMGSTORAGE" -type f | shuf -n 1
@ -47,16 +48,41 @@ get_height_img() {
} }
# Получить ориентацию изображения # Получить ориентацию изображения
# $1 - путь к файлу - get_path_img
get_orientation_img() { get_orientation_img() {
if [ $1 -ge $2 ]; then [[ $(get_width_img $1) > $(get_height_img $1) ]] && printf 'horizontal' || printf 'vertical'
printf 'horizontal' }
else
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 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() { 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() { get_orientation_mon() {
echo
} }
# TEST set_wall() {
counter_ver=0 feh --bg-fill $(get_horizontal_wall) $(get_vertical_wall)
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)
if [ "$orientation_img" == "vertical" ]; then set_wall
counter_ver=$((counter_ver+1))
else
counter_hor=$((counter_hor+1))
fi
done
printf "vertical: $counter_ver\nhorizontal: $counter_hor"