From 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 Mon Sep 17 00:00:00 2001 From: AlexanderCurl Date: Sat, 18 Apr 2026 17:46:06 +0100 Subject: Replaced file structures for themes in the correct format --- .../installed/customreboot@nova1545/bootloader.js | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js (limited to 'raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js') diff --git a/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js b/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js new file mode 100644 index 0000000..5913d9c --- /dev/null +++ b/raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js @@ -0,0 +1,36 @@ +import { EFIBootManager } from "./efibootmgr.js"; +import { SystemdBoot } from './systemdBoot.js'; +import { Grub } from './grub.js'; + +export const BootLoaders = { + EFI: "EFI Boot Manager", + GRUB: "Grub", + SYSD: "Systemd Boot", + UNKNOWN: "Unknown Boot Loader" +} + +export class Bootloader { + /** + * Gets the first available boot loader type on the current system + * @returns BootLoaders type. Can be "EFI", "SYSD", "GRUB", or "UNKNOWN" + */ + static async GetUseableType(extension) { + const settings = extension.getSettings('org.gnome.shell.extensions.customreboot'); + + if (await EFIBootManager.IsUseable() && settings.get_boolean('use-efibootmgr')) return BootLoaders.EFI; + if (await Grub.IsUseable() && settings.get_boolean('use-grub')) return BootLoaders.GRUB; + if (await SystemdBoot.IsUseable() && settings.get_boolean('use-systemd-boot')) return BootLoaders.SYSD; + return BootLoaders.UNKNOWN; + } + + /** + * Gets a instance of the provided boot loader + * @returns A boot loader if one is found otherwise undefined + */ + static async GetUseable(type) { + if (type === BootLoaders.EFI) return EFIBootManager; + if (type === BootLoaders.SYSD) return SystemdBoot; + if (type === BootLoaders.GRUB) return Grub; + return undefined; + } +} \ No newline at end of file -- cgit v1.3