Bonjour Pierre, Pierre ESTREM, on 2021-10-12: > Sous Debian/XFCE je tente de > capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la > moulinette de tesseract. […] > import -window "$window" screenshot.png > > Et j'obtiens l'erreur : > > import: unable to read X window image `0x05600003': Ressource temporairement > non disponible @ error/xwindow.c/XImportImage/5000. > import: missing an image filename `screenshot.png' @ > error/import.c/ImportImageCommand/1293. > > Où est mon erreur ? C'est une limitation de "import", le programme ne prend pas en charge la capture des fenêtres qui ne sont pas rendues à l'écran. Une manière de contourner ça serait de rapatrier la fenêtre sur le bureau courant, le temps de la capture, puis de la renvoyer à son bureau d'origine, une fois que c'est fini. Aux fautes de frappe près, ça donnerait un script du genre : #! /bin/sh # Identification du firefox window="$(wmctrl -l | grep -i firefox | cut -f1 -d" ")" orig_desktop="$(wmctrl -l | grep -i firefox | cut -f3 -d" ")" # Bureau en cours d'utilisation cur_desktop="$(wmctrl -d | grep ' \+\* DG: ' | cut -f1 -d" ")" # Transfert du firefox sur le bureau courant wmctrl -i -r "$window" -t "$cur_desktop" # Capture de la fenêtre du firefox import -window "$window" screenshot.png # Renvoi du firefox à son emplacement d'origine wmctrl -i -r "$window" -t "$orig_desktop" # Fin D'après mes tests, la fenêtre du navigateur ne vole pas le focus pendant la manœuvre, donc il ne devrait pas y avoir trop d'interférences de ce côté là. Le script n'est pas encore au top niveau : si le firefox est iconifié, alors l'import va tout de même planter, mais je crois que l'option -b de wmctrl permettrait de faire les ajustements nécessaires, s'il y a besoin de traiter ce cas de figure plus en détail. Bonne soirée, :) -- Étienne Mollier <emollier@emlwks999.eu> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/2, please excuse my verbosity.
Attachment:
signature.asc
Description: PGP signature