====== Décoder un QRCode en capturant une région d'un écran ======
===== Pré-requis =====
* [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>zbar-tools]]** et **[[apt>zenity]]**\\ zbar-tools permet de scanner une image. [[:zenity]] permet de faire apparaître une fenêtre graphique.
* Avoir un logiciel pour créer un [[:raccourci-lanceur]] comme [[:menulibre]] ou [[:alacarte]]
* Avoir un logiciel de [[:capture_d_ecran|capture d'écran]] (normalement déjà installé sur votre ordinateur).
Les logiciels de capture d'écran qui sont pris en charge sont :
* [[:xfce4-screenshooter|xfce4-screenshooter (Xfce)]]
* [[:gnome-screenshot|Gnome Screenshot]]
* Spectacle (KDE)
===== Télécharger le script =====
Télécharger le script ci-dessous
#!/bin/bash
zerr() {
zenity --error --text="$1"
}
TMP_FILE=""
suppr_tempfile=0
delete_tmpfile() {
[[ "$suppr_tempfile" -eq 1 ]] && rm "$TMP_FILE"
}
if ! command -v zbarimg > /dev/null; then
zerr "La commande zbarimg n'existe pas\n\ninstaller l'utilitaire via : sudo apt install zbar-tools"
exit 1
fi
if [[ ! -f "$1" ]]; then
TMP_FILE="$(mktemp)"
rm -f "$TMP_FILE"
# lower case
ENV_DESKTOP="${XDG_CURRENT_DESKTOP,,}"
case "$ENV_DESKTOP" in
*gnome) gnome-screenshot -a -f "$TMP_FILE";;
xfce) xfce4-screenshooter -r -s "$TMP_FILE";;
*kde*) spectacle -r -o "$TMP_FILE";;
*)
zerr "Le script ne peut pas connaître quel outil de capture d'écran utiliser à partir de l'environnement de bureau $ENV_DESKTOP"
exit 1;;
esac
# le fichier n'a pas été créé
if [[ ! -f "$TMP_FILE" ]]; then
exit 0
fi
suppr_tempfile=1
set "$TMP_FILE"
fi
#echo "fichier \"$1\""
if ! RES=$(zbarimg --raw "$1" 2> /dev/null); then
delete_tmpfile
zerr "Aucun QRCode détécté" &
exit 0
fi
delete_tmpfile
zenity --info --no-markup --text="$RES" --ellipsize &
===== Placer-le dans votre répertoire à exécutables =====
Pour le placer dans votre ''$HOME/bin'',
lancez cette commande
mkdir -p "$HOME/bin" ; mv "$(xdg-user-dir DOWNLOAD)/qr-scan-local.sh" "$HOME/bin/"; chmod +x "$HOME/bin/qr-scan-local.sh"; echo "$HOME/bin/qr-scan-local.sh"
Copier la dernière ligne qui correspond au chemin absolu vers le script.
===== Créé un raccourci-lanceur =====
En utilisant [[:menulibre]] ou [[:alacarte]], créez un raccourci-lanceur avec comme valeur de ''Commande'' le chemin absolu vers le script //(voir section au-dessus)//.
----
//Contributeurs : [[:utilisateurs:Amiralgaby|Amiralgaby]]//