gubię w wersji 3 .. w python2 + gdk2 jest: Jak uzyskać okno Gdk z Xid?
#!/usr/bin/env python2
import gtk
gtk.gdk.window_process_all_updates()
window_xid = 54525964
gdk_window = gtk.gdk.window_foreign_new(window_xid)
który jest dość dużo prosto do przodu. Ale potem, horror:
#!/usr/bin/env python3
from gi.repository import xlib
from gi.repository import Gdk
from gi.repository import GdkX11
Gdk.Window.process_all_updates()
xlib_window = "???????"
gdk_display = GdkX11.X11Display.get_default()
gdk_window = GdkX11.X11Window.foreign_new_for_display(gdk_display, xlib_window)
xlib mnie zabija .. jestem w stanie nic zrobić z nim. Czy ktoś wcześniej z nim pracował?
Dokumentacja mam przez to już kilka razy: Gdk3, Xlib
Pierwsze okno z jego XID był najszybszy sposób, aby uzyskać zrzut ekranu w python2 Chyba będę musiał spróbować w inny sposób w python3 .. jakieś pomysły? może peek_children z okna głównego? ale skąd mam wiedzieć, czy to okno, którego chcę?
Awesome! Wielkie dzięki. Kiedy po raz pierwszy wypróbowałem to, myślę, że nie zostały jeszcze zaimplementowane. Po prostu drobna zmiana dla Pythona3, jednak dyrektywa 'print()' potrzebuje nawiasów. Poza tym działa jak urok. Dzięki jeszcze raz! – demula