Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 6.052 ]
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
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (12)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









