Я пытаюсь отобразить Gtk.AboutDialog
из моего расширения GNOME Shell. Я написал следующую функцию:
_showAbout: function() {
var authors = ["Ralf"];
// Create the About dialog
let aboutDialog = new Gtk.AboutDialog({ title: "About AboutDialogTest",
program_name: "MyExtension Version " + MySelf.metadata.version,
copyright: "AboutDialogTest \xa9 2018",
authors: authors,
website: "https://...",
website_label: "MyExtension Homepage",
comments: "GNOME Shell extension to test AboutDialog"
});
// Connect the Close button to the destroy signal for the dialog
aboutDialog.connect("response", function() {
aboutDialog.destroy();
});
aboutDialog.show();
}
Ну, диалог about отображается, но не корректно. Я могу вывести диалоговое окно на передний план, щелкнув, но нажатие на [x] не закрывает диалоговое окно. Диалог можно закрыть, нажав ESC.
В системном журнале я вижу следующие сообщения:
org.gnome.Shell.desktop[4033]: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
org.gnome.Shell.desktop[4033]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0xe0022c (About Abou)
Я нахожусь в расширении, поэтому у меня нет «временного родителя». По крайней мере, я не знаю, как его получить.
Любая идея, что я должен сделать, чтобы отобразить его правильно?