gnome-shellの拡張機能を書いています。しかし、gnome-shell 3.4では、メニューが追加されpanel._menus
、gnome-shell3.6ではwithwithを使用しpanel.menuManager
ます。すべてのバージョンで機能するメニューを追加するにはどうすればよいですか?
質問する
271 次
1 に答える
1
これを行うにはいくつかの方法があります。
存在を確認し、存在panel._menus
する場合はそれを使用できます。存在しない場合は、次を使用しますpanel.menuManager
。
let menuManager = panel._menus || panel.menuManager
// now do everything with menuManager
または、gnome-shellのバージョンを明示的に確認することもできます。
const ShellVersion = imports.misc.config.PACKAGE_VERSION.split(".").map(
function (x) { return +x; }) // <-- converts from string to number
// this is now an array, e.g. if I am on gnome-shell 3.6.2 it is [3, 6, 2].
if (ShellVersion[1] === 4) {
// GNOME 3.4, use panel._menus
} else if (ShellVersion[1] === 6) {
// GNOME 3.6, use panel.menuManager
}
于 2012-12-11T00:12:00.193 に答える