[screenshot] fenêtre

Applications, problèmes de configuration réseau
Répondre
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

[screenshot] fenêtre

Message par Luzwitz »

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
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

Non, mon gestionnaire de bureau est très léger : dwm. Il n'y a aucun utilitaire fourni avec.
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"
Mais je ne veux pas faire un screenshot de tout l'écran, mais juste d'une fenêtre en particulier.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

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.
Oui je sais. Sauf que je voudrais une commande qui me capture directement la fenêtre.
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
et que ça l'enregistre dans /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.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

Oui, c'est exactement c que je veux.
Je vais regarder du côté de maim.
Merci
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

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
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

Ce sera peut être plus propre et plus simple via : 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
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre (resolu)

Message par Luzwitz »

Ok, merci pour ton aide !
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

Juste une dernière question, est-ce que le nombre (id) renvoyé par :

Code : Tout sélectionner

xdotool search --name ma_fenetre
a TOUJOURS 8 chiffres ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

Ok.
Non, juste pour savoir si je faisais un tableau de 8 octet ou si je laissais un peu plus de place
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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) :

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
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

C'est parce que mon script est fait en C
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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 !
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

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...
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [screenshot] fenêtre

Message par benjarobin »

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
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Luzwitz
Daikyu
Messages : 68
Inscription : jeu. 04 juin 2015, 13:42
Contact :

Re: [screenshot] fenêtre

Message par Luzwitz »

Dac, je te remercie pour tes liens :D
Répondre