为gnome-shell 3.4和3.6编写扩展

时间:2012-12-10 07:33:35

标签: gnome-shell gjs

我正在为gnome-shell编写扩展程序。 但是在gnome-shell 3.4中,一个菜单添加了panel._menus,而在gnome-shell3.6中添加了panel.menuManager。我如何添加适用于每个版本的菜单?

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。

您可以检查是否存在panel._menus并使用该panel.menuManager,否则请使用let menuManager = panel._menus || panel.menuManager // now do everything with menuManager

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
}

或者您可以明确检查gnome-shell版本:

{{1}}