Files

91 lines
2.5 KiB
JavaScript

import Adw from 'gi://Adw';
import Gdk from 'gi://Gdk?version=4.0';
import GdkPixbuf from 'gi://GdkPixbuf';
import GdkWayland from 'gi://GdkWayland?version=4.0';
import GdkX11 from 'gi://GdkX11?version=4.0';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
let GLibUnix;
GLibUnix = await import('gi://GLibUnix').then(module => module.default).catch(_e => {
console.log('GLibUnix not found.');
});
if (!GLibUnix) {
console.log('Falling back to GLib...');
GLibUnix = {
'signal_add_full': GLib.unix_signal_add,
};
}
import GnomeDesktop from 'gi://GnomeDesktop?version=4.0';
const GnomeAutoar = await import('gi://GnomeAutoar')
.then(module => module.default)
.catch(e => console.error(e));
import GObject from 'gi://GObject';
import Graphene from 'gi://Graphene';
import Gsk from 'gi://Gsk';
import Gtk from 'gi://Gtk';
import Pango from 'gi://Pango';
const Poppler = await import('gi://Poppler')
.then(module => module.default)
.catch(e => console.error(`Install Poppler for proper fallback pdf thumbnailing \n ${e}`));
const Cairo = await import('gi://cairo')
.then(module => module.default)
.catch(e => console.error(`Install Cairo for proper fallback pdf thumbnailing \n ${e}`));
import gettext from 'gettext';
const GioUnix = await import('gi://GioUnix?version=2.0')
.then(module => module.default)
.catch(_e => {
console.log('GioUnix not found, falling back to Gio...');
});
var DesktopAppInfo;
// Prefer GioUnix if available (newer GLib ≥ 2.80)
if (GioUnix?.DesktopAppInfo)
DesktopAppInfo = GioUnix.DesktopAppInfo;
else if (Gio?.DesktopAppInfo)
DesktopAppInfo = Gio.DesktopAppInfo;
if (!DesktopAppInfo)
console.error('DesktopAppInfo is not available on this system!');
const WebKit = await import('gi://WebKit?version=6.0')
.then(m => m.default)
.catch(e => {
console.log(`WebKit GI not found; desktop widgets disabled\n${e}`);
return null;
});
const Soup = await import('gi://Soup?version=3.0')
.then(m => m.default)
.catch(e => {
console.log(`Soup GI not found; desktop widgets disabled\n${e}`);
return null;
});
const DesktopWidgetCapability = !!WebKit && !!Soup;
export {
Adw,
Cairo,
DesktopAppInfo,
DesktopWidgetCapability,
Gdk,
GdkPixbuf,
GdkX11,
GdkWayland,
gettext,
GLib,
GLibUnix,
GnomeDesktop,
GnomeAutoar,
GObject,
Gio,
Graphene,
Gsk,
Gtk,
Pango,
Poppler,
Soup,
WebKit
};