diff options
| author | AlexanderCurl <alexc@alexc.hu> | 2026-04-18 17:46:06 +0100 |
|---|---|---|
| committer | AlexanderCurl <alexc@alexc.hu> | 2026-04-18 17:46:06 +0100 |
| commit | 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 (patch) | |
| tree | ab1123d4067c1b086dd6faa7ee4ea643236b565a /raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js | |
| parent | 5d94c0a7d44a2255b81815a52a7056a94a39842d (diff) | |
| download | RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.tar.gz RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.zip | |
Replaced file structures for themes in the correct format
Diffstat (limited to 'raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js')
| -rw-r--r-- | raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js b/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js new file mode 100644 index 0000000..f93539a --- /dev/null +++ b/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/prefs.js @@ -0,0 +1,101 @@ +'use strict'; + +import {ExtensionPreferences, gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; + + +import Gio from "gi://Gio"; +import Adw from "gi://Adw"; +import Gtk from "gi://Gtk"; +import { EFIBootManager } from './efibootmgr.js'; +import { Grub } from './grub.js'; +import { SystemdBoot } from './systemdBoot.js'; + +export default class MyExtensionPreferences extends ExtensionPreferences { + fillPreferencesWindow(window) { + const settings = this.getSettings('org.gnome.shell.extensions.customreboot'); + + // Create a preferences page and group + const page = new Adw.PreferencesPage(); + const group = new Adw.PreferencesGroup(); + page.add(group); + + // Create row for efibootmgr + const efi = new Adw.ActionRow({ title: 'Use EFI Boot Manager (efibootmgr)' }); + + // Create row for grub + const grub = new Adw.ActionRow({ title: 'Use Grub'}); + + // Create row for systemd-boot + const sysd = new Adw.ActionRow({ title: 'Use Systemd Boot'}); + + // Add rows + group.add(efi); + group.add(grub); + group.add(sysd); + + // Create switch for efibootmgr + const efi_switch = new Gtk.Switch({ + active: settings.get_boolean('use-efibootmgr'), + valign: Gtk.Align.CENTER, + }); + + // Create switch for grub + const grub_switch = new Gtk.Switch({ + active: settings.get_boolean('use-grub'), + valign: Gtk.Align.CENTER, + }); + + // Create switch for systemd-boot + const sysd_switch = new Gtk.Switch({ + active: settings.get_boolean('use-systemd-boot'), + valign: Gtk.Align.CENTER, + }); + + // Bind settings for efibootmgr + settings.bind( + 'use-efibootmgr', + efi_switch, + 'active', + Gio.SettingsBindFlags.DEFAULT + ); + + // Bind settings for grub + settings.bind( + 'use-grub', + grub_switch, + 'active', + Gio.SettingsBindFlags.DEFAULT + ); + + // Bind settings for systemd-boot + settings.bind( + 'use-systemd-boot', + sysd_switch, + 'active', + Gio.SettingsBindFlags.DEFAULT + ); + + // Add the switch for efibootmgr + efi.add_suffix(efi_switch); + efi.activatable_widget = efi_switch; + + // Add the switch for grub + grub.add_suffix(grub_switch); + grub.activatable_widget = grub_switch; + + // Add the switch for systemd-boot + sysd.add_suffix(sysd_switch); + sysd.activatable_widget = sysd_switch; + + // Add our page to the window + window.add(page); + + (async () => { + // Disable/enable switches in accordance to them being usable + + efi_switch.set_sensitive(await EFIBootManager.IsUseable()); + grub_switch.set_sensitive(await Grub.IsUseable()); + sysd_switch.set_sensitive(await SystemdBoot.IsUseable()); + })(); + } +}
\ No newline at end of file |