Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 6.073 ]
Homepage: http://sanmarcell.wordpress.com
Simples shell script que "tira" screenshots do desktop do usuário.
P.S.: Já havia postado aqui no VoL uma versão desse script, porém, resolvi dar uma exugada em seu código, por isso, estou "repostando" o script!
Espero que curtam...
Falou!!! =)
#!/bin/sh
#
# Capturando tela em modo grafico.
#
# Sandro Marcell (sandro_marcell@yahoo.com.br)
# Boa Vista, Roraima - 04/11/2007 (Atualizado em 17/08/2008).
#
# 17/08/2008
# - Todo o codigo do script foi "enxugado".
#
# Este script pode tirar uma 'screenshot' de toda sua area de trabalho
# ou apenas duma janela especifica. Para tanto, basta que na tela
# inicial se pressione:
# - Botao 'Tela' = Captura toda tela;
# - Botao 'Janela' = Captura janela especifica.
#
# Dependencias: xmessage e import (pacote ImageMagick).
PATH=/bin:/usr/bin:/usr/local/bin
prog=`basename ${0}`
# Definindo a qualidade de captura da imagem:
__defqld__ ()
{
# Caixa de selecao de qualidade:
selec=`xmessage -title "$prog" -buttons Alta,Baixa,Media -print \
-center "Que qualidade deseja para a imagem a ser criada?" `
# Opcao escolhida:
case "$selec" in
Baixa) qld=25 ;;
Media) qld=50 ;;
Alta ) qld=100 ;;
* ) exit 1 ;;
esac
}
# Funcao que verifica o resultado da operacao:
__verifica__ ()
{
# Checando o codigo de retorno do comando 'import':
if [ $cret -eq 0 ]
then
# Captura bem sucedida:
xmessage -title "$prog" -center \
"${HOME}/$$.jpg: "$opc" capturada com sucesso."
# Removendo arquivo de log:
rm -f /tmp/$$
exit
else
# Erro: Informando o erro ocorrido:
xmessage -title "Erro" -center -file /tmp/$$
rm -f /tmp/$$
exit 1
fi
}
# Janela principal: Opcoes disponiveis para o usuario:
opc=`xmessage -title "$prog" -buttons Tela,Janela,Nada \
-print -center "O que deseja capturar?" `
# Verificando e executando a opcao escolhida:
if [ "$opc" = "Tela" ]
then
# Chamando a funcao '__defqld__':
__defqld__
# Capturando...
import -silent -dither -window root -quality "$qld" \
-pause 1 ${HOME}/$$.jpg 2> /tmp/$$
# Armazenando o codigo de retorno do comando 'import':
cret=$?
# Chamando a funcao '__verifica__':
__verifica__
elif [ "$opc" = "Janela" ]
then
__defqld__
# Aviso ao usuario:
xmessage -title "$prog" -buttons Ok:0 -center \
"Ao clicar em 'Ok' um cursor aparecera, use-o para clicar sobre
a janela que deseja capturar!"
# O usuario pressionou o botao 'Ok'?
if [ $? -eq 0 ]
then
import -silent -dither -screen -quality "$qld" \
-pause 1 ${HOME}/$$.jpg 2> /tmp/$$
cret=$?
__verifica__
else
exit $?
fi
elif [ "$opc" = "Nada" ]
then
exit 1
else
exit $?
fi
# Fim
Configuração Teclado ABNT2 (Gnome3)
Informações gerais sobre o usuário
Montar unidades de Rede windows
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (7)
Quais licenças open source têm valor jurídico? (7)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (1)









