N'hésitez pas à remplir le formulaire pour nous contacter par courriel. Tous les champs sont obligatoires.

Votre nom ou pseudo

Votre adresse e-mail (facultatif)


Contenu de votre message


Entrez le code de validation    Q6WNB


Capturer vos fenêtres avec un python !!!

Salut à tous,

Le principal objectif été de créer une script qui me permmttent de capturer d'un coup toutes les fenêtre de mon bureau. Cela va me servir pour mon script de FleeX qui as subit de grosse modification, cependant il me manqué cette fonction pour publier la nouvelle version.

 

Le seul point qui sera à améliorer dans le futur est que le script utilise imageMagick et donc cela ajoute une dépendance qui serait bon de supprimer.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import subprocess
from gi.repository import Gtk, Wnck

def main():
    Gtk.main_iteration_do(True)
    screen = Wnck.Screen.get_default()
    screen.force_update()
    wins = screen.get_windows()
    for i in range(len(wins)):
        if not "Hud" in wins[i].get_name():
            if not "unity" in wins[i].get_name():
                if not "XdndCollectionWindowImp" in wins[i].get_name():
                    if not "Bureau" in wins[i].get_name():
                        wrealname= wins[i].get_name()
                        wxid= wins[i].get_xid()
                        wname=wrealname.replace('/','_SLASH_').replace(':','_2POINTS_').replace(' ','_SPACE_').replace('~','_TILDE_').replace('-','_TIRER_').replace('@','_AROBASE_').replace('(','_PARENTHESEOPEN_').replace(')','_PARENTHESECLOSE_').replace('{','_ACCOLADEOPEN_').replace('}','_ACCOLADECLOSE_').replace('[','_CROCHETOPEN_').replace(']','_CROCHETCLOSE_')
                        wname=wname.replace('WnckWindow - ','')
                        wname=wname+'@@'+str(wxid)+'.png'
                         
                        process = subprocess.Popen(['import', '-window', wrealname, 'png:-'],
                                        stdout=subprocess.PIPE)
                        scshot = process.communicate()[0]
                        with open(wname, 'wb') as out:
                            out.write(scshot)

if __name__ == '__main__':
    main()

Écrire un commentaire


Capcha
Entrez le code de l'image ag2p4