estoy perdido en la versión 3 .. en python2 + gdk2 es: ¿Cómo obtener la ventana Gdk de 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)
que es bastante sencillo. Pero entonces, el 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)
la xlib me está matando .. Soy incapaz de hacer nada con ella. ¿Alguien ha trabajado con eso antes?
La documentación tengo a través de varias veces ya es: Gdk3, Xlib
Conseguir la ventana de su XID era la manera más rápida para obtener una captura de pantalla en python2 supongo que tendré que tratar de otra manera en la python3 ... alguna idea? tal vez peek_children desde la ventana raíz? pero entonces, ¿cómo sé si es la ventana que quiero?
Awesome! Muchas gracias. Cuando probé esto por primera vez, creo que todavía no lo habían implementado. Sin embargo, solo un cambio menor para python3, la directiva 'print()' ahora necesita paréntesis. Aparte de eso, funciona como un encanto. ¡Gracias de nuevo! – demula