Nomeie o arquivo como
import screenshot-'date +%H%M%S'.jpg
Eu quero configurar uma tecla de atalho global para fazer uma nova captura de tela e salvá-la, digamos, em algum lugar dentro da minha pasta pessoal. Eu posso fazer uma captura de tela com o ImageMagick com este comando:
import screenshot.jpg
No entanto, se eu executar isso várias vezes, o screenshot.jpg será sobrescrito várias vezes. Eu quero que o aplicativo escreva screenshot1.jpg, screenshot2.jpg, etc. automaticamente. Como seria meu comando neste caso?
Você também pode usar uma ferramenta como o Obturador para fazer isso. Ele fornece a capacidade de capturar capturas de tela de seleções, janelas ou toda a área de trabalho. Essas ações podem ser personalizadas para um atalho de teclado específico dentro do Shutter.
diálogo mostrando os mapeamentos de teclado
caixadediálogomostrandoopadrãodenomenclatura
Se você usar o comando import
que faz parte do Ferramenta de ferramentas do GoogleMagick .
Basta executar o comando abaixo e clicar no botão esquerdo do mouse quando estiver pronto para fazer uma captura de tela.
$ import "screenshot-$(date +"%d %b %T").jpg"
Como resultado neste arquivo:
$ ls -l | grep screenshot
-rw-rw-r-- 1 saml saml 2273538 Sep 26 13:06 screenshot-26 Sep 13:06:55.jpg
Com esta forma de comando você tem que citar qualquer argumento para import
para que o nome do arquivo não seja dividido em espaços.
$ import "...file with spaces..."
Você também pode usar esse comando para capturar uma captura de tela da janela ativa no momento:
$ import -window \
"$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5)" \
"screenshot-$(date +"%d %b %T").jpg"
No exemplo acima, o comando xprop
determinará programaticamente o ID da janela ativa:
$ xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5
0x2e00004
Há coisas mais elaboradas que você pode fazer aqui, só para aguçar o apetite.
Um script:
#!/bin/bash
n=0
maxn=1000
bn=screenshot%.jpg
while [[ $n -lt $maxn ]]; do
# create temporary filename
tn=${bn/\%/${n}}
# check whether the file already exists
if [[ -f $tn ]]; then
((n++))
else
screenshot_command $tn
break
fi
done
$bn
é o nome base do arquivo no qual o caractere de porcentagem atua como um espaço reservado para um número. Observe que, se você remover alguns dos arquivos, eles serão recriados, pois o nome será usado assim que o arquivo não existir - você poderá reverter a ordem de contagem (ou seja, decrementar do máximo) e usar o último nome não existente. acertar um que já está lá.
Tags files shell-script filenames