Я следую руководству по сокету PyGTK, где вы встраиваете окно xterm в другое приложение.
Я скачал файл отсюда: http://www.pygtk.org/pygtk2tutorial/examples/socket.py
Когда я запускаю его следующим образом: http://faq.pygtk.org/index.py?req=show&file=faq19.015.htp я получаю два разных результата:
- В Ubuntu Karmic Koala (GTK 2.16) xterm отображается отдельно от окна сокета и не может использоваться.
- В Lucid Lynx (GTK 2.17) окно xterm исчезает, а окно сокета, кажется, получает фон от xterm, но ничего не происходит и, конечно, его нельзя использовать.
Я изменил скрипт, чтобы он выглядел так:
#!/usr/bin/python
import pygtk
pygtk.require('2.0')
import gtk
from subprocess import Popen
def plugged_event(widget):
print "Inserted a widget"
window = gtk.Window()
window.connect("destroy", gtk.main_quit)
window.show()
socket = gtk.Socket()
window.add(socket)
socket.connect("plug-added", plugged_event)
sock_id = str(socket.get_id())
cmd = ["xterm", "-into", sock_id]
Popen(cmd)
socket.show()
gtk.main()
Кажется, все работает нормально, xterm встроен в окно сокета, но я не могу использовать клавиатуру, и курсор выглядит пустым. Это то же самое в обеих версиях GTK. Итак, кто-нибудь знает, можно ли это исправить или это ошибка?