* feat(lid-guard): add lid-close suspension inhibitor * docs(lid-guard): replace plugin thumbnail
61 lines
2.1 KiB
Markdown
61 lines
2.1 KiB
Markdown
# 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
|
|
```
|