我想使用webkit在Vala中创建一个Web浏览器。
但是,我不知道如何使它成为多个过程。
我希望每个标签都有自己的过程。
我怎样才能使用Vala和Gtk +。
感谢您的回答。
答案 0 :(得分:2)
结帐Gtk.Plug
和Gtk.Socket
。您需要在打开的每个标签中加上Gtk.Socket
。然后使用GLib.Process
函数之一生成一个流程,并在该流程中构建一个包含Gtk.Plug
的{{1}}。然后,您需要一些进程间通信,一方面是将插件连接到套接字,另一方面是将命令从用户界面传递到webview(例如“使字体变大”)。
看起来Vala文档中没有太多解释,您可能需要查看C documentation以获取有关插头和插槽如何工作的更多信息。
修改强>
您要求提供有关进程间通信的更多信息。有几种方法,我不确定哪一种最适合你。也许您可以尝试WebView
启动子进程并获取子进程的标准输入和输出的文件描述符。然后,您可以将这些文件描述符传递给GLib.IOChannel.unix_new()
,以便在您的进程之间来回传递消息。
另一种方法是使用DBus,但这更复杂,记录更少。
答案 1 :(得分:0)
您可以使用GtkPlug查看此discussion in Vala-list (和gtk forum)。