2

私はJavascriptベースのバインディングを試して、webkitviewを埋め込むだけの独自のGnome-Shell-Extensionを構築しています。

しかし、次の 3 行で gnome-shell を完全にクラッシュさせます (上部パネルが消え、再起動するには再ログインする必要があります)。したがって、LookingGlass の「エラー」タブを調べて、何が間違っていたのかを調べる方法はありません。

WebKit = imports.gi.WebKit;
GtkClutter = imports.gi.GtkClutter;
Main.panel._rightBox.add(new GtkClutter.Actor({contents: new WebKit.WebView()}));

何が問題なのかを知る方法はありますか?

4

1 に答える 1

3

gnome-shell やその他の GTK ウィジェット内に WebKitGtk WebView を埋め込むことはできません。GtkClutterEmbed が含まれます。これは実際には GTK の制限です。

WebKitGtk WebView を埋め込みたい場合、1 つのオプションは別のプロセスを使用することです。GtkWindow の XID を取得し、ClutterX11TexturePixmap アクターを使用して拡張内に表示します。Clutter アクターからアプリケーションにもイベントを渡す必要があります。XID とイベントを渡すために、D-Bus などの何らかの形式の IPC を使用できます。

于 2011-11-23T14:04:28.487 に答える