#linux #bash #image
#linux #bash #изображение
Вопрос:
есть ли способ сделать скриншот определенного окна в bash, чтобы, если оно не сфокусировано, оно все равно делало скриншот?
sleep 10
while true;
do
scrot ~/Screenshots/"$(date "%d-%m-%Y_%H:%M:%S").png"
play ~/.custom-stuff/pew.mp3 vol 0.2 > /dev/null 2>amp;1
echo Shot time: $(date "%d-%m-%Y_%H:%M:%S")
sleep 30
done
я хочу создать замедленное видео для конкретной программы (игры): 3
может быть, использовать идентификатор окна импорта вместо scrot? но я все еще не понимаю, как это работает…
Комментарии:
1. Как вы хотите выбрать окно, вручную, нажав на него или по названию?
2. я думаю, что любой из них действителен. я просто хочу установить окно, чтобы программа скриншота оставалась в нем
Ответ №1:
Я не уверен на 100%, будет ли это работать в каждом DE, но в моем, похоже, работает.
Что я сделал, так это запустил следующую строку в терминале:
import -window $(xdotool getwindowfocus) -pause 5 asd.png amp; for i in {1..6}; do echo $i; sleep 1; done
Затем переключился на другое окно и подождал 10 секунд, и я смог увидеть изображение:
Конечно, вы можете сначала получить идентификатор окна, выполнив xdotool
в нужном окне, а затем соответствующим образом адаптировать команду bash.
Комментарии:
1. да, но ваш scipt может делать скриншоты только с терминала. для меня это больше похоже на: для i в {1 ..6}; выполнить echo $ i; перейти в режим ожидания 1; готово; импортировать окно $ (xdotool getwindowfocus) в формате asdf.png сначала подождите, затем прочитайте идентификатор окна и сделайте снимок экрана. в любом случае xdotool — это все, что мне было нужно. я отредактировал свои скрипты в соответствии со своими потребностями, и это работает. tnx