From 56ccc9e5f48bc29b068dbb6f03a3896b0cbe4a14 Mon Sep 17 00:00:00 2001 From: Aviv Bintang Aringga <53284815+avivbintangaringga@users.noreply.github.com> Date: Sat, 18 Jul 2026 21:19:19 +0700 Subject: [PATCH] feat(nextboot-selector): add nextboot-selector plugin (#36) * feat(nextboot-selector): add nextboot-selector plugin * fix(nextboot-selector): change readme * fix(nextboot-selector): change readme * fix(nextboot-selector): change en.json structure * fix(nextboot-selector): check command result before rebooting and notify if error * fix(nextboot-selector): add reboot and sudo as dependencies --- nextboot-selector/README.md | 36 ++++++ nextboot-selector/nextboot_selector.luau | 9 ++ nextboot-selector/panel.luau | 149 +++++++++++++++++++++++ nextboot-selector/plugin.toml | 58 +++++++++ nextboot-selector/thumbnail.webp | Bin 0 -> 52522 bytes nextboot-selector/translations/en.json | 16 +++ 6 files changed, 268 insertions(+) create mode 100644 nextboot-selector/README.md create mode 100644 nextboot-selector/nextboot_selector.luau create mode 100644 nextboot-selector/panel.luau create mode 100644 nextboot-selector/plugin.toml create mode 100644 nextboot-selector/thumbnail.webp create mode 100644 nextboot-selector/translations/en.json diff --git a/nextboot-selector/README.md b/nextboot-selector/README.md new file mode 100644 index 0000000..0e54338 --- /dev/null +++ b/nextboot-selector/README.md @@ -0,0 +1,36 @@ +# Next Boot Selector + +Next Boot Selector selects which boot entry to boot for the next reboot only. Useful if you're dual-booting and goes back and forth to/from Windows. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `avivbintangaringga/nextboot-selector` | +| Entries | Bar widget: `nextboot-selector`; panel: `panel` | + +## Requirements + +This plugin mainly requires `efibootmgr` but need to escalate using `pkexec` or `sudo`. Note that if you use `sudo`, you need to set the option `NOPASSWD` for the `efibootmgr` command so it doesn't requires password to run. `reboot` command is also required if reboot on select is enabled. + +## Usage + +Add the `nextboot-selector` widget to a bar. Click it to show a panel that lists all boot entries on your computer. Click one of the entry to change the next boot to it. + +Open the panel directly with: + +```sh +noctalia msg panel-toggle avivbintangaringga/nextboot-selector:panel +``` + +You can add more keywords to the exclusion list in the settings to hide unwanted entries. You also can make it automatically reboots after selecting an entry. + +## Settings + +| Setting | Type | Default | Description | +| --- | --- | --- | --- | +| `excluded_keywords` | `string_list` | `["pxe", "uefi os", "uefi shell", "shell", "ipv4", "ipv6", "network", "diagnostics", "setup", "recovery"]` | Keywords to exclude unwanted boot entries | +| `privilege_command` | `string` | `pkexec` | Command to escalate the privilege of the `efibootmgr` command | +| `close_on_select` | `bool` | `false` | Whether to close the panel after selecting an entry | +| `reboot_on_select` | `bool` | `false` | Whether to automatically reboot after selecting an entry | +| `reboot_command` | `string` | `reboot` | Command to be executed when reboot on select is enabled | diff --git a/nextboot-selector/nextboot_selector.luau b/nextboot-selector/nextboot_selector.luau new file mode 100644 index 0000000..33fdc96 --- /dev/null +++ b/nextboot-selector/nextboot_selector.luau @@ -0,0 +1,9 @@ +noctalia.setUpdateInterval(1000) + +function update() + barWidget.setGlyph("refresh-dot") +end + +function onClick() + noctalia.togglePanel("avivbintangaringga/nextboot-selector:panel") +end diff --git a/nextboot-selector/panel.luau b/nextboot-selector/panel.luau new file mode 100644 index 0000000..ff110bd --- /dev/null +++ b/nextboot-selector/panel.luau @@ -0,0 +1,149 @@ +function tr(key) + return noctalia.tr(key) +end + +function cfg(key) + return noctalia.getConfig(key) +end + +local env = getfenv() +local excludedKeywords = cfg("excluded_keywords") +local privilegeCmd = cfg("privilege_command") +local closeOnSelect = cfg("close_on_select") +local rebootOnSelect = cfg("reboot_on_select") +local rebootCmd = cfg("reboot_command") + +function parseEntries(output) + local entries = {} + + local bootNext = output:match("BootNext:%s*(%x+)") + local bootCurrent = output:match("BootCurrent:%s*(%x+)") + + local selectedId = bootNext or bootCurrent + if selectedId then + selectedId = selectedId:upper() + end + + for line in output:gmatch("[^\r\n]+") do + local id, active, name = line:match("^Boot(%x%x%x%x)(%*?)%s+([^\t]+)") + if id then + id = id:upper() + table.insert(entries, { + id = id, + name = name, + isActive = active == "*", + isSelected = selectedId ~= nil and id == selectedId, + }) + end + end + + return entries +end + +function excludeEntries(entries, keywords) + local filtered = {} + for _, entry in ipairs(entries) do + local haystack = entry.name:lower() + local excluded = false + for _, word in ipairs(keywords) do + if haystack:find(word:lower(), 1, true) then + excluded = true + break + end + end + if not excluded then + table.insert(filtered, entry) + end + end + return filtered +end + +function resetBootNext() + noctalia.runAsync(`{privilegeCmd} efibootmgr --delete-bootnext`, function(result) + load() + end, 5000) +end + +function render(entries) + local entriesButton = {} + for i, entry in ipairs(entries) do + local callBackFn = `setBootNext_{entry.id}` + env[callBackFn] = function() + noctalia.runAsync(`{privilegeCmd} efibootmgr --bootnext {entry.id}`, function(result) + if not result.timedOut then + if result.exitCode == 0 then + load() + + if rebootOnSelect then + noctalia.runAsync(rebootCmd) + end + + if closeOnSelect then + panel.close() + end + else + noctalia.notify(tr("notification.failed_to_set_next_boot"), result.stderr) + end + else + noctalia.notify(tr("notification.failed_to_set_next_boot"), tr("notification.timed_out")) + end + end, 60 * 1000) + end + + table.insert( + entriesButton, + ui.button({ + text = entry.name, + selected = entry.isSelected, + enabled = entry.isActive, + onClick = callBackFn, + contentAlign = "start", + glyph = if entry.isSelected then "circle-check" else "circle", + glyphSize = 18, + }) + ) + end + + panel.render(ui.column({ + flexGrow = 1, + }, { + ui.row({ + justify = "space_between", + align = "center" + }, { + ui.label({ + text = tr("panel.title"), + fontSize = 16 + }), + ui.button({ + text = tr("panel.reset"), + glyph = "reload", + variant = "ghost", + controlSize = "sm", + onClick = "resetBootNext" + }) + }), + ui.separator({ + thickness = 2, + orientation = "horizontal", + spacing = 8, + }), + ui.scroll({ + flexGrow = 1, + gap = 8, + }, entriesButton), + })) +end + +function load() + noctalia.runAsync("efibootmgr", function(result) + if result.exitCode == 0 then + local entries = parseEntries(result.stdout) + render(excludeEntries(entries, excludedKeywords)) + end + end, 5000) +end + +function onOpen() + load() +end diff --git a/nextboot-selector/plugin.toml b/nextboot-selector/plugin.toml new file mode 100644 index 0000000..a94fbbb --- /dev/null +++ b/nextboot-selector/plugin.toml @@ -0,0 +1,58 @@ +id = "avivbintangaringga/nextboot-selector" +name = "Next Boot Selector" +version = "1.0.0" +plugin_api = 3 +icon = "refresh-dot" +author = "avivbintangaringga" +description = "Select boot entry for the next reboot" +tags = [ "utility" ] +dependencies = [ "efibootmgr", "pkexec", "reboot", "sudo" ] +license = "MIT" + +[[widget]] +id = "nextboot-selector" +entry = "nextboot_selector.luau" + +[[panel]] +id = "panel" +entry = "panel.luau" +placement = "attached" +position = "auto" +open_near_click = true +width = 350 +height = 250 + +[[setting]] +key = "excluded_keywords" +type = "string_list" +label_key = "setting.excluded_keywords.label" +description_key = "setting.excluded_keywords.description" +default = ["pxe", "uefi os", "uefi shell", "shell", "ipv4", "ipv6", "network", "diagnostics", "setup", "recovery"] + +[[setting]] +key = "privilege_command" +type = "string" +label_key = "setting.privilege_command.label" +description_key = "setting.privilege_command.description" +default = "pkexec" + +[[setting]] +key = "close_on_select" +type = "bool" +label_key = "setting.close_on_select.label" +description_key = "setting.close_on_select.description" +default = false + +[[setting]] +key = "reboot_on_select" +type = "bool" +label_key = "setting.reboot_on_select.label" +description_key = "setting.reboot_on_select.description" +default = false + +[[setting]] +key = "reboot_command" +type = "string" +label_key = "setting.reboot_command.label" +description_key = "setting.reboot_command.description" +default = "reboot" diff --git a/nextboot-selector/thumbnail.webp b/nextboot-selector/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..252021854d9e3258e97d5a62c8b417f2a3e87389 GIT binary patch literal 52522 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�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 W!1aaMqQauZes-eI%c>0w3=9C;Z5FNo literal 0 HcmV?d00001 diff --git a/nextboot-selector/translations/en.json b/nextboot-selector/translations/en.json new file mode 100644 index 0000000..a0cd4ea --- /dev/null +++ b/nextboot-selector/translations/en.json @@ -0,0 +1,16 @@ +{ + "panel.title": "Next Boot Selector", + "panel.reset": "Reset", + "setting.excluded_keywords.label": "Excluded keywords", + "setting.excluded_keywords.description": "Keywords to exclude entries (case insensitive)", + "setting.privilege_command.label": "Privilege command", + "setting.privilege_command.description": "Command to escalate the privilege of the efibootmgr command", + "setting.close_on_select.label": "Close on select", + "setting.close_on_select.description": "Whether to close the panel after selecting an entry", + "setting.reboot_on_select.label": "Reboot on select", + "setting.reboot_on_select.description": "Whether to automatically reboot after selecting an entry", + "setting.reboot_command.label": "Reboot command", + "setting.reboot_command.description": "Command to be executed when reboot on select is enabled", + "notification.failed_to_set_next_boot": "Failed to set next boot", + "notification.timed_out": "Timed out" +}