Webkitを使用してValaでWebブラウザを作成したいと思います。
しかし、それをマルチプロセスにする方法がわかりません。
各タブに独自のプロセスを持たせたい。
ValaとGtk+を使用してそれを行うにはどうすればよいですか。
ご回答有難うございます。
チェックアウトしGtk.Plug
てGtk.Socket
. Gtk.Socket
開いた各タブにを配置する必要があります。次に、GLib.Process
関数の 1 つを使用してプロセスGtk.Plug
を生成し、そのプロセスでWebView
. 次に、プラグをソケットに接続し、ユーザーインターフェイスから webview にコマンドを渡すためのプロセス間通信の方法が必要になります (「フォントを大きくする」など)。
Vala のドキュメントにはあまり説明がないようです。プラグとソケットの動作に関する詳細については、 C のドキュメントを参照してください。
編集:
プロセス間通信に関する詳細情報を求められました。いくつかの方法があり、どの方法があなたに最も適しているかわかりません。おそらくGLib.Process.spawn_async_with_pipes()
、子プロセスを開始して、子プロセスの標準入出力用のファイル記述子を取得することができます。次に、これらのファイル記述子をGLib.IOChannel.unix_new()
に渡して、プロセス間でメッセージをやり取りできます。
もう 1 つの方法は DBus を使用することですが、これはより複雑で文書化されていません。
GtkPlugを使用したい場合は、Vala-list (およびgtk フォーラム) でこの議論を参照してください。