[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Capture d'écran avec wmctrl+import



Bonjour Etienne et le monde libre,

Exact ainsi ça devrait passer.
Ca explique pourquoi "import -window root image.png" fonctionne (la capture ne se fait que sur la fenêtre principale).

Il faut que j'adapte ton algorithme  à ma sauce.

Un truc que je ne comprends pas est que "wmctrl -d" ne me renvoie qu'UN desktop, alors que j'en attendais 4...

Merci

pierre estrem


Le 12/10/2021 à 22:09, Étienne Mollier a écrit :
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,  :)


Reply to: