====== 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]]//