Files
gnome-jarvis/apps/control-center/main.js
T
snxraven 18802cb55d
Rolling release / release (push) Successful in 6m57s
Branding
2026-09-12 14:06:02 -04:00

27 lines
1.2 KiB
JavaScript

#!/usr/bin/gjs -m
import Adw from 'gi://Adw';
import Gio from 'gi://Gio';
import Gtk from 'gi://Gtk';
import Gdk from 'gi://Gdk';
import { fillSettingsWindow } from '../gnome-extension/[email protected]/settings-window.js';
const directory = Gio.File.new_for_uri(import.meta.url).get_parent().get_parent().get_child('gnome-extension').get_child('[email protected]').get_path();
const application = new Adw.Application({ application_id: 'io.qvac.Jarvis.Control', flags: Gio.ApplicationFlags.DEFAULT_FLAGS });
let window;
application.connect('startup', () => {
try {
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_search_path(`${directory}/brand/icons`);
} catch {}
});
application.connect('activate', () => {
if (!window) {
const source = Gio.SettingsSchemaSource.new_from_directory(`${directory}/schemas`, Gio.SettingsSchemaSource.get_default(), false);
const settings = new Gio.Settings({ settings_schema: source.lookup('org.gnome.shell.extensions.jarvis', true) });
window = new Adw.PreferencesWindow({ application, icon_name: 'io.qvac.Jarvis.Control' });
fillSettingsWindow(window, settings, directory);
window.connect('close-request', () => { window = null; return false; });
}
window.present();
});
application.run([]);