Permalink
| const ExtensionUtils = imports.misc.extensionUtils; | |
| const ExtensionSystem = imports.ui.extensionSystem; | |
| const Mainloop = imports.mainloop; | |
| const Lang = imports.lang; | |
| const MessageTray = imports.ui.messageTray; | |
| const Me = ExtensionUtils.getCurrentExtension(); | |
| const Convenience = Me.imports.convenience; | |
| const Meta = imports.gi.Meta; | |
| const Main = imports.ui.main; | |
| const Signals = imports.signals; | |
| var _signals = {}; | |
| Signals.addSignalMethods(_signals); | |
| //----- | |
| function init(){} | |
| function enable() { | |
| let timeoutid = Mainloop.timeout_add(500, Lang.bind(this, function() { | |
| let _settings = Convenience.getSettings('org.gnome.shell.extensions.disable-default-extensions'); | |
| _settings.get_strv('extensions').forEach(function(ext) { | |
| if (ExtensionUtils.extensions[ext] != undefined) { | |
| //// ExtensionSystem.disableExtension(ext); | |
| try { | |
| ExtensionUtils.extensions[ext].stateObj.disable(); | |
| } catch (e) { | |
| logExtensionError(ext, e); | |
| } | |
| _signals.emit('extension-state-changed', ExtensionUtils.extensions[ext]); | |
| } | |
| }); | |
| Mainloop.source_remove(timeoutid); | |
| })); | |
| } | |
| function disable() { | |
| //Main.notify('Current session needs to be restarted.'); | |
| } |