1

我想使用 webkit 在 Vala 中制作一个网络浏览器。

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

我希望每个选项卡都有自己的进程。

我如何使用 Vala 和 Gtk+ 来做到这一点。

感谢您的回答。

4

2 回答 2

2

签出Gtk.PlugGtk.Socket。您需要Gtk.Socket在打开的每个选项卡中添加一个。然后使用其中一个GLib.Process函数生成一个进程,并在该进程中构造一个Gtk.Plug包含您的WebView. 然后,您将需要某种进程间通信方式,一方面将插头连接到套接字,并将命令从用户界面传递到 web 视图(例如“使字体变大”)。

看起来 Vala 文档没有包含太多解释,您可能需要查看C 文档以获取有关插头和插座如何工作的更多信息。

编辑:

您要求提供有关进程间通信的更多信息。有几种方法,我不确定哪一种最适合您。也许您可以尝试GLib.Process.spawn_async_with_pipes()启动您的子进程并获取子进程标准输入和输出的文件描述符。然后,您可以传递这些文件描述符以GLib.IOChannel.unix_new()在进程之间来回传递消息。

另一种方法是使用 DBus,但这更复杂,文档也更少。

于 2010-07-12T09:17:21.317 回答
0

您可能想使用GtkPlug ,请参阅Vala-list(和gtk 论坛)中的此讨论。

于 2010-07-12T09:17:07.383 回答