diff --git a/desktop-extensions/gnome/src/extension.ts b/desktop-extensions/gnome/src/extension.ts index 2ac7d4a4..642544d8 100644 --- a/desktop-extensions/gnome/src/extension.ts +++ b/desktop-extensions/gnome/src/extension.ts @@ -5,9 +5,6 @@ var extensionInstance: any; // REF: https://gjs.guide/extensions/development/creating.html -const { QuickToggle } = imports.ui.quickSettings; -const QuickSettingsMenu = imports.ui.main.panel.statusArea.quickSettings; - import { AnimeDbus } from './modules/dbus/animatrix'; import { Power } from './modules/dbus/power'; import { Supported } from './modules/dbus/supported'; @@ -17,18 +14,6 @@ import { QuickPanelOd } from './modules/quick_toggles/panel_od'; import { IndicateMiniLed } from './modules/indicators/mini_led'; import { QuickMiniLed } from './modules/quick_toggles/mini_led'; - -function addQuickSettingsItems(items: [typeof QuickToggle]) { - // Add the items with the built-in function - QuickSettingsMenu._addItems(items); - - // Ensure the tile(s) are above the background apps menu - for (const item of items) { - QuickSettingsMenu.menu._grid.set_child_below_sibling(item, - QuickSettingsMenu._backgroundApps.quickSettingsItems[0]); - } -} - class Extension { private _indicateMiniLed: typeof IndicateMiniLed; private _quickMiniLed: typeof QuickMiniLed; @@ -61,7 +46,6 @@ class Extension { if (this.dbus_supported.supported.rog_bios_ctrl.mini_led_mode) { if (this._quickMiniLed == null) { this._quickMiniLed = new QuickMiniLed(this.dbus_platform); - addQuickSettingsItems([this._quickMiniLed]); } if (this._indicateMiniLed == null) { this._indicateMiniLed = new IndicateMiniLed(this.dbus_platform); @@ -70,7 +54,6 @@ class Extension { if (this.dbus_supported.supported.rog_bios_ctrl.panel_overdrive) { if (this._quickPanelOd == null) { this._quickPanelOd = new QuickPanelOd(this.dbus_platform); - addQuickSettingsItems([this._quickPanelOd]); } } } diff --git a/desktop-extensions/gnome/src/modules/helpers.ts b/desktop-extensions/gnome/src/modules/helpers.ts new file mode 100644 index 00000000..8b231817 --- /dev/null +++ b/desktop-extensions/gnome/src/modules/helpers.ts @@ -0,0 +1,15 @@ +declare const imports: any; + +const { QuickToggle } = imports.ui.quickSettings; +const QuickSettingsMenu = imports.ui.main.panel.statusArea.quickSettings; + +export function addQuickSettingsItems(items: [typeof QuickToggle]) { + // Add the items with the built-in function + QuickSettingsMenu._addItems(items); + + // Ensure the tile(s) are above the background apps menu + for (const item of items) { + QuickSettingsMenu.menu._grid.set_child_below_sibling(item, + QuickSettingsMenu._backgroundApps.quickSettingsItems[0]); + } +} \ No newline at end of file diff --git a/desktop-extensions/gnome/src/modules/indicators/mini_led.ts b/desktop-extensions/gnome/src/modules/indicators/mini_led.ts index 5e5247da..e77e613e 100644 --- a/desktop-extensions/gnome/src/modules/indicators/mini_led.ts +++ b/desktop-extensions/gnome/src/modules/indicators/mini_led.ts @@ -7,12 +7,9 @@ const ExtensionUtils = imports.misc.extensionUtils; const { SystemIndicator } = imports.ui.quickSettings; const QuickSettingsMenu = imports.ui.main.panel.statusArea.quickSettings; -import { Platform } from '../dbus/platform'; -import { QuickMiniLed } from '../quick_toggles/mini_led'; - export const IndicateMiniLed = GObject.registerClass( class IndicateMiniLed extends SystemIndicator { - constructor(dbus_platform: Platform) { + constructor() { super(); // Create the icon for the indicator @@ -25,14 +22,6 @@ export const IndicateMiniLed = GObject.registerClass( this._indicator, 'visible', Gio.SettingsBindFlags.DEFAULT); - // // Create the toggle and associate it with the indicator, being sure to - // // destroy it along with the indicator - // this.quickSettingsItems.push(new QuickMiniLed(dbus_platform)); - - // this.connect('destroy', () => { - // this.quickSettingsItems.forEach((item: { destroy: () => any; }) => item.destroy()); - // }); - // Add the indicator to the panel and the toggle to the menu QuickSettingsMenu._indicators.add_child(this); } diff --git a/desktop-extensions/gnome/src/modules/quick_toggles/mini_led.ts b/desktop-extensions/gnome/src/modules/quick_toggles/mini_led.ts index 3f6e5a62..54a63d3b 100644 --- a/desktop-extensions/gnome/src/modules/quick_toggles/mini_led.ts +++ b/desktop-extensions/gnome/src/modules/quick_toggles/mini_led.ts @@ -1,6 +1,7 @@ declare const imports: any; import { Platform } from "../dbus/platform"; +import { addQuickSettingsItems } from "../helpers"; const { GObject, Gio } = imports.gi; const ExtensionUtils = imports.misc.extensionUtils; @@ -35,6 +36,8 @@ export const QuickMiniLed = GObject.registerClass( Gio.SettingsBindFlags.DEFAULT); this._sync(); + + addQuickSettingsItems([this]); } _toggleMode() { diff --git a/desktop-extensions/gnome/src/modules/quick_toggles/panel_od.ts b/desktop-extensions/gnome/src/modules/quick_toggles/panel_od.ts index 6132f10d..8ec65966 100644 --- a/desktop-extensions/gnome/src/modules/quick_toggles/panel_od.ts +++ b/desktop-extensions/gnome/src/modules/quick_toggles/panel_od.ts @@ -1,6 +1,7 @@ declare const imports: any; import { Platform } from "../dbus/platform"; +import { addQuickSettingsItems } from "../helpers"; const { GObject, Gio } = imports.gi; const ExtensionUtils = imports.misc.extensionUtils; @@ -35,6 +36,8 @@ export const QuickPanelOd = GObject.registerClass( Gio.SettingsBindFlags.DEFAULT); this._sync(); + + addQuickSettingsItems([this]); } _toggleMode() {