[screenshot] fenêtre
[screenshot] fenêtre
Salut,
Pour mon script j'ai besoin de faire une capture d'écran d'une fenêtre sur mon bureau, qui s'appelle par exemple ma_fenetre. Mais je ne veux pas faire un screenshot de tout l'écran, juste de ma_fenetre. La fenetre peut se situer n'importe où sur l'écran. Elle n'a pas de position fixe (elle est en "mode float" sur mon bureau)
Savais vous comment je peux faire ?
Merci
Pour mon script j'ai besoin de faire une capture d'écran d'une fenêtre sur mon bureau, qui s'appelle par exemple ma_fenetre. Mais je ne veux pas faire un screenshot de tout l'écran, juste de ma_fenetre. La fenetre peut se situer n'importe où sur l'écran. Elle n'a pas de position fixe (elle est en "mode float" sur mon bureau)
Savais vous comment je peux faire ?
Merci
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Bonjour, tout dépend de ton environnement de bureau, gestionnaire de fenêtre... Avec KDE il y a un utilitaire qui fait très bien le boulot lancé automatiquement lors de l'appui sur "Impr écran"
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Non, mon gestionnaire de bureau est très léger : dwm. Il n'y a aucun utilitaire fourni avec.
Mais je ne veux pas faire un screenshot de tout l'écran, mais juste d'une fenêtre en particulier.benjarobin a écrit :Avec KDE il y a un utilitaire qui fait très bien le boulot lancé automatiquement lors de l'appui sur "Impr écran"
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Euh, sous KDE lorsque tu appui sur "Impr écran", cela fait en effet un screenshot de tout l'écran, mais cela t'ouvre aussi une fenêtre avec l'aperçu de ce qui est capturé, et depuis cette fenêtre tu peux sélectionner si tu veux une zone ou tout simplement cliquer sur une fenêtre que tu veux capturer de nouveau.
Bref, les outils de capture d'écran ce n'est pas ce qui manque : https://wiki.archlinux.org/index.php/Ta ... screenshot
Bref, les outils de capture d'écran ce n'est pas ce qui manque : https://wiki.archlinux.org/index.php/Ta ... screenshot
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Oui je sais. Sauf que je voudrais une commande qui me capture directement la fenêtre.benjarobin a écrit :et depuis cette fenêtre tu peux sélectionner si tu veux une zone ou tout simplement cliquer sur une fenêtre que tu veux capturer de nouveau.
Par exemple si j'ai une fenêtre qui s'appelle ma_fenetre, je voudrais une commande qui se lance comme ça :
Code : Tout sélectionner
executable ma_fenetre /home/users/mon_screenshoot.jpg
Comme ça, avec mon script je récupère l'image jpg et j'en fais ce que je veux.
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
En gros tu veux un programme qui en fonction du windows Id te fasse un screenshot de cette fenêtre, il y a au moins maim qui permet de le faire. Par contre il te faut un script pour récupérer le windows id en fonction du "nom" de la fenêtre. En gros en bricolant un peu je pense que ce que tu veux est tout à fait possible
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Oui, c'est exactement c que je veux.
Je vais regarder du côté de maim.
Merci
Je vais regarder du côté de maim.
Merci
Re: [screenshot] fenêtre
Bon, j'ai trouvé une solution, mais je ne sais pas si c'est très propre. Peux-tu me dire ce que tu en penses stp ?
Je recupère le résultat de la commande xlsclients -l.
Donc ce résultat, je recherche la chaine "ma_fenetre" correspondant au nom de ma fenêtre à screen.
Je remonte deux lignes plus haut, et j'extrait la chaine commencant juste après le "0x" jusqu'au "\n" de fin de ligne.
Ensuite, je converti cette chaine en entier (base 10).
Puis je lance la commande maim -i , suivie du nombre que j'ai convertit plus haut
Je recupère le résultat de la commande xlsclients -l.
Donc ce résultat, je recherche la chaine "ma_fenetre" correspondant au nom de ma fenêtre à screen.
Je remonte deux lignes plus haut, et j'extrait la chaine commencant juste après le "0x" jusqu'au "\n" de fin de ligne.
Ensuite, je converti cette chaine en entier (base 10).
Puis je lance la commande maim -i , suivie du nombre que j'ai convertit plus haut
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Ce sera peut être plus propre et plus simple via :
Ou encore mieux via
Mais en gros oui c'était ceci l'idée...
wmctrl -l
Ou encore mieux via
xdotool search ...
Mais en gros oui c'était ceci l'idée...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre (resolu)
Ok, merci pour ton aide !
Re: [screenshot] fenêtre
Juste une dernière question, est-ce que le nombre (id) renvoyé par :
a TOUJOURS 8 chiffres ?
Code : Tout sélectionner
xdotool search --name ma_fenetre
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Non par forcément, c'est un nombre en base 10, l'identifiant de la fenêtre... Pourquoi ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Ok.
Non, juste pour savoir si je faisais un tableau de 8 octet ou si je laissais un peu plus de place
Non, juste pour savoir si je faisais un tableau de 8 octet ou si je laissais un peu plus de place
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Je ne suis pas sûr de te suivre, un tableau ? mais pourquoi faire ?
Je verrais bien un script qui fait ceci (absolument non testé, écrit ceci vite fait) :
Je verrais bien un script qui fait ceci (absolument non testé, écrit ceci vite fait) :
Code : Tout sélectionner
for winid in $(xdotool search --name ma_fenetre) ; do
maim -i $winid
done
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
C'est parce que mon script est fait en C
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
Tu aimes te faire du mal (et je parle en connaissance de cause, je travail dans les logiciels embarqués), dans ce cas quel est l’intérêt d'utiliser xdotool et maim pourquoi ne pas utiliser les API des librairies associés ?
Je ne dois surement pas tout suivre, mais en bash c'est fait en 2-3 lignes, il y a sûrement quelque chose qui m’échappe... Et ne me dis pas que c'est pour des questions de performance !
Je ne dois surement pas tout suivre, mais en bash c'est fait en 2-3 lignes, il y a sûrement quelque chose qui m’échappe... Et ne me dis pas que c'est pour des questions de performance !
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Je le fais en C, parce qu'après je fais des manipulations sur les pixels de l'image. Et en bash, de un je ne sais pas faire, et de deux ca prendrais beaucoup de temps.
Les api des librairies associés ? Genre libjpeg par exemple ? Je l'utilise pour ensuite lire mon image et faire des traitements dessus. Mais elle ne permet pas de faire un screen d'une fenêtre...
Les api des librairies associés ? Genre libjpeg par exemple ? Je l'utilise pour ensuite lire mon image et faire des traitements dessus. Mais elle ne permet pas de faire un screen d'une fenêtre...
- benjarobin
- Maître du Kyudo
- Messages : 17237
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [screenshot] fenêtre
maim utlise https://docs.enlightenment.org/api/imlib2/html/ après je te laisse regarder aussi la doc de Xorg pour trouver la fenêtre qui t'intéresse.
Mais je conçoit que c'est peut être un peu lourd à développer et que c'est plus simple de lancer un exécutable...
Si ton code est compatible GPL alors tu peux même faire des copier-coller de code de https://github.com/naelstrof/maim/blob/ ... im.cpp#L54
Mais je conçoit que c'est peut être un peu lourd à développer et que c'est plus simple de lancer un exécutable...
Si ton code est compatible GPL alors tu peux même faire des copier-coller de code de https://github.com/naelstrof/maim/blob/ ... im.cpp#L54
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [screenshot] fenêtre
Dac, je te remercie pour tes liens