2023-07-10 02:34:52 -04:00
|
|
|
import gi from 'gi';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Required dependencies
|
|
|
|
*/
|
|
|
|
|
|
|
|
import 'gi://AccountsService?version=1.0';
|
|
|
|
import 'gi://Atk?version=1.0';
|
|
|
|
import 'gi://Atspi?version=2.0';
|
|
|
|
import 'gi://Gcr?version=4';
|
|
|
|
import 'gi://Gdk?version=4.0';
|
|
|
|
import 'gi://Gdm?version=1.0';
|
|
|
|
import 'gi://Geoclue?version=2.0';
|
|
|
|
import 'gi://Gio?version=2.0';
|
|
|
|
import 'gi://GDesktopEnums?version=3.0';
|
|
|
|
import 'gi://GdkPixbuf?version=2.0';
|
|
|
|
import 'gi://GnomeBG?version=4.0';
|
|
|
|
import 'gi://GnomeDesktop?version=4.0';
|
|
|
|
import 'gi://Graphene?version=1.0';
|
|
|
|
import 'gi://GWeather?version=4.0';
|
|
|
|
import 'gi://IBus?version=1.0';
|
|
|
|
import 'gi://Pango?version=1.0';
|
|
|
|
import 'gi://Polkit?version=1.0';
|
|
|
|
import 'gi://PolkitAgent?version=1.0';
|
|
|
|
import 'gi://Rsvg?version=2.0';
|
|
|
|
import 'gi://Soup?version=3.0';
|
|
|
|
import 'gi://UPowerGlib?version=1.0';
|
2023-07-10 02:21:23 -04:00
|
|
|
|
2023-08-07 11:30:22 -04:00
|
|
|
import * as Config from './config.js';
|
2023-07-10 02:21:23 -04:00
|
|
|
|
2023-07-10 02:34:52 -04:00
|
|
|
// Meta-related dependencies use a shared version
|
|
|
|
// from the compile-time config.
|
|
|
|
gi.require('Meta', Config.LIBMUTTER_API_VERSION);
|
|
|
|
gi.require('Clutter', Config.LIBMUTTER_API_VERSION);
|
|
|
|
gi.require('Cogl', Config.LIBMUTTER_API_VERSION);
|
|
|
|
gi.require('Shell', Config.LIBMUTTER_API_VERSION);
|
|
|
|
gi.require('St', Config.LIBMUTTER_API_VERSION);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Compile-time optional dependencies
|
|
|
|
*/
|
|
|
|
|
|
|
|
if (Config.HAVE_BLUETOOTH)
|
|
|
|
gi.require('GnomeBluetooth', '3.0');
|
|
|
|
else
|
|
|
|
console.debug('GNOME Shell was compiled without GNOME Bluetooth support');
|
|
|
|
|
|
|
|
|
|
|
|
if (Config.HAVE_NETWORKMANAGER) {
|
|
|
|
gi.require('NM', '1.0');
|
|
|
|
gi.require('NMA4', '1.0');
|
|
|
|
} else {
|
|
|
|
console.debug('GNOME Shell was compiled without Network Manager support');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Runtime optional dependencies
|
|
|
|
*/
|
|
|
|
|
|
|
|
try {
|
|
|
|
// Malcontent is optional, so catch any errors loading it
|
|
|
|
gi.require('Malcontent', '0');
|
|
|
|
} catch {
|
|
|
|
console.debug('Malcontent is not available, parental controls integration will be disabled.');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
// Telepathy is optional, so catch any errors loading it
|
|
|
|
gi.require('TelepathyGLib', '0.12');
|
|
|
|
gi.require('TelepathyLogger', '0.2');
|
|
|
|
} catch {
|
|
|
|
console.debug('Telepathy is not available, chat integration will be disabled.');
|
|
|
|
}
|