some_scripts/cw

63 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Установщик обоев (change wallpaper):
# исходя из параметров подключенных мониторов устанавливает соответствующие обои.
#
# TO-DO
# [X] - Определение данных исходного изображения: получение ширины и высоты
# [X] - Определение вертикальности изображения: если ширина больше высоты -> горизонтальное, иначе вертикальное
# [ ] - Определение данных о мониторах: имя, вертикальность
# [X] - Проверка зависимостей: feh, ffmpeg, X11
# [ ] - Определение соответствия изображения параметрам монитора
# [ ] - Установка изображний на рабочий стол
# [X] - Получение пути изображения
# Проверка зависимостей
requirements_apps=('feh' 'ffmpeg' 'xdpyinfo' 'awk')
for app in ${requirements_apps[@]}; do
if [ ! $app -version &> /dev/null ] || [ $app --version &> /dev/null ]; then
echo "$app not installed"
exit 1
fi
done
# Проверка сессии (Х11)
if [ $XDG_SESSION_TYPE != 'x11' ]; then
echo "For X.Org"
exit 1
fi
IMGSTORAGE="$HOME/vault/wallpaper"
get_path_img() {
find "$IMGSTORAGE" -type f | shuf -n 1
}
get_width_img() {
ffprobe -v error -select_streams v:0 -show_entries stream=width -of default=nw=1:nk=1 '"$1"'
}
get_height_img() {
ffprobe -v error -select_streams v:0 -show_entries stream=height -of default=nw=1:nk=1 '"$1"'
}
get_orientation_img() {
if [ "$1" > "$2" ]; then
printf 'horizontal'
else
printf 'vertical'
fi
}
get_width_mon() {
xdpyinfo | awk '/dimensions/{print $2}' | awk -F "x" '{print $1}'
}
get_height_mon() {
xdpyinfo | awk '/dimensions/{print $2}' | awk -F "x" '{print $2}'
}
# VAR
for i in {1..100}; do
img=$(get_path_img)
orientation_img=$(get_orientation_img $(get_width_img $img) $(get_height_img $img))
echo $img $orientation_img | grep 'vertical'
done