#51 Le 19/03/2009, à 15:34
- Coolaman
Re : [Script] Screenshot
Bizarre, tout fonctionne chez moi ( en ligne de commande, squeeze et xarchiver )
Bon je te met le code
#!/bin/bash
# Contact : coolaman@free.fr
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Depends : Scrot
# Zenity
# Imagemagick
# libaosd or Xdialog ( not necessary, only for showing time in pause )
###################### Traduction ##########################
lang="`echo ${LANG:0:2}`"
full="Total"
desfull="Take a full screnshot"
part="Partial"
despart="Take a partial screenshot"
title="Save in which directory ?"
des="Description"
ch="Choice"
pause="Pause"
despause="Allows to take a popup"
pec="Unknown format"
rap="Express"
rapide="Recording under Screenshot.png in your home"
ok="Save this screenshot ?"
exist="File exists !"
case $lang in
fr)
full="Totale"
desfull="Prendre une capture totale"
part="Partielle"
despart="Prendre une capture partielle"
title="Sauvegarder dans quelle repertoire ?"
des="Description"
ch="Choix"
pause="Pause"
despause="Permet de prendre un popup ou autre"
pec="Format inconnu"
rap="rapide"
rapide="Enregistrement sous Screenshot.png dans votre home"
ok="Garder ce screenshot ?"
exist="Le fichier existe !"
;;
de)
full="Voll"
desfull="Eine Gesamtgefangennahme nehmen"
part="Partiell"
despart="Eine partielle Gefangennahme nehmen"
title="Bewahren in, welches repertoire ?"
des="Beschreibung"
ch="Wahl"
pause="Pause"
despause="Erlaubt, ein popup zu nehmen "
pec="Unbekanntes Format"
rap="Schnellzug"
rapide="Registrierung unter Screenshot.png in Ihrem Heim"
ok="Diesen Screenshot behalten ?"
exist="Die Datei existiert !"
;;
es)
full="Total"
desfull="Tomar una captura total"
part="Parcial"
despart="Tomar una captura parcial"
title="Salvaguardar en cuál repert ?"
des="Descripción"
ch="Elección"
pause="Pausa"
despause="Permite tomar un popup"
pec="Formato desconocido"
rap="rápido"
rapide="Registro bajo Screenshot.png en su home"
ok="Guardar a este screenshot ?"
exist="El fichero existe !"
;;
it)
full="Totale"
desfull="Prendere una cattura totale"
part="Parziale"
despart="Prendere una cattura parziale"
title="Salvaguardare in quale repertoire ?"
des="Descrizione"
ch="Scelta"
pause="Pausa"
despause="Permette di prendere un popup"
pec="Formato sconosciuto"
rap="Veloce"
rapide="Registrazione sotto Screenshot.png nel vostro home"
ok="Custodire questo screenshot ?"
exist="Lo schedario esiste !"
;;
esac
mkdir /home/$USER/scr
############################ Sauvegarde ####################################
function name {
cd ~
files=`zenity --file-selection --save --filename "Screenshot.png" --title "$title"`
if [ "$files" = "" ]; then rm -rf /home/$USER/scr ; exit 0
fi
######################## Recuperation du repertoire ##########################
rep=`dirname "$files"`
######################### Recuperation du nom ###############################
nom=`basename "$files" | cut -f1 -d.`
##########################Recuperation extension ############################
ext=`basename "$files" | cut -f2 -d.`
######################### Choix de l'extension ##############################
case $ext in
"png") ext="png"
;;
"jpg") ext="jpg"
;;
"ppm") ext="ppm"
;;
"tiff") ext="tiff"
;;
"jpeg") ext="jpeg"
;;
*) zenity --error --title="" --text="$pec"
name
;;
esac
convert /home/$USER/scr/Screenshot.png /home/$USER/scr/Screenshot."$ext"
#################### Incrementation si le fichier existe ###################
if [ -e "$rep"/"$nom"."$ext" ]; then v=1
while [ -e "$rep"/"$nom"_"$v"."$ext" ]
do
echo $v
v=$(($v+1))
done
fi
if [ -n "$v" ] ; then mv /home/$USER/scr/Screenshot."$ext" "$rep"/"$nom"_"$v"."$ext"
else mv /home/$USER/scr/Screenshot."$ext" "$rep"/"$nom"."$ext"
fi
}
############################# Affichage #####################################
function affich {
if [ -e /usr/bin/convert ] ; then
convert -thumbnail 400x400 /home/$USER/scr/Screenshot.png /home/$USER/scr/thumb.png && ( display -border 2x2 -geometry -1-1 -title "Screenshot.png" -immutable /home/$USER/scr/thumb.png & zenity --question --title="Printscreen" --text="$ok" )
case $? in
1)
killall display ; zob=""
rm /home/$USER/scr/"Screenshot.png" ; rm /home/$USER/scr/thumb.png ; choose
;;
0)
killall display
;;
esac
fi
}
############################ Affichage Pause ##############################
function pa {
if [ -e /usr/bin/aosd_cat ]; then
if [ "$zob" = "ok" ] ; then
while [ "$p" -ge 1 ]
do
sleep 1
p=$(($p-1))
echo "$p" | aosd_cat -p 2 --x-offset=-20 --y-offset=10 --font="bitstream bold 40" --fore-color="#e53838" --transparency=1 --fade-full=1000
done
fi
elif [ -e /usr/bin/Xdialog ]; then
if [ "$zob" = "ok" ] ; then
(
while [ "$p" -ge 0 ]
do
echo "XXX";echo "$p";echo "XXX"
sleep 1
p=$(($p-1))
done
) | Xdialog --under-mouse --no-buttons --infobox "" 2 5 0
fi
fi
}
########################### Screenshot total ###############################
function tot {
pa && scrot /home/$USER/scr/Screenshot.png -b -d1
if [ $? != 0 ] ; then zenity --error --title "Printscreen" ; p=0
choose
fi
}
########################### Screenshot partiel ##############################
function part {
pa && scrot /home/$USER/scr/Screenshot.png -s -b
if [ $? != 0 ] ; then zenity --error --title "Printscreen" ; p=0
choose
fi
}
################################# Choix #####################################
function choose {
choix=`zenity --list --radiolist --width=530 --height=220 \
--title="Printscreen" \
--column="" --column="$ch" --column="$des" \
TRUE "$rap" "$rapide" \
FALSE "$full" "$desfull" \
FALSE "$part" "$despart" \
FALSE "$pause" "$despause" `
case "$choix" in
"$full") tot && affich && name ;;
"$part") part && affich && name ;;
"$rap") tot && affich ; DATE=`date +"%R_%d%m%Y"` ; cp /home/$USER/scr/Screenshot.png /home/$USER/Screenshot_$DATE.png ;;
"$pause") p=`zenity --scale --min-value=0 --max-value=20 --text="$pause" --width=100 --title="Printscreen" ` ; zob="ok" ; choose ;;
*) rm -rf /home/$USER/scr ; exit 0 ;;
esac
}
choose
rm -rf /home/$USER/scr
exit 0
A +
Hors ligne
#52 Le 25/03/2009, à 19:05
- hector
Re : [Script] Screenshot
Bonjour et bravo pour ce script :
je vois 3 petites améliorations possibles, dites-moi ce que vous en pensez :
* dans le choix des 4 possibilités : proposer celle qu'on a choisie le coup d'avant.
* le bouton valider présélectionné pour qu'un "entrée" suffise à lancer l'imprime écran.
* la possibilité de mettre l'image dans le presse-papiers (pour pouvoir le rajouter dans un document par copier-coller).
Merci.
Hors ligne
#53 Le 27/03/2009, à 20:18
- Coolaman
Re : [Script] Screenshot
Merci, soluce vite fait pour ta premiere demande :
Remplacer :
"$full") tot && affich && name ;;
"$part") part && affich && name ;;
"$rap") tot && affich ; DATE=`date +"%R_%d%m%Y"` ; cp /home/$USER/scr/Screenshot.png /home/$USER/Screenshot_$DATE.png ;;
par
"$full") sed -i "233,235s/TRUE/FALSE/g" "$DIR_SCRIPT"/Printscreen && sed -i '234s/FALSE/TRUE/g' "$DIR_SCRIPT"/Printscreen ; tot && affich && name ;;
"$part") sed -i "233,235s/TRUE/FALSE/g" "$DIR_SCRIPT"/Printscreen && sed -i '235s/FALSE/TRUE/g' "$DIR_SCRIPT"/Printscreen ; part && affich && name ;;
"$rap") sed -i "233,235s/TRUE/FALSE/g" "$DIR_SCRIPT"/Printscreen && sed -i '233s/FALSE/TRUE/g' "$DIR_SCRIPT"/Printscreen ; tot && affich ; DATE=`date +"%R_%d%m%Y"` ; cp /home/$USER/.screenshot/Screenshot.png /home/$USER/Screenshot_$DATE.png ;;
et ajoute en debut du script la ligne :
DIR_SCRIPT="le repertoire ou se trouve le script ex: /home/login/.script"
par contre ca ne fonctionnera qu'au redémarrage du script, pas si tu annule.
Pour le reste, je ne sais pas si zenity permet de "pré valider" entrée ( ou je ne connais pas la commande ) et mettre l'image dans le presse papier, faut que je regarde du coté de imagemagick.
Dernière modification par Coolaman (Le 27/03/2009, à 21:47)
Hors ligne
#54 Le 28/03/2009, à 17:41
- louis3d
Re : [Script] Screenshot
Très bon petit script !
Merci c'est bien utile...
PS : Moi non plus je n'arrivais pas à decompresser ton archive
Dernière modification par louis3d (Le 28/03/2009, à 17:42)
Hors ligne
#55 Le 28/03/2009, à 19:04
- jeromeg
Re : [Script] Screenshot
Salut,
Sinon vous pouvez utiliser Xfce4 Screenshooter que j'ai pas mal amélioré ces derniers temps. Par exemple, il est possible de mettre les captures d'écran dans le presse-papier.
À +,
Jérôme
Hors ligne
#56 Le 29/03/2009, à 08:55
- Coolaman
Re : [Script] Screenshot
Très bon petit script !
Merci c'est bien utile...PS : Moi non plus je n'arrivais pas à decompresser ton archive
J'ai recompressé l'archive en ligne de commande et re-uploadé, ca devrai marcher.
Salut,
Sinon vous pouvez utiliser Xfce4 Screenshooter que j'ai pas mal amélioré ces derniers temps. Par exemple, il est possible de mettre les captures d'écran dans le presse-papier.
Je confirme Xfce4 Screenshooter fonctionne très bien ( j'ai honte mais c'est ce que j'utilise maintenant car plus rapide que mon script, qui n'était à la base qu'un soluce temporaire).
Hors ligne
#57 Le 30/05/2009, à 20:44
- Mornagest
Re : [Script] Screenshot
Salut,
Sinon vous pouvez utiliser Xfce4 Screenshooter que j'ai pas mal amélioré ces derniers temps. Par exemple, il est possible de mettre les captures d'écran dans le presse-papier.
À +,
Jérôme
J'ai pas réussi à trouver comment lier le plugin à la touche impr. écran... je peux rajouter un raccourci dans les paramètres clavier de Xfce, mais il faut connaître la commande à lancer, or j'ignore comment elle se nomme.
Quelqu'un sait ?
Edit : au temps pour moi, c'est expliqué clairement ici... désolé et merci Jeromeg
Dernière modification par Mornagest (Le 30/05/2009, à 20:47)
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#58 Le 12/11/2013, à 09:22
- dYp
Re : [Script] Screenshot
Pour configurer xfce4-screenshooter sur le clavier :
- Ouvrir "Menu" > "Paramètres" > "Clavier"
- Onglet "Raccourci des Applications" Cliquer "Ajouter"
- Saisir "xfce4-screenshooter" puis cliquer "Valider"
- Dans la fenêtre suivante appuyer sur la ou les touches désirées pour le raccourci... et voilà, mon [Print Screen] lance 'xcfe4-screenshooter'
Hors ligne