我正在关注PyGTK套接字上的教程,在该教程中,您将xterm窗口嵌入到另一个应用程序中。
我从这里下载文件:http://www.pygtk.org/pygtk2tutorial/examples/socket.py
当我按照以下命令运行它时:http://faq.pygtk.org/index.py?req=show&file=faq19.015.htp我得到两个不同的结果:
我已将脚本修改为如下所示:
#!/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的两个版本中都是相同的。那么,有人知道这是否可以解决还是Bug?
最佳答案
乍一看,这似乎是xterm插件/套接字中的错误。我可以在Lucid上复制。如果已安装vim-gtk,则将cmd替换为:
cmd = ["gvim", "--socketid", sock_id]
而且您的脚本可以很好地嵌入vim。
关于sockets - 无法使用Socket在PyGTK中正确嵌入窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882842/