diff --git a/HACKING.md b/HACKING.md
index bdcb9ba93..03e113463 100644
--- a/HACKING.md
+++ b/HACKING.md
@@ -79,7 +79,9 @@ e.g. `imports.ui.popupMenu`.
Each import block should be sorted alphabetically. Don't import modules you
don't use.
```javascript
- const { GLib, Gio, St } = imports.gi;
+ const GLib = imports.gi.GLib;
+ const Gio = imports.gi.Gio;
+ const St = imports.gi.St;
const Main = imports.ui.main;
const Params = imports.misc.params;
diff --git a/js/gdm/authList.js b/js/gdm/authList.js
index 618cbe2d2..a119f232a 100644
--- a/js/gdm/authList.js
+++ b/js/gdm/authList.js
@@ -17,7 +17,10 @@
*/
/* exported AuthList */
-const { Clutter, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const SCROLL_ANIMATION_TIME = 500;
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 3cda93a4f..7dccb448f 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported AuthPrompt */
-const { Clutter, GLib, GObject, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Animation = imports.ui.animation;
const AuthList = imports.gdm.authList;
diff --git a/js/gdm/batch.js b/js/gdm/batch.js
index f841f0f8e..771afe7e4 100644
--- a/js/gdm/batch.js
+++ b/js/gdm/batch.js
@@ -45,7 +45,7 @@
*/
/* exported ConcurrentBatch, ConsecutiveBatch */
-const { GObject } = imports.gi;
+const GObject = imports.gi.GObject;
const Signals = imports.misc.signals;
var Task = class extends Signals.EventEmitter {
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
index 7e7d88493..5f8a32c36 100644
--- a/js/gdm/loginDialog.js
+++ b/js/gdm/loginDialog.js
@@ -17,10 +17,17 @@
* along with this program; if not, see .
*/
-const {
- AccountsService, Atk, Clutter, Gdm, Gio,
- GLib, GObject, Meta, Pango, Shell, St,
-} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gdm = imports.gi.Gdm;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AuthPrompt = imports.gdm.authPrompt;
const Batch = imports.gdm.batch;
diff --git a/js/gdm/util.js b/js/gdm/util.js
index 78c45cbba..1d62517c3 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -3,7 +3,10 @@
DISABLE_USER_LIST_KEY, fadeInActor, fadeOutActor, cloneAndFadeOutActor,
ShellUserVerifier */
-const { Clutter, Gdm, Gio, GLib } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gdm = imports.gi.Gdm;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
const Signals = imports.misc.signals;
const Batch = imports.gdm.batch;
diff --git a/js/misc/dbusUtils.js b/js/misc/dbusUtils.js
index ac26894eb..da358c7ee 100644
--- a/js/misc/dbusUtils.js
+++ b/js/misc/dbusUtils.js
@@ -2,7 +2,8 @@
/* exported loadInterfaceXML, loadSubInterfaceXML */
const Config = imports.misc.config;
-const { Gio, GLib } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
let _ifaceResource = null;
diff --git a/js/misc/extensionUtils.js b/js/misc/extensionUtils.js
index 97ea66e82..9df1f858a 100644
--- a/js/misc/extensionUtils.js
+++ b/js/misc/extensionUtils.js
@@ -7,7 +7,8 @@
// Common utils for the extension system and the extension
// preferences tool
-const { Gio, GLib } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
const Gettext = imports.gettext;
diff --git a/js/misc/fileUtils.js b/js/misc/fileUtils.js
index 528a76350..75f1ee59c 100644
--- a/js/misc/fileUtils.js
+++ b/js/misc/fileUtils.js
@@ -2,7 +2,8 @@
/* exported collectFromDatadirs, recursivelyDeleteDir,
recursivelyMoveDir, loadInterfaceXML, loadSubInterfaceXML */
-const { Gio, GLib } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
var { loadInterfaceXML } = imports.misc.dbusUtils;
diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js
index 969556dc2..02c9af82a 100644
--- a/js/misc/ibusManager.js
+++ b/js/misc/ibusManager.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported getIBusManager */
-const { Gio, GLib, IBus, Meta, Shell } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const IBus = imports.gi.IBus;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
const Signals = imports.misc.signals;
const BoxPointer = imports.ui.boxpointer;
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index e008e6411..c3749114e 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -1,6 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported InputMethod */
-const { Clutter, GLib, Gio, GObject, IBus } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const IBus = imports.gi.IBus;
const Keyboard = imports.ui.status.keyboard;
const Main = imports.ui.main;
diff --git a/js/misc/introspect.js b/js/misc/introspect.js
index dcb158f0e..d55a2fe9d 100644
--- a/js/misc/introspect.js
+++ b/js/misc/introspect.js
@@ -1,5 +1,9 @@
/* exported IntrospectService */
-const { Gio, GLib, Meta, Shell, St } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const APP_ALLOWLIST = [
'org.freedesktop.impl.portal.desktop.gtk',
diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
index 142e2f419..2f7e632cf 100644
--- a/js/misc/keyboardManager.js
+++ b/js/misc/keyboardManager.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported getKeyboardManager, holdKeyboard, releaseKeyboard */
-const { GLib, GnomeDesktop } = imports.gi;
+const GLib = imports.gi.GLib;
+const GnomeDesktop = imports.gi.GnomeDesktop;
const Main = imports.ui.main;
diff --git a/js/misc/loginManager.js b/js/misc/loginManager.js
index 94d62e819..6f3a8a55e 100644
--- a/js/misc/loginManager.js
+++ b/js/misc/loginManager.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported canLock, getLoginManager, registerSessionWithGDM */
-const { GLib, Gio } = imports.gi;
+const GLib = imports.gi.GLib;
+const Gio = imports.gi.Gio;
const Signals = imports.misc.signals;
const { loadInterfaceXML } = imports.misc.fileUtils;
diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js
index c31bf5b6b..d6b906cf2 100644
--- a/js/misc/modemManager.js
+++ b/js/misc/modemManager.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ModemBase, ModemGsm, ModemCdma, BroadbandModem */
-const {Gio, GObject, NM, NMA4} = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const NM = imports.gi.NM;
+const NMA4 = imports.gi.NMA4;
const { loadInterfaceXML } = imports.misc.fileUtils;
diff --git a/js/misc/objectManager.js b/js/misc/objectManager.js
index a1dcde3a7..b9827c45f 100644
--- a/js/misc/objectManager.js
+++ b/js/misc/objectManager.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ObjectManager */
-const { Gio, GLib } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
const Params = imports.misc.params;
const Signals = imports.misc.signals;
diff --git a/js/misc/parentalControlsManager.js b/js/misc/parentalControlsManager.js
index 48f0ca2dd..42b8e793f 100644
--- a/js/misc/parentalControlsManager.js
+++ b/js/misc/parentalControlsManager.js
@@ -23,7 +23,9 @@
/* exported getDefault */
-const { Gio, GObject, Shell } = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
// We require libmalcontent ≥ 0.6.0
const HAVE_MALCONTENT = imports.package.checkSymbol(
diff --git a/js/misc/signalTracker.js b/js/misc/signalTracker.js
index e4497e26a..ba99411c4 100644
--- a/js/misc/signalTracker.js
+++ b/js/misc/signalTracker.js
@@ -1,5 +1,5 @@
/* exported TransientSignalHolder, connectObject, disconnectObject */
-const { GObject } = imports.gi;
+const GObject = imports.gi.GObject;
const destroyableTypes = [];
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
index 759862a44..ddc9560db 100644
--- a/js/misc/systemActions.js
+++ b/js/misc/systemActions.js
@@ -1,5 +1,10 @@
/* exported getDefault */
-const {AccountsService, Clutter, Gdm, Gio, GLib, GObject} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Clutter = imports.gi.Clutter;
+const Gdm = imports.gi.Gdm;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
const GnomeSession = imports.misc.gnomeSession;
const LoginManager = imports.misc.loginManager;
diff --git a/js/misc/util.js b/js/misc/util.js
index e6065c446..d1c43d2fe 100644
--- a/js/misc/util.js
+++ b/js/misc/util.js
@@ -4,7 +4,12 @@
ensureActorVisibleInScrollView, wiggle, lerp, GNOMEversionCompare,
DBusSenderChecker, Highlighter */
-const { Clutter, Gio, GLib, Shell, St, GnomeDesktop } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+const GnomeDesktop = imports.gi.GnomeDesktop;
const Gettext = imports.gettext;
const Main = imports.ui.main;
diff --git a/js/misc/weather.js b/js/misc/weather.js
index a01b832b8..677f81c59 100644
--- a/js/misc/weather.js
+++ b/js/misc/weather.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WeatherClient */
-const { Geoclue, Gio, GLib, GWeather, Shell } = imports.gi;
+const Geoclue = imports.gi.Geoclue;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GWeather = imports.gi.GWeather;
+const Shell = imports.gi.Shell;
const Signals = imports.misc.signals;
const PermissionStore = imports.misc.permissionStore;
diff --git a/js/perf/basic.js b/js/perf/basic.js
index 0f35af384..3fbc0514e 100644
--- a/js/perf/basic.js
+++ b/js/perf/basic.js
@@ -5,7 +5,7 @@
*/
/* eslint camelcase: ["error", { properties: "never", allow: ["^script_"] }] */
-const { St } = imports.gi;
+const St = imports.gi.St;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;
diff --git a/js/perf/closeWithActiveWindows.js b/js/perf/closeWithActiveWindows.js
index 970de7d95..0a2a68f7d 100644
--- a/js/perf/closeWithActiveWindows.js
+++ b/js/perf/closeWithActiveWindows.js
@@ -2,7 +2,7 @@
/* exported run */
/* eslint camelcase: ["error", { properties: "never", allow: ["^script_", "^malloc", "^glx", "^clutter"] }] */
-const {Clutter} = imports.gi;
+const Clutter = imports.gi.Clutter;
const Main = imports.ui.main;
const Scripting = imports.ui.scripting;
diff --git a/js/perf/headlessStart.js b/js/perf/headlessStart.js
index 0f18447e3..1a427be91 100644
--- a/js/perf/headlessStart.js
+++ b/js/perf/headlessStart.js
@@ -4,7 +4,9 @@
*/
/* eslint camelcase: ["error", { properties: "never", allow: ["^script_"] }] */
-const {GLib, MetaTest, Shell} = imports.gi;
+const GLib = imports.gi.GLib;
+const MetaTest = imports.gi.MetaTest;
+const Shell = imports.gi.Shell;
const Main = imports.ui.main;
const Scripting = imports.ui.scripting;
diff --git a/js/perf/hwtest.js b/js/perf/hwtest.js
index 63777bd9d..fab958702 100644
--- a/js/perf/hwtest.js
+++ b/js/perf/hwtest.js
@@ -7,7 +7,9 @@
script_geditLaunch, script_geditFirstFrame,
clutter_stagePaintStart, clutter_paintCompletedTimestamp */
/* eslint camelcase: ["error", { properties: "never", allow: ["^script_", "^clutter"] }] */
-const { Clutter, Gio, Shell } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const Shell = imports.gi.Shell;
const Main = imports.ui.main;
const Scripting = imports.ui.scripting;
diff --git a/js/ui/accessDialog.js b/js/ui/accessDialog.js
index 1e296079c..23a385057 100644
--- a/js/ui/accessDialog.js
+++ b/js/ui/accessDialog.js
@@ -1,5 +1,11 @@
/* exported AccessDialogDBus */
-const { Clutter, Gio, GLib, GObject, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const CheckBox = imports.ui.checkBox;
const Dialog = imports.ui.dialog;
diff --git a/js/ui/altTab.js b/js/ui/altTab.js
index a3daebc20..7472729df 100644
--- a/js/ui/altTab.js
+++ b/js/ui/altTab.js
@@ -2,7 +2,14 @@
/* exported AppSwitcherPopup, GroupCyclerPopup, WindowSwitcherPopup,
WindowCyclerPopup */
-const { Atk, Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Main = imports.ui.main;
const SwitcherPopup = imports.ui.switcherPopup;
diff --git a/js/ui/animation.js b/js/ui/animation.js
index b8d7f7bee..0a784413a 100644
--- a/js/ui/animation.js
+++ b/js/ui/animation.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Animation, AnimatedIcon, Spinner */
-const { Clutter, GLib, GObject, Gio, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Gio = imports.gi.Gio;
+const St = imports.gi.St;
const Params = imports.misc.params;
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 75a458f7b..372fcd563 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -1,9 +1,14 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported AppDisplay, AppSearchProvider */
-const {
- Clutter, Gio, GLib, GObject, Graphene, Pango, Shell, St,
-} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AppFavorites = imports.ui.appFavorites;
const { AppMenu } = imports.ui.appMenu;
diff --git a/js/ui/appMenu.js b/js/ui/appMenu.js
index fec74cf45..81704759c 100644
--- a/js/ui/appMenu.js
+++ b/js/ui/appMenu.js
@@ -1,6 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported AppMenu */
-const { Clutter, Gio, GLib, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AppFavorites = imports.ui.appFavorites;
const Main = imports.ui.main;
diff --git a/js/ui/audioDeviceSelection.js b/js/ui/audioDeviceSelection.js
index b5ce8cbc2..67a3eb920 100644
--- a/js/ui/audioDeviceSelection.js
+++ b/js/ui/audioDeviceSelection.js
@@ -1,5 +1,11 @@
/* exported AudioDeviceSelectionDBus */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const Main = imports.ui.main;
diff --git a/js/ui/background.js b/js/ui/background.js
index a1f660108..963050834 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -94,7 +94,14 @@
// MetaBackgroundImage MetaBackgroundImage
// MetaBackgroundImage MetaBackgroundImage
-const {Clutter, GDesktopEnums, Gio, GLib, GObject, GnomeBG, GnomeDesktop, Meta} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GDesktopEnums = imports.gi.GDesktopEnums;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const GnomeBG = imports.gi.GnomeBG;
+const GnomeDesktop = imports.gi.GnomeDesktop;
+const Meta = imports.gi.Meta;
const Signals = imports.misc.signals;
const LoginManager = imports.misc.loginManager;
diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
index 6282f308b..6725cc302 100644
--- a/js/ui/backgroundMenu.js
+++ b/js/ui/backgroundMenu.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported addBackgroundMenu */
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
diff --git a/js/ui/barLevel.js b/js/ui/barLevel.js
index 25d483528..50dfe8bdd 100644
--- a/js/ui/barLevel.js
+++ b/js/ui/barLevel.js
@@ -1,7 +1,10 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* exported BarLevel */
-const { Atk, Clutter, GObject, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
var BarLevel = GObject.registerClass({
Properties: {
diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js
index 3987d62a2..bcd8a4c07 100644
--- a/js/ui/boxpointer.js
+++ b/js/ui/boxpointer.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported BoxPointer */
-const { Clutter, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const Main = imports.ui.main;
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index 078f31691..673c4c05a 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Calendar, CalendarMessageList, DBusEventSource */
-const { Clutter, Gio, GLib, GObject, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Main = imports.ui.main;
const MessageList = imports.ui.messageList;
diff --git a/js/ui/checkBox.js b/js/ui/checkBox.js
index d64bd0d6c..882f12711 100644
--- a/js/ui/checkBox.js
+++ b/js/ui/checkBox.js
@@ -1,5 +1,9 @@
/* exported CheckBox */
-const { Atk, Clutter, GObject, Pango, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const St = imports.gi.St;
var CheckBox = GObject.registerClass(
class CheckBox extends St.Button {
diff --git a/js/ui/closeDialog.js b/js/ui/closeDialog.js
index ace93b8f0..314ac7c72 100644
--- a/js/ui/closeDialog.js
+++ b/js/ui/closeDialog.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported CloseDialog */
-const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const Main = imports.ui.main;
diff --git a/js/ui/components/automountManager.js b/js/ui/components/automountManager.js
index 4c0c22305..c81d7e441 100644
--- a/js/ui/components/automountManager.js
+++ b/js/ui/components/automountManager.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const { Gio, GLib } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
const Params = imports.misc.params;
const GnomeSession = imports.misc.gnomeSession;
diff --git a/js/ui/components/autorunManager.js b/js/ui/components/autorunManager.js
index b02474a1f..cd9f697dc 100644
--- a/js/ui/components/autorunManager.js
+++ b/js/ui/components/autorunManager.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const { Clutter, Gio, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const GnomeSession = imports.misc.gnomeSession;
const Main = imports.ui.main;
diff --git a/js/ui/components/keyring.js b/js/ui/components/keyring.js
index cd7a81e95..e4d0ad85f 100644
--- a/js/ui/components/keyring.js
+++ b/js/ui/components/keyring.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const { Clutter, Gcr, Gio, GObject, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gcr = imports.gi.Gcr;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const ModalDialog = imports.ui.modalDialog;
diff --git a/js/ui/components/networkAgent.js b/js/ui/components/networkAgent.js
index ba02f88be..9f8b23824 100644
--- a/js/ui/components/networkAgent.js
+++ b/js/ui/components/networkAgent.js
@@ -1,7 +1,14 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const { Clutter, Gio, GLib, GObject, NM, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const NM = imports.gi.NM;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const Dialog = imports.ui.dialog;
diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js
index 1da02e5b4..65c4dff71 100644
--- a/js/ui/components/polkitAgent.js
+++ b/js/ui/components/polkitAgent.js
@@ -1,10 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const {
- AccountsService, Clutter, GLib, GObject,
- Pango, PolkitAgent, Polkit, Shell, St,
-} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const PolkitAgent = imports.gi.PolkitAgent;
+const Polkit = imports.gi.Polkit;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const Main = imports.ui.main;
diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js
index d31782245..b1d07b8d2 100644
--- a/js/ui/components/telepathyClient.js
+++ b/js/ui/components/telepathyClient.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Component */
-const { Clutter, Gio, GLib, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
var Tpl = null;
var Tp = null;
diff --git a/js/ui/ctrlAltTab.js b/js/ui/ctrlAltTab.js
index 421fecf37..97d72c2e5 100644
--- a/js/ui/ctrlAltTab.js
+++ b/js/ui/ctrlAltTab.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported CtrlAltTabManager */
-const { Clutter, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Main = imports.ui.main;
const SwitcherPopup = imports.ui.switcherPopup;
diff --git a/js/ui/dash.js b/js/ui/dash.js
index 188308853..581054b69 100644
--- a/js/ui/dash.js
+++ b/js/ui/dash.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Dash */
-const { Clutter, GLib, GObject, Graphene, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AppDisplay = imports.ui.appDisplay;
const AppFavorites = imports.ui.appFavorites;
diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js
index 96458d2fd..e7bdb6dbb 100644
--- a/js/ui/dateMenu.js
+++ b/js/ui/dateMenu.js
@@ -1,10 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported DateMenuButton */
-const {
- Clutter, Gio, GLib, GnomeDesktop,
- GObject, GWeather, Pango, Shell, St,
-} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GnomeDesktop = imports.gi.GnomeDesktop;
+const GObject = imports.gi.GObject;
+const GWeather = imports.gi.GWeather;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Util = imports.misc.util;
const Main = imports.ui.main;
diff --git a/js/ui/dialog.js b/js/ui/dialog.js
index 22e6a1b6e..d15782c08 100644
--- a/js/ui/dialog.js
+++ b/js/ui/dialog.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Dialog, MessageDialogContent, ListSection, ListSectionItem */
-const { Clutter, GLib, GObject, Meta, Pango, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const St = imports.gi.St;
function _setLabel(label, value) {
label.set({
diff --git a/js/ui/dnd.js b/js/ui/dnd.js
index 53b4fde6c..457a66a91 100644
--- a/js/ui/dnd.js
+++ b/js/ui/dnd.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported addDragMonitor, removeDragMonitor, makeDraggable */
-const { Clutter, GLib, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const Main = imports.ui.main;
diff --git a/js/ui/edgeDragAction.js b/js/ui/edgeDragAction.js
index 25d1d3fb2..e35b5e2fc 100644
--- a/js/ui/edgeDragAction.js
+++ b/js/ui/edgeDragAction.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported EdgeDragAction */
-const { Clutter, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const Main = imports.ui.main;
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
index 3de1085ab..93d8d5c2f 100644
--- a/js/ui/endSessionDialog.js
+++ b/js/ui/endSessionDialog.js
@@ -17,10 +17,16 @@
* along with this program; if not, see .
*/
-const {
- AccountsService, Clutter, Gio, GLib, GObject,
- Pango, Polkit, Shell, St, UPowerGlib: UPower,
-} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Polkit = imports.gi.Polkit;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+const UPower = imports.gi.UPowerGlib;
const CheckBox = imports.ui.checkBox;
const Dialog = imports.ui.dialog;
diff --git a/js/ui/environment.js b/js/ui/environment.js
index 09c9f031d..3b8cd8233 100644
--- a/js/ui/environment.js
+++ b/js/ui/environment.js
@@ -33,7 +33,15 @@ imports.gi.versions.TelepathyGLib = '0.12';
imports.gi.versions.TelepathyLogger = '0.2';
imports.gi.versions.UPowerGlib = '1.0';
-const {Clutter, Gdk, Gio, GLib, GObject, Meta, Polkit, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gdk = imports.gi.Gdk;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Polkit = imports.gi.Polkit;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Gettext = imports.gettext;
const System = imports.system;
const SignalTracker = imports.misc.signalTracker;
diff --git a/js/ui/extensionDownloader.js b/js/ui/extensionDownloader.js
index 197cc1c1c..317a13e62 100644
--- a/js/ui/extensionDownloader.js
+++ b/js/ui/extensionDownloader.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported init, installExtension, uninstallExtension, checkForUpdates */
-const { Clutter, Gio, GLib, GObject, Soup } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Soup = imports.gi.Soup;
const Config = imports.misc.config;
const Dialog = imports.ui.dialog;
diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js
index dd2f44ebb..9c36a8275 100644
--- a/js/ui/extensionSystem.js
+++ b/js/ui/extensionSystem.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported init connect disconnect ExtensionManager */
-const { GLib, Gio, GObject, Shell, St } = imports.gi;
+const GLib = imports.gi.GLib;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const ExtensionDownloader = imports.ui.extensionDownloader;
diff --git a/js/ui/grabHelper.js b/js/ui/grabHelper.js
index 650bec48d..4ac5a01d5 100644
--- a/js/ui/grabHelper.js
+++ b/js/ui/grabHelper.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported GrabHelper */
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
const Main = imports.ui.main;
const Params = imports.misc.params;
diff --git a/js/ui/ibusCandidatePopup.js b/js/ui/ibusCandidatePopup.js
index 6d7c0e0fa..8d9b31805 100644
--- a/js/ui/ibusCandidatePopup.js
+++ b/js/ui/ibusCandidatePopup.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported CandidatePopup */
-const { Clutter, GObject, IBus, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const IBus = imports.gi.IBus;
+const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js
index 01d57e0fc..c239e27d2 100644
--- a/js/ui/iconGrid.js
+++ b/js/ui/iconGrid.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported BaseIcon, IconGrid, IconGridLayout */
-const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Params = imports.misc.params;
const Main = imports.ui.main;
diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js
index 2a3e1aece..95205efef 100644
--- a/js/ui/inhibitShortcutsDialog.js
+++ b/js/ui/inhibitShortcutsDialog.js
@@ -1,5 +1,10 @@
/* exported InhibitShortcutsDialog */
-const {Clutter, GObject, Meta, Pango, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const ModalDialog = imports.ui.modalDialog;
diff --git a/js/ui/kbdA11yDialog.js b/js/ui/kbdA11yDialog.js
index 6d1608c1e..06831f688 100644
--- a/js/ui/kbdA11yDialog.js
+++ b/js/ui/kbdA11yDialog.js
@@ -1,5 +1,8 @@
/* exported KbdA11yDialog */
-const { Clutter, Gio, GObject, Meta } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
const Dialog = imports.ui.dialog;
const ModalDialog = imports.ui.modalDialog;
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 288703b3d..f3eb96a79 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -1,7 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported KeyboardManager */
-const {Clutter, Gio, GLib, GObject, Graphene, IBus, Meta, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const IBus = imports.gi.IBus;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const EdgeDragAction = imports.ui.edgeDragAction;
diff --git a/js/ui/layout.js b/js/ui/layout.js
index d7f73dcac..3d0f2c5ff 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported MonitorConstraint, LayoutManager */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const Background = imports.ui.background;
diff --git a/js/ui/lightbox.js b/js/ui/lightbox.js
index b0ca77a6d..1b02958b1 100644
--- a/js/ui/lightbox.js
+++ b/js/ui/lightbox.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Lightbox */
-const { Clutter, GObject, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Params = imports.misc.params;
diff --git a/js/ui/locatePointer.js b/js/ui/locatePointer.js
index 6ae29419a..524aae668 100644
--- a/js/ui/locatePointer.js
+++ b/js/ui/locatePointer.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported LocatePointer */
-const { Gio } = imports.gi;
+const Gio = imports.gi.Gio;
const Ripples = imports.ui.ripples;
const Main = imports.ui.main;
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
index 93cb88862..6063b1740 100644
--- a/js/ui/lookingGlass.js
+++ b/js/ui/lookingGlass.js
@@ -1,9 +1,16 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported LookingGlass */
-const {
- Clutter, Cogl, Gio, GLib, GObject, Graphene, Meta, Pango, Shell, St,
-} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Cogl = imports.gi.Cogl;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const System = imports.system;
diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js
index bd6904758..3358d5aaa 100644
--- a/js/ui/magnifier.js
+++ b/js/ui/magnifier.js
@@ -1,9 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Magnifier */
-const {
- Atspi, Clutter, GDesktopEnums, Gio, GLib, GObject, Meta, Shell, St,
-} = imports.gi;
+const Atspi = imports.gi.Atspi;
+const Clutter = imports.gi.Clutter;
+const GDesktopEnums = imports.gi.GDesktopEnums;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const Background = imports.ui.background;
diff --git a/js/ui/main.js b/js/ui/main.js
index 88e2e85d3..5cc6a1ce2 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -9,7 +9,13 @@
createLookingGlass, initializeDeferredWork,
getStyleVariant, getThemeStylesheet, setThemeStylesheet, screenshotUI */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AccessDialog = imports.ui.accessDialog;
const AudioDeviceSelection = imports.ui.audioDeviceSelection;
diff --git a/js/ui/messageList.js b/js/ui/messageList.js
index 29e76752b..b77cf0961 100644
--- a/js/ui/messageList.js
+++ b/js/ui/messageList.js
@@ -1,7 +1,13 @@
/* exported MessageListSection */
-const {
- Atk, Clutter, Gio, GLib, GObject, Graphene, Meta, Pango, St,
-} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const St = imports.gi.St;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 1edd932f6..ca67d0092 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -3,7 +3,13 @@
NotificationApplicationPolicy, Source, SourceActor,
SystemNotificationSource, MessageTray */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Calendar = imports.ui.calendar;
const GnomeSession = imports.misc.gnomeSession;
diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js
index 0561b8b15..7ddef070b 100644
--- a/js/ui/modalDialog.js
+++ b/js/ui/modalDialog.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ModalDialog */
-const { Atk, Clutter, GObject, Shell, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const Layout = imports.ui.layout;
diff --git a/js/ui/mpris.js b/js/ui/mpris.js
index 2ccd0c44b..6ccf88de9 100644
--- a/js/ui/mpris.js
+++ b/js/ui/mpris.js
@@ -1,5 +1,8 @@
/* exported MediaSection */
-const { Gio, GObject, Shell, St } = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const Main = imports.ui.main;
diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
index 22e716220..7a8d61e48 100644
--- a/js/ui/notificationDaemon.js
+++ b/js/ui/notificationDaemon.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported NotificationDaemon */
-const { GdkPixbuf, Gio, GLib, GObject, Shell, St } = imports.gi;
+const GdkPixbuf = imports.gi.GdkPixbuf;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Config = imports.misc.config;
const Main = imports.ui.main;
diff --git a/js/ui/osdMonitorLabeler.js b/js/ui/osdMonitorLabeler.js
index 31d99c140..8f4e53b46 100644
--- a/js/ui/osdMonitorLabeler.js
+++ b/js/ui/osdMonitorLabeler.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported OsdMonitorLabeler */
-const { Clutter, Gio, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const Main = imports.ui.main;
diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js
index b18333361..3891325ca 100644
--- a/js/ui/osdWindow.js
+++ b/js/ui/osdWindow.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported OsdWindowManager */
-const { Clutter, GLib, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const BarLevel = imports.ui.barLevel;
const Layout = imports.ui.layout;
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 3bd62afe1..f0fd2b9d6 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Overview, ANIMATION_TIME */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
// Time for initial animation going into Overview mode;
diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js
index 05898955d..59d70e406 100644
--- a/js/ui/overviewControls.js
+++ b/js/ui/overviewControls.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ControlsManager */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AppDisplay = imports.ui.appDisplay;
const Dash = imports.ui.dash;
diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js
index 33d5a87f1..364cc16e9 100644
--- a/js/ui/padOsd.js
+++ b/js/ui/padOsd.js
@@ -1,10 +1,17 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported PadOsd, PadOsdService */
-const {
- Atk, Clutter, GDesktopEnums, Gio,
- GLib, GObject, Meta, Pango, Rsvg, St,
-} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GDesktopEnums = imports.gi.GDesktopEnums;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const Rsvg = imports.gi.Rsvg;
+const St = imports.gi.St;
+
const Signals = imports.misc.signals;
const Main = imports.ui.main;
diff --git a/js/ui/pageIndicators.js b/js/ui/pageIndicators.js
index 18a376cba..02f64470e 100644
--- a/js/ui/pageIndicators.js
+++ b/js/ui/pageIndicators.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported PageIndicators */
-const { Clutter, Graphene, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Graphene = imports.gi.Graphene;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const INDICATOR_INACTIVE_OPACITY = 128;
const INDICATOR_INACTIVE_OPACITY_HOVER = 255;
diff --git a/js/ui/panel.js b/js/ui/panel.js
index dff70ca14..132433506 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Panel */
-const { Atk, Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Animation = imports.ui.animation;
const { AppMenu } = imports.ui.appMenu;
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index a5445ce87..963f9f273 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Button, SystemIndicator */
-const { Atk, Clutter, GObject, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const Main = imports.ui.main;
const Params = imports.misc.params;
diff --git a/js/ui/pointerA11yTimeout.js b/js/ui/pointerA11yTimeout.js
index 263cc3eaf..6a4eef246 100644
--- a/js/ui/pointerA11yTimeout.js
+++ b/js/ui/pointerA11yTimeout.js
@@ -1,5 +1,8 @@
/* exported PointerA11yTimeout */
-const { Clutter, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const Main = imports.ui.main;
const Cairo = imports.cairo;
diff --git a/js/ui/pointerWatcher.js b/js/ui/pointerWatcher.js
index 2af35b617..c346bb07e 100644
--- a/js/ui/pointerWatcher.js
+++ b/js/ui/pointerWatcher.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported getPointerWatcher */
-const { GLib } = imports.gi;
+const GLib = imports.gi.GLib;
// We stop polling if the user is idle for more than this amount of time
var IDLE_TIME = 1000;
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index 8565036aa..32c384b8c 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -3,7 +3,13 @@
PopupImageMenuItem, PopupMenu, PopupDummyMenu, PopupSubMenu,
PopupMenuSection, PopupSubMenuMenuItem, PopupMenuManager */
-const { Atk, Clutter, Gio, GObject, Graphene, Shell, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Signals = imports.misc.signals;
const BoxPointer = imports.ui.boxpointer;
diff --git a/js/ui/quickSettings.js b/js/ui/quickSettings.js
index 64aa8941b..7f08d6f75 100644
--- a/js/ui/quickSettings.js
+++ b/js/ui/quickSettings.js
@@ -1,5 +1,13 @@
/* exported QuickToggle, QuickMenuToggle, QuickSlider, QuickSettingsMenu, SystemIndicator */
-const {Atk, Clutter, Gio, GLib, GObject, Graphene, Meta, Pango, St} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const St = imports.gi.St;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index 592dfe199..eef475227 100644
--- a/js/ui/remoteSearch.js
+++ b/js/ui/remoteSearch.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported loadRemoteSearchProviders */
-const { GdkPixbuf, Gio, GLib, Shell, St } = imports.gi;
+const GdkPixbuf = imports.gi.GdkPixbuf;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const FileUtils = imports.misc.fileUtils;
diff --git a/js/ui/ripples.js b/js/ui/ripples.js
index 20ca9ed9f..f27274ae4 100644
--- a/js/ui/ripples.js
+++ b/js/ui/ripples.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Ripples */
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
// Shamelessly copied from the layout "hotcorner" ripples implementation
var Ripples = class Ripples {
diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js
index fe9b33e9c..0398e303e 100644
--- a/js/ui/runDialog.js
+++ b/js/ui/runDialog.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported RunDialog */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const Main = imports.ui.main;
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index b6c3c5547..d4eba58fd 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -1,10 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ScreenShield */
-const {
- AccountsService, Clutter, Gio,
- GLib, Graphene, Meta, Shell, St,
-} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+
const Signals = imports.misc.signals;
const GnomeSession = imports.misc.gnomeSession;
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
index 91c9635e7..9c57f0015 100644
--- a/js/ui/screenshot.js
+++ b/js/ui/screenshot.js
@@ -1,7 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ScreenshotService, ScreenshotUI, showScreenshotUI, captureScreenshot */
-const {Clutter, Cogl, Gio, GObject, GLib, Graphene, Meta, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Cogl = imports.gi.Cogl;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const GLib = imports.gi.GLib;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const GrabHelper = imports.ui.grabHelper;
const Layout = imports.ui.layout;
diff --git a/js/ui/scripting.js b/js/ui/scripting.js
index 545db8531..353734899 100644
--- a/js/ui/scripting.js
+++ b/js/ui/scripting.js
@@ -3,7 +3,10 @@
destroyTestWindows, defineScriptEvent, scriptEvent,
collectStatistics, runPerfScript, disableHelperAutoExit */
-const { Gio, GLib, Meta, Shell } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
const Config = imports.misc.config;
const Main = imports.ui.main;
diff --git a/js/ui/search.js b/js/ui/search.js
index 7d50ef234..fc71f2143 100644
--- a/js/ui/search.js
+++ b/js/ui/search.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported SearchResultsView */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AppDisplay = imports.ui.appDisplay;
const IconGrid = imports.ui.iconGrid;
diff --git a/js/ui/searchController.js b/js/ui/searchController.js
index 9864b8df6..3a290fc17 100644
--- a/js/ui/searchController.js
+++ b/js/ui/searchController.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported SearchController */
-const { Clutter, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const Main = imports.ui.main;
const Search = imports.ui.search;
diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js
index 244214e8c..8ee4e9b43 100644
--- a/js/ui/shellDBus.js
+++ b/js/ui/shellDBus.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported GnomeShell, ScreenSaverDBus */
-const { Gio, GLib, Meta, Shell } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
const Config = imports.misc.config;
const ExtensionDownloader = imports.ui.extensionDownloader;
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
index e6c1f3796..dab23ff86 100644
--- a/js/ui/shellEntry.js
+++ b/js/ui/shellEntry.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported addContextMenu CapsLockWarning */
-const { Clutter, GObject, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
diff --git a/js/ui/shellMountOperation.js b/js/ui/shellMountOperation.js
index 00498763b..30db22fed 100644
--- a/js/ui/shellMountOperation.js
+++ b/js/ui/shellMountOperation.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ShellMountOperation, GnomeShellMountOpHandler */
-const { Clutter, Gio, GLib, GObject, Pango, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Animation = imports.ui.animation;
const CheckBox = imports.ui.checkBox;
diff --git a/js/ui/slider.js b/js/ui/slider.js
index 6ca76fec0..797d84c98 100644
--- a/js/ui/slider.js
+++ b/js/ui/slider.js
@@ -1,7 +1,9 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* exported Slider */
-const { Atk, Clutter, GObject } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
const BarLevel = imports.ui.barLevel;
diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js
index 5d02b97cc..a65b2bb6e 100644
--- a/js/ui/status/accessibility.js
+++ b/js/ui/status/accessibility.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ATIndicator */
-const { Gio, GLib, GObject, St } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/status/autoRotate.js b/js/ui/status/autoRotate.js
index 5618945b7..28ef04a29 100644
--- a/js/ui/status/autoRotate.js
+++ b/js/ui/status/autoRotate.js
@@ -1,5 +1,7 @@
/* exported Indicator */
-const {Gio, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+
const SystemActions = imports.misc.systemActions;
diff --git a/js/ui/status/backgroundApps.js b/js/ui/status/backgroundApps.js
index f2bee8884..c5a339700 100644
--- a/js/ui/status/backgroundApps.js
+++ b/js/ui/status/backgroundApps.js
@@ -1,5 +1,10 @@
/* exported Indicator */
-const {Clutter, Gio, GLib, GObject, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index 2977a4d94..4ab716a0c 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Gio, GLib, GnomeBluetooth, GObject, Pango, St} = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GnomeBluetooth = imports.gi.GnomeBluetooth;
+const GObject = imports.gi.GObject;
+const Pango = imports.gi.Pango;
+const St = imports.gi.St;
const {Spinner} = imports.ui.animation;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/status/brightness.js b/js/ui/status/brightness.js
index 4c0da67d9..38b3f998b 100644
--- a/js/ui/status/brightness.js
+++ b/js/ui/status/brightness.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Gio, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+
const {QuickSlider, SystemIndicator} = imports.ui.quickSettings;
diff --git a/js/ui/status/darkMode.js b/js/ui/status/darkMode.js
index d4620f084..9f4127a02 100644
--- a/js/ui/status/darkMode.js
+++ b/js/ui/status/darkMode.js
@@ -1,5 +1,7 @@
/* exported Indicator */
-const {Gio, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+
const Main = imports.ui.main;
const {QuickToggle, SystemIndicator} = imports.ui.quickSettings;
diff --git a/js/ui/status/dwellClick.js b/js/ui/status/dwellClick.js
index 82726e5b6..66ca83a07 100644
--- a/js/ui/status/dwellClick.js
+++ b/js/ui/status/dwellClick.js
@@ -1,5 +1,9 @@
/* exported DwellClickIndicator */
-const { Clutter, Gio, GLib, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const PanelMenu = imports.ui.panelMenu;
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index fff4e73c2..d570cb471 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -1,7 +1,14 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported InputSourceIndicator */
-const { Clutter, Gio, GLib, GObject, IBus, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const IBus = imports.gi.IBus;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Gettext = imports.gettext;
const Signals = imports.misc.signals;
diff --git a/js/ui/status/location.js b/js/ui/status/location.js
index 45f6b7ac8..a234bcfc0 100644
--- a/js/ui/status/location.js
+++ b/js/ui/status/location.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const { Clutter, Gio, GLib, GObject, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Dialog = imports.ui.dialog;
const ModalDialog = imports.ui.modalDialog;
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index a1ef22bef..d73b37cea 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -1,6 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Atk, Clutter, Gio, GLib, GObject, NM, Polkit, St} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const NM = imports.gi.NM;
+const Polkit = imports.gi.Polkit;
+const St = imports.gi.St;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/status/nightLight.js b/js/ui/status/nightLight.js
index 5512eaa4a..1dbd59f07 100644
--- a/js/ui/status/nightLight.js
+++ b/js/ui/status/nightLight.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Gio, GLib, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
const {QuickToggle, SystemIndicator} = imports.ui.quickSettings;
diff --git a/js/ui/status/powerProfiles.js b/js/ui/status/powerProfiles.js
index 5cd9e2c65..566874ee0 100644
--- a/js/ui/status/powerProfiles.js
+++ b/js/ui/status/powerProfiles.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Gio, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+
const {QuickMenuToggle, SystemIndicator} = imports.ui.quickSettings;
diff --git a/js/ui/status/remoteAccess.js b/js/ui/status/remoteAccess.js
index 93980dccc..1a0451bf7 100644
--- a/js/ui/status/remoteAccess.js
+++ b/js/ui/status/remoteAccess.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported RemoteAccessApplet, ScreenRecordingIndicator, ScreenSharingIndicator */
-const { Atk, Clutter, GLib, GObject, Meta, St } = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
diff --git a/js/ui/status/rfkill.js b/js/ui/status/rfkill.js
index b51389298..edc8a9aa9 100644
--- a/js/ui/status/rfkill.js
+++ b/js/ui/status/rfkill.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Gio, GLib, GObject} = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
const {QuickToggle, SystemIndicator} = imports.ui.quickSettings;
diff --git a/js/ui/status/system.js b/js/ui/status/system.js
index d57e2786a..b4f96eb6e 100644
--- a/js/ui/status/system.js
+++ b/js/ui/status/system.js
@@ -1,7 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Atk, Clutter, Gio, GLib, GObject, Meta, Shell, St, UPowerGlib: UPower} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+const UPower = imports.gi.UPowerGlib;
const SystemActions = imports.misc.systemActions;
const Main = imports.ui.main;
diff --git a/js/ui/status/thunderbolt.js b/js/ui/status/thunderbolt.js
index 2e1236e59..0ec4dab12 100644
--- a/js/ui/status/thunderbolt.js
+++ b/js/ui/status/thunderbolt.js
@@ -3,7 +3,11 @@
// the following is a modified version of bolt/contrib/js/client.js
-const { Gio, GLib, GObject, Polkit, Shell } = imports.gi;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Polkit = imports.gi.Polkit;
+const Shell = imports.gi.Shell;
const Signals = imports.misc.signals;
const Main = imports.ui.main;
diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
index 91706343a..bc591ac09 100644
--- a/js/ui/status/volume.js
+++ b/js/ui/status/volume.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
-const {Clutter, Gio, GLib, GObject, Gvc} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Gvc = imports.gi.Gvc;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
diff --git a/js/ui/swipeTracker.js b/js/ui/swipeTracker.js
index 92990142b..77ea6c273 100644
--- a/js/ui/swipeTracker.js
+++ b/js/ui/swipeTracker.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported SwipeTracker */
-const { Clutter, Gio, GObject, Meta } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
const Main = imports.ui.main;
const Params = imports.misc.params;
diff --git a/js/ui/switchMonitor.js b/js/ui/switchMonitor.js
index 4e00eb3c0..767b9a1f2 100644
--- a/js/ui/switchMonitor.js
+++ b/js/ui/switchMonitor.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported SwitchMonitorPopup */
-const { Clutter, GObject, Meta, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const SwitcherPopup = imports.ui.switcherPopup;
diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js
index 4b0479b6d..4478b94f4 100644
--- a/js/ui/switcherPopup.js
+++ b/js/ui/switcherPopup.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported SwitcherPopup, SwitcherList */
-const { Clutter, GLib, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const Main = imports.ui.main;
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 5edcfc53f..0cb0a3da2 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -1,10 +1,16 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported UnlockDialog */
-const {
- AccountsService, Atk, Clutter, Gdm, Gio,
- GnomeDesktop, GLib, GObject, Shell, St,
-} = imports.gi;
+const AccountsService = imports.gi.AccountsService;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const Gdm = imports.gi.Gdm;
+const Gio = imports.gi.Gio;
+const GnomeDesktop = imports.gi.GnomeDesktop;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Background = imports.ui.background;
const Layout = imports.ui.layout;
diff --git a/js/ui/userWidget.js b/js/ui/userWidget.js
index 76139e1f2..7de238fd3 100644
--- a/js/ui/userWidget.js
+++ b/js/ui/userWidget.js
@@ -3,7 +3,10 @@
// A widget showing the user avatar and name
/* exported UserWidget */
-const { Clutter, GLib, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const Params = imports.misc.params;
diff --git a/js/ui/welcomeDialog.js b/js/ui/welcomeDialog.js
index 63c6d9061..fdee845f8 100644
--- a/js/ui/welcomeDialog.js
+++ b/js/ui/welcomeDialog.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WelcomeDialog */
-const { Clutter, GObject, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Config = imports.misc.config;
const Dialog = imports.ui.dialog;
diff --git a/js/ui/windowAttentionHandler.js b/js/ui/windowAttentionHandler.js
index 8da30498f..c66f6c658 100644
--- a/js/ui/windowAttentionHandler.js
+++ b/js/ui/windowAttentionHandler.js
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WindowAttentionHandler */
-const { GObject, Shell } = imports.gi;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 5a577dfed..a25fdc51a 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WindowManager */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const AltTab = imports.ui.altTab;
const AppFavorites = imports.ui.appFavorites;
diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js
index 83699d0cd..a58ee7949 100644
--- a/js/ui/windowMenu.js
+++ b/js/ui/windowMenu.js
@@ -1,7 +1,9 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*
/* exported WindowMenuManager */
-const {Clutter, Meta, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js
index 599759a1b..984571520 100644
--- a/js/ui/windowPreview.js
+++ b/js/ui/windowPreview.js
@@ -1,9 +1,15 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WindowPreview */
-const {
- Atk, Clutter, GLib, GObject, Graphene, Meta, Pango, Shell, St,
-} = imports.gi;
+const Atk = imports.gi.Atk;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const DND = imports.ui.dnd;
const OverviewControls = imports.ui.overviewControls;
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index bf631a5f0..b59e92f64 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -1,7 +1,13 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Workspace */
-const {Clutter, GLib, GObject, Graphene, Meta, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Background = imports.ui.background;
const DND = imports.ui.dnd;
diff --git a/js/ui/workspaceAnimation.js b/js/ui/workspaceAnimation.js
index 432044f75..5c7f41b5f 100644
--- a/js/ui/workspaceAnimation.js
+++ b/js/ui/workspaceAnimation.js
@@ -1,7 +1,11 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WorkspaceAnimationController, WorkspaceGroup */
-const { Clutter, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Background = imports.ui.background;
const Layout = imports.ui.layout;
diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js
index 87445298b..134267925 100644
--- a/js/ui/workspaceSwitcherPopup.js
+++ b/js/ui/workspaceSwitcherPopup.js
@@ -1,7 +1,10 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WorkspaceSwitcherPopup */
-const { Clutter, GLib, GObject, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const Layout = imports.ui.layout;
const Main = imports.ui.main;
diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js
index 5ff19c9a1..8a2abb2db 100644
--- a/js/ui/workspaceThumbnail.js
+++ b/js/ui/workspaceThumbnail.js
@@ -1,7 +1,14 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WorkspaceThumbnail, ThumbnailsBox */
-const { Clutter, Gio, GLib, GObject, Graphene, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const GObject = imports.gi.GObject;
+const Graphene = imports.gi.Graphene;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const DND = imports.ui.dnd;
const Main = imports.ui.main;
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index 22e66f77a..4e42977df 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -1,7 +1,12 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported WorkspacesView, WorkspacesDisplay */
-const { Clutter, Gio, GObject, Meta, Shell, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GObject = imports.gi.GObject;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
const Layout = imports.ui.layout;
const Main = imports.ui.main;
diff --git a/js/ui/xdndHandler.js b/js/ui/xdndHandler.js
index 3a4880b41..d610f6396 100644
--- a/js/ui/xdndHandler.js
+++ b/js/ui/xdndHandler.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported XdndHandler */
-const { Clutter } = imports.gi;
+const Clutter = imports.gi.Clutter;
const Signals = imports.misc.signals;
const DND = imports.ui.dnd;
diff --git a/subprojects/extensions-tool/src/templates/indicator/extension.js b/subprojects/extensions-tool/src/templates/indicator/extension.js
index 9ed2c385c..2f6684be1 100644
--- a/subprojects/extensions-tool/src/templates/indicator/extension.js
+++ b/subprojects/extensions-tool/src/templates/indicator/extension.js
@@ -20,7 +20,8 @@
const GETTEXT_DOMAIN = 'my-indicator-extension';
-const { GObject, St } = imports.gi;
+const GObject = imports.gi.GObject;
+const St = imports.gi.St;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
diff --git a/tests/interactive/background-repeat.js b/tests/interactive/background-repeat.js
index 1377f7424..2b83411c4 100644
--- a/tests/interactive/background-repeat.js
+++ b/tests/interactive/background-repeat.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 640, height: 480 });
diff --git a/tests/interactive/background-size.js b/tests/interactive/background-size.js
index 4eaacf682..39c3bd8f4 100644
--- a/tests/interactive/background-size.js
+++ b/tests/interactive/background-size.js
@@ -2,7 +2,10 @@
const UI = imports.testcommon.ui;
-const { Cogl, Clutter, Meta, St } = imports.gi;
+const Cogl = imports.gi.Cogl;
+const Clutter = imports.gi.Clutter;
+const Meta = imports.gi.Meta;
+const St = imports.gi.St;
function test() {
diff --git a/tests/interactive/border-radius.js b/tests/interactive/border-radius.js
index 4d26518bd..3b7d3d306 100644
--- a/tests/interactive/border-radius.js
+++ b/tests/interactive/border-radius.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 640, height: 480 });
diff --git a/tests/interactive/border-width.js b/tests/interactive/border-width.js
index 30c7575a0..cb84187e0 100644
--- a/tests/interactive/border-width.js
+++ b/tests/interactive/border-width.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 640, height: 480 });
diff --git a/tests/interactive/borders.js b/tests/interactive/borders.js
index 4812acbfa..23212e4fb 100644
--- a/tests/interactive/borders.js
+++ b/tests/interactive/borders.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 640, height: 480 });
diff --git a/tests/interactive/box-layout.js b/tests/interactive/box-layout.js
index bb9a5bbc2..5eb83a46b 100644
--- a/tests/interactive/box-layout.js
+++ b/tests/interactive/box-layout.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/interactive/box-shadow-animated.js b/tests/interactive/box-shadow-animated.js
index cf117a7f3..6e96c43b6 100644
--- a/tests/interactive/box-shadow-animated.js
+++ b/tests/interactive/box-shadow-animated.js
@@ -2,7 +2,9 @@
const UI = imports.testcommon.ui;
-const { Clutter, GLib, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const St = imports.gi.St;
const DELAY = 2000;
diff --git a/tests/interactive/box-shadows.js b/tests/interactive/box-shadows.js
index c9c677c97..4a14df1c9 100644
--- a/tests/interactive/box-shadows.js
+++ b/tests/interactive/box-shadows.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 640, height: 480 });
diff --git a/tests/interactive/calendar.js b/tests/interactive/calendar.js
index d1d435a52..bc263867d 100644
--- a/tests/interactive/calendar.js
+++ b/tests/interactive/calendar.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 400, height: 400 });
diff --git a/tests/interactive/css-fonts.js b/tests/interactive/css-fonts.js
index a25769318..56c19055d 100644
--- a/tests/interactive/css-fonts.js
+++ b/tests/interactive/css-fonts.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/interactive/entry.js b/tests/interactive/entry.js
index 9ae010604..59b037505 100644
--- a/tests/interactive/entry.js
+++ b/tests/interactive/entry.js
@@ -2,7 +2,9 @@
const UI = imports.testcommon.ui;
-const { Clutter, GLib, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage({ width: 400, height: 400 });
diff --git a/tests/interactive/icons.js b/tests/interactive/icons.js
index 65b7f6560..55afdbf2b 100644
--- a/tests/interactive/icons.js
+++ b/tests/interactive/icons.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/interactive/inline-style.js b/tests/interactive/inline-style.js
index 3952c3a98..2f9000579 100644
--- a/tests/interactive/inline-style.js
+++ b/tests/interactive/inline-style.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/interactive/scroll-view-sizing.js b/tests/interactive/scroll-view-sizing.js
index be929a4f4..dfc8118ec 100644
--- a/tests/interactive/scroll-view-sizing.js
+++ b/tests/interactive/scroll-view-sizing.js
@@ -2,7 +2,10 @@
const UI = imports.testcommon.ui;
-const {Clutter, GObject, Shell, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const GObject = imports.gi.GObject;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
// This is an interactive test of the sizing behavior of StScrollView. It
// may be interesting in the future to split out the two classes at the
diff --git a/tests/interactive/scrolling.js b/tests/interactive/scrolling.js
index ab526f97e..d16643ad2 100644
--- a/tests/interactive/scrolling.js
+++ b/tests/interactive/scrolling.js
@@ -2,7 +2,9 @@
const UI = imports.testcommon.ui;
-const {Clutter, St} = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
+
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/interactive/test-title.js b/tests/interactive/test-title.js
index a147a3a29..415c3ce80 100755
--- a/tests/interactive/test-title.js
+++ b/tests/interactive/test-title.js
@@ -1,7 +1,7 @@
#!/usr/bin/env gjs
imports.gi.versions.Gtk = '4.0';
-const {Gtk} = imports.gi;
+const Gtk = imports.gi.Gtk;
function nextTitle() {
let length = Math.random() * 20;
diff --git a/tests/interactive/transitions.js b/tests/interactive/transitions.js
index 7b2eac1c7..acb5db479 100644
--- a/tests/interactive/transitions.js
+++ b/tests/interactive/transitions.js
@@ -2,7 +2,8 @@
const UI = imports.testcommon.ui;
-const { Clutter, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
function test() {
let stage = new Clutter.Stage();
diff --git a/tests/testcommon/ui.js b/tests/testcommon/ui.js
index d426c0b38..d98b9f939 100644
--- a/tests/testcommon/ui.js
+++ b/tests/testcommon/ui.js
@@ -4,7 +4,10 @@ const Config = imports.misc.config;
imports.gi.versions = {Clutter: Config.LIBMUTTER_API_VERSION};
-const { Clutter, Gio, GLib, St } = imports.gi;
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const St = imports.gi.St;
const Environment = imports.ui.environment;
diff --git a/tests/unit/signalTracker.js b/tests/unit/signalTracker.js
index 7943d0a20..6499a0f8e 100644
--- a/tests/unit/signalTracker.js
+++ b/tests/unit/signalTracker.js
@@ -2,7 +2,7 @@
// Test cases for version comparison
-const { GObject } = imports.gi;
+const GObject = imports.gi.GObject;
const JsUnit = imports.jsUnit;
const Signals = imports.misc.signals;