如何创建一个多进程webkitgtk应用程序(Vala)?

时间:2010-07-12 01:11:13

标签: webkit vala

我想使用webkit在Vala中创建一个Web浏览器。

但是,我不知道如何使它成为多个过程。

我希望每个标签都有自己的过程。

我怎样才能使用Vala和Gtk +。

感谢您的回答。

2 个答案:

答案 0 :(得分:2)

结帐Gtk.PlugGtk.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)。