Add signals to the global object

This commit is contained in:
Charles Gagnon
2019-07-06 19:05:13 -04:00
parent 2c906f1800
commit 9769537e79
2 changed files with 8 additions and 6 deletions

View File

@@ -34,6 +34,7 @@ const WindowManager = imports.ui.windowManager;
const ExtensionUtils = imports.misc.extensionUtils;
const ExtensionSystem = imports.ui.extensionSystem;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const UBUNTU_DOCK_UUID = 'ubuntu-dock@ubuntu.com';
@@ -77,6 +78,10 @@ function _enable() {
if (panelManager) return; //already initialized
//create a global object that can emit signals and conveniently expose functionalities to other extensions
global.dashToPanel = {};
Signals.addSignalMethods(global.dashToPanel);
settings = Convenience.getSettings('org.gnome.shell.extensions.dash-to-panel');
panelManager = new PanelManager.dtpPanelManager(settings);
panelManager.enable();
@@ -98,12 +103,6 @@ function _enable() {
// right position of the appShowButton.
oldDash = Main.overview._dash;
Main.overview._dash = panelManager.primaryPanel.taskbar;
//expose an object so other extensions can easily use dash to panel functionalities and know it is enabled
global.dashToPanel = {
panelManager: panelManager,
panels: panelManager.allPanels.map(pw => pw.panel)
};
}
function disable(reset) {

View File

@@ -91,6 +91,8 @@ var dtpPanelManager = Utils.defineClass({
});
}
global.dashToPanel.panels = this.allPanels;
let panelPosition = Taskbar.getPosition();
this.allPanels.forEach(p => {
p.panelBox.set_size(p.monitor.width, -1);
@@ -264,6 +266,7 @@ var dtpPanelManager = Utils.defineClass({
_reset: function() {
this.disable(true);
this.enable(true);
global.dashToPanel.emit('panel-reset');
},
_adjustPanelMenuButton: function(button, monitor, arrowSide) {