forked from Ed-von-Schleck/advanced-settings-in-usermenu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension.js
34 lines (28 loc) · 978 Bytes
/
extension.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const St = imports.gi.St;
const Main = imports.ui.main;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const GLib = imports.gi.GLib;
const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext;
const _ = Gettext.domain("[email protected]").gettext;
let item, userMenu;
function _onAdvancedSettingsActivate() {
Main.overview.hide();
let app = Shell.AppSystem.get_default().lookup_app('gnome-tweak-tool.desktop');
app.activate();
}
function init(extensionMeta) {
imports.gettext.bindtextdomain("[email protected]", GLib.build_filenamev([extensionMeta.path, 'locale']))
userMenu = Main.panel._statusArea.userMenu.menu;
}
function enable() {
item = new PopupMenu.PopupMenuItem(_("Advanced Settings"));
item.connect('activate', Lang.bind(item, _onAdvancedSettingsActivate));
userMenu.addMenuItem(item, 5);
}
function disable() {
if (item) {
item.destroy();
}
}