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/bootloader.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/bootloader.js')
| -rw-r--r-- | raveos-gnome-theme/theme-data/extensions/installed/customreboot@nova1545/bootloader.js | 36 |
1 files changed, 36 insertions, 0 deletions
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 |