ターミナル(VTE)のイベントでGTK +フォーカスを受け取る必要がありますが、イベントはGtk.Window参照を保持するEventFocusを返します。
http://www.valadoc.org/gdk-3.0/Gdk.EventFocus.html
ウィンドウリファレンスからターミナルを取得するにはどうすればよいですか?再入力できません。コンテナのようです。しかし、ターミナルを取得するために呼び出すメソッドを見つけることができません。
Terminal terminal = new Terminal();
// ...
terminal.focus_in_event.connect((event) =>
{
the_terminal = event.window; // DOES NOT WORK > invalid cast from `GdkX11Window' to `Terminal'
return false;
});
指摘してくれてありがとう私はそれを必要としない。ええ、私の本当のコードは次のとおりです。
for (int i = 0; i < terminal.length; i++) {
this.terminal[i].focus_in_event.connect((event) =>
{
GLib.stdout.printf("Focus event terminal %p\n", this.terminal[i]);
return false;
});
}
残念ながら、常にnullを出力します:-(
ありがとう!