summaryrefslogtreecommitdiff
path: root/raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js
diff options
context:
space:
mode:
authornippy <you@example.com>2026-04-18 13:49:56 +0200
committernippy <you@example.com>2026-04-18 13:49:56 +0200
commit5d94c0a7d44a2255b81815a52a7056a94a39842d (patch)
tree759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js
parente79cdf210b267f21a186255ce1a4d50029439d54 (diff)
downloadRaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.tar.gz
RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.zip
update Raveos themes
Diffstat (limited to 'raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js')
-rw-r--r--raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js b/raveos-theme/gnome/theme-data/extensions/installed/customreboot@nova1545/bootloader.js
new file mode 100644
index 0000000..5913d9c
--- /dev/null
+++ b/raveos-theme/gnome/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