From 30bcae4f4a6e0bdf2488804fcfb11e101c89af14 Mon Sep 17 00:00:00 2001 From: pedro <78969191+8bury@users.noreply.github.com> Date: Thu, 16 Jul 2026 13:16:00 -0300 Subject: [PATCH 1/2] feat(lid-guard): add lid-close suspension inhibitor --- lid-guard/README.md | 60 ++++++++++++++++ lid-guard/plugin.toml | 22 ++++++ lid-guard/service.luau | 127 +++++++++++++++++++++++++++++++++ lid-guard/shortcut.luau | 34 +++++++++ lid-guard/thumbnail.webp | Bin 0 -> 14648 bytes lid-guard/translations/en.json | 28 ++++++++ lid-guard/widget.luau | 59 +++++++++++++++ 7 files changed, 330 insertions(+) create mode 100644 lid-guard/README.md create mode 100644 lid-guard/plugin.toml create mode 100644 lid-guard/service.luau create mode 100644 lid-guard/shortcut.luau create mode 100644 lid-guard/thumbnail.webp create mode 100644 lid-guard/translations/en.json create mode 100644 lid-guard/widget.luau diff --git a/lid-guard/README.md b/lid-guard/README.md new file mode 100644 index 0000000..8abf966 --- /dev/null +++ b/lid-guard/README.md @@ -0,0 +1,60 @@ +# Lid Guard + +Lid Guard keeps a laptop awake when its lid is closed, allowing AI agents, +builds, downloads, and other background jobs to continue without changing the +system-wide lid policy. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `8bury/lid-guard` | +| Entries | Bar widget: `lid-guard`; shortcut: `lid-guard-toggle`; service: `lid-guard-service` | + +## Requirements + +Install `systemctl`, `systemd-run`, and `systemd-inhibit` from systemd, plus +`sleep` from coreutils, on `PATH`. The active user session must use +`systemd-logind` and have a working user service manager. + +## Usage + +Add the `lid-guard` widget to a bar. Left-click the shield to toggle the mode; +right-click it to refresh the detected state. A highlighted shield means the +lid-close inhibitor is active. + +To use the same toggle from the Control Center, add the `lid-guard-toggle` +shortcut in Settings → Control Center → Shortcuts. + +The service entry `lid-guard-service` owns the inhibitor and can also be +controlled through IPC: + +```sh +noctalia msg plugin 8bury/lid-guard:lid-guard-service all enable +noctalia msg plugin 8bury/lid-guard:lid-guard-service all disable +noctalia msg plugin 8bury/lid-guard:lid-guard-service all toggle +noctalia msg plugin 8bury/lid-guard:lid-guard-service all refresh +``` + +## IPC + +The `enable`, `disable`, and `toggle` events change the inhibitor state. +`refresh` and `status` re-check the transient user service without changing it. +IPC events take no payload. + +## Notes + +Lid Guard makes no network requests and writes no files. It spawns +`systemctl`, `systemd-run`, `systemd-inhibit`, and `sleep` as the current user. +When enabled, it creates the transient user service +`noctalia-lid-guard.service`; disabling the mode stops that service. + +The inhibitor covers only `handle-lid-switch`. It does not prevent suspension +requested by an idle daemon, a power menu, or another explicit command, and it +does not modify `logind.conf`. The mode ends when the user session or user +service manager stops. If Noctalia is unavailable, restore the normal lid +behavior with: + +```sh +systemctl --user stop noctalia-lid-guard.service +``` diff --git a/lid-guard/plugin.toml b/lid-guard/plugin.toml new file mode 100644 index 0000000..d054229 --- /dev/null +++ b/lid-guard/plugin.toml @@ -0,0 +1,22 @@ +id = "8bury/lid-guard" +name = "Lid Guard" +version = "1.0.0" +plugin_api = 3 +author = "8bury" +license = "MIT" +icon = "shield-lock" +description = "Keep the laptop awake when its lid is closed, so background jobs can continue running." +tags = ["bar", "indicator", "productivity", "service", "shortcut", "system", "utility"] +dependencies = ["systemctl", "systemd-run", "systemd-inhibit", "sleep"] + +[[service]] +id = "lid-guard-service" +entry = "service.luau" + +[[widget]] +id = "lid-guard" +entry = "widget.luau" + +[[shortcut]] +id = "lid-guard-toggle" +entry = "shortcut.luau" diff --git a/lid-guard/service.luau b/lid-guard/service.luau new file mode 100644 index 0000000..b0618be --- /dev/null +++ b/lid-guard/service.luau @@ -0,0 +1,127 @@ +--!nonstrict +-- Owns the systemd inhibitor. Widgets and shortcuts communicate with this +-- singleton through noctalia.state. + +local UNIT = "noctalia-lid-guard.service" +local CHECK_COMMAND = `systemctl --user is-active --quiet {UNIT}` +local START_COMMAND = `systemctl --user reset-failed {UNIT} >/dev/null 2>&1 || true; ` .. table.concat({ + `systemd-run --user --quiet --collect --unit={UNIT}`, + `--description='Noctalia Lid Guard'`, + `systemd-inhibit --what=handle-lid-switch`, + `--who='Noctalia Lid Guard'`, + `--why='Keep background jobs running while the laptop lid is closed'`, + `--mode=block sleep infinity`, +}, " ") +local STOP_COMMAND = `systemctl --user stop {UNIT}` + +local active = false +local busy = false +local available = noctalia.commandExists("systemctl") + and noctalia.commandExists("systemd-run") + and noctalia.commandExists("systemd-inhibit") + and noctalia.commandExists("sleep") +local revision = 0 + +local function publish(errorMessage) + revision += 1 + noctalia.state.set("lid_guard_status", { + active = active, + busy = busy, + available = available, + error = errorMessage or "", + revision = revision, + }) +end + +local function refresh(callback) + if not available then + active = false + publish(noctalia.tr("error.missing_dependencies")) + if callback then callback(false) end + return + end + + noctalia.runAsync(CHECK_COMMAND, function(result) + active = result.exitCode == 0 + publish() + if callback then callback(active) end + end) +end + +local function finishToggle(expectedActive, result) + if result.exitCode ~= 0 then + busy = false + local detail = noctalia.string.trim(result.stderr or "") + if detail == "" then detail = noctalia.tr("error.command_failed") end + publish(detail) + noctalia.notifyError(noctalia.tr("title"), detail) + return + end + + refresh(function(currentActive) + busy = false + active = currentActive + publish() + + if currentActive ~= expectedActive then + noctalia.notifyError(noctalia.tr("title"), noctalia.tr("error.state_mismatch")) + elseif currentActive then + noctalia.notify(noctalia.tr("notification.enabled.title"), noctalia.tr("notification.enabled.body")) + else + noctalia.notify(noctalia.tr("notification.disabled.title"), noctalia.tr("notification.disabled.body")) + end + end) +end + +local function setActive(nextActive) + if busy or not available then return end + busy = true + publish() + + if nextActive then + noctalia.runAsync(START_COMMAND, function(result) + finishToggle(true, result) + end) + else + noctalia.runAsync(STOP_COMMAND, function(result) + finishToggle(false, result) + end) + end +end + +noctalia.state.watch("lid_guard_command", function(command) + if type(command) ~= "table" then return end + + if command.action == "toggle" then + refresh(function(currentActive) + setActive(not currentActive) + end) + elseif command.action == "enable" then + setActive(true) + elseif command.action == "disable" then + setActive(false) + elseif command.action == "refresh" then + refresh() + end +end) + +noctalia.setUpdateInterval(5000) +refresh() + +function update() + if not busy then refresh() end +end + +function onIpc(event, _payload) + if event == "toggle" then + refresh(function(currentActive) + setActive(not currentActive) + end) + elseif event == "enable" then + setActive(true) + elseif event == "disable" then + setActive(false) + elseif event == "refresh" or event == "status" then + refresh() + end +end diff --git a/lid-guard/shortcut.luau b/lid-guard/shortcut.luau new file mode 100644 index 0000000..db2c4ea --- /dev/null +++ b/lid-guard/shortcut.luau @@ -0,0 +1,34 @@ +--!nonstrict + +local status = noctalia.state.get("lid_guard_status") or { + active = false, + busy = false, + available = true, +} +local requestId = 0 + +local function render() + local active = status.active == true + shortcut.setLabel(if active then noctalia.tr("shortcut.active") else noctalia.tr("shortcut.inactive")) + shortcut.setIcon("shield-lock", "shield-off") + shortcut.setActive(active) + shortcut.setEnabled(status.available ~= false and status.busy ~= true) +end + +noctalia.state.watch("lid_guard_status", function(value) + if type(value) == "table" then + status = value + render() + end +end) + +render() + +function onClick() + if status.available == false or status.busy == true then return end + requestId += 1 + noctalia.state.set("lid_guard_command", { + action = "toggle", + requestId = `shortcut-{requestId}`, + }) +end diff --git a/lid-guard/thumbnail.webp b/lid-guard/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..a48230c940a679b158dc666b72bbfbbe0d5b7a50 GIT binary patch literal 14648 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 literal 0 HcmV?d00001 diff --git a/lid-guard/translations/en.json b/lid-guard/translations/en.json new file mode 100644 index 0000000..578d709 --- /dev/null +++ b/lid-guard/translations/en.json @@ -0,0 +1,28 @@ +{ + "title": "Lid Guard", + "tooltip": { + "active": "Lid Guard is on — closing the lid will not suspend the laptop", + "inactive": "Lid Guard is off — click to keep the laptop awake with the lid closed", + "changing": "Changing Lid Guard state…", + "unavailable": "Lid Guard requires systemd" + }, + "shortcut": { + "active": "Lid Guard On", + "inactive": "Lid Guard Off" + }, + "notification": { + "enabled": { + "title": "Lid Guard enabled", + "body": "Closing the laptop lid will no longer suspend it." + }, + "disabled": { + "title": "Lid Guard disabled", + "body": "The normal lid-close behavior has been restored." + } + }, + "error": { + "missing_dependencies": "systemctl, systemd-run, systemd-inhibit, and sleep are required.", + "command_failed": "The systemd command failed.", + "state_mismatch": "The requested state could not be confirmed." + } +} diff --git a/lid-guard/widget.luau b/lid-guard/widget.luau new file mode 100644 index 0000000..82dd2bb --- /dev/null +++ b/lid-guard/widget.luau @@ -0,0 +1,59 @@ +--!nonstrict + +local status = noctalia.state.get("lid_guard_status") or { + active = false, + busy = false, + available = true, +} +local requestId = 0 + +local function render() + if status.available == false then + barWidget.setGlyph("shield-x") + barWidget.setGlyphColor("error") + barWidget.setTooltip(noctalia.tr("tooltip.unavailable")) + elseif status.busy == true then + barWidget.setGlyph("loader-2") + barWidget.setGlyphColor("primary") + barWidget.setTooltip(noctalia.tr("tooltip.changing")) + elseif status.active == true then + barWidget.setGlyph("shield-lock") + barWidget.setGlyphColor("tertiary") + barWidget.setTooltip(noctalia.tr("tooltip.active")) + else + barWidget.setGlyph("shield-off") + barWidget.setGlyphColor("on_surface_variant") + barWidget.setTooltip(noctalia.tr("tooltip.inactive")) + end +end + +noctalia.state.watch("lid_guard_status", function(value) + if type(value) == "table" then + status = value + render() + end +end) + +render() + +function onClick() + if status.available == false then + noctalia.notifyError(noctalia.tr("title"), status.error or noctalia.tr("error.missing_dependencies")) + return + end + if status.busy == true then return end + + requestId += 1 + noctalia.state.set("lid_guard_command", { + action = "toggle", + requestId = `widget-{requestId}`, + }) +end + +function onRightClick() + requestId += 1 + noctalia.state.set("lid_guard_command", { + action = "refresh", + requestId = `widget-refresh-{requestId}`, + }) +end From 81275d5a814f76d22eb5479d1cd6917e5ce7f346 Mon Sep 17 00:00:00 2001 From: pedro <78969191+8bury@users.noreply.github.com> Date: Thu, 16 Jul 2026 17:25:53 -0300 Subject: [PATCH 2/2] docs(lid-guard): replace plugin thumbnail --- lid-guard/thumbnail.webp | Bin 14648 -> 49490 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lid-guard/thumbnail.webp b/lid-guard/thumbnail.webp index a48230c940a679b158dc666b72bbfbbe0d5b7a50..71c082f00d8317be2c2ef6e05af8652c4d21879a 100644 GIT binary patch literal 49490 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 SVFt!~uv|J&B6 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