diff --git a/extension.js b/extension.js index 5e6ea6d..06187b4 100644 --- a/extension.js +++ b/extension.js @@ -33,6 +33,7 @@ const UBUNTU_DOCK_UUID = 'ubuntu-dock@ubuntu.com'; let panelManager; let extensionChangedHandler; let startupCompleteHandler; +let disabledUbuntuDock; let extensionSystem = Main.extensionManager; export let DTP_EXTENSION = null; @@ -80,7 +81,11 @@ export default class DashToPanelExtension extends Extension { if (!reset) { extensionSystem.disconnect(extensionChangedHandler); - extensionSystem.enableExtension(UBUNTU_DOCK_UUID); + + if (disabledUbuntuDock) { + disabledUbuntuDock = false; + extensionSystem.enableExtension(UBUNTU_DOCK_UUID); + } delete global.dashToPanel; @@ -97,7 +102,12 @@ export default class DashToPanelExtension extends Extension { } function _enable(extension) { - extensionSystem.disableExtension(UBUNTU_DOCK_UUID); + let enabled = global.settings.get_strv('enabled-extensions'); + + if (enabled?.indexOf(UBUNTU_DOCK_UUID) >= 0) { + disabledUbuntuDock = true; + extensionSystem.disableExtension(UBUNTU_DOCK_UUID); + } if (panelManager) return panelManager.toggleDash(); // already initialized but ubuntu dock restored the original dash on disable