Você pode usar o screencapture
utilitário de linha de comando. Inclui (entre outras) as seguintes opções:
-x do not play sounds
-R<x,y,w,h> capture screen rect
files where to save the screen capture, 1 file per screen
Então, no seu caso, para capturar uma captura de tela com o canto superior esquerdo em 20/20, criando uma janela de 640 x 380:
screencapture -x -R20,20,640,380 ~/Desktop/test.png
Você pode colocar este comando no seu crontab
para que ele seja executado repetidamente, ou simplesmente use um loop que seja executado em uma janela do Terminal. Nesse caso, criaremos uma captura de tela a cada segundo ( sleep 1
) e o arquivo de saída será nomeado screen_YYMMDDTHHMMSS
de acordo.
while [ 1 ]; do
date=$(date "+%Y%m%dT%H%M%S")
screencapture -x -R20,20,640,380 ~/Desktop/"screen_${date}.png"
sleep 1
done
Você também pode criar uma ação do Automator ou AppleScript para executar um script de shell como o acima. Por exemplo, abra o Editor de scripts e cole isto:
do shell script "date=$(date '+%Y%m%dT%H%M%S'); screencapture -x -R20,20,640,380 ~/Desktop/screen_${date}.png"
Deveria ser assim:
Salveessescripteuse