Omarchy's plugin contract moved. These watched files changed between
7eca64e2 and d3d23fdd:
docs/omarchy-shell.md
shell/plugins/README.md
omacom/omarchy@7eca64e...d3d23fd
diff --git a/docs/omarchy-shell.md b/docs/omarchy-shell.md
index a7c1b389..3142d991 100644
--- a/docs/omarchy-shell.md
+++ b/docs/omarchy-shell.md
@@ -37,9 +37,7 @@ wait).
Only one full bar option is active at a time. The built-in `omarchy.bar` is
used when `bar.id` is omitted or when a selected third-party bar cannot load.
-Panels, overlays, and menus are loaded when summoned. Plugins can set the
-top-level manifest key `keepLoaded: true` to survive between summons.
-First-party services are loaded at startup.
+Panels, overlays, and menus are loaded when summoned. Plugins can set the top-level manifest key `keepLoaded: true` to survive between summons, and to keep a service mounted across plugin hot-reload (so `omarchy.lock` is not destroyed while Hyprland still holds the session lock). First-party services are loaded at startup.
Entry points are QML `Item`s. Panel, overlay, and menu entry points expose
`open(payloadJson)` and `close()` for summon/hide; on load the host injects
diff --git a/shell/plugins/README.md b/shell/plugins/README.md
index d4252515..66cb74e1 100644
--- a/shell/plugins/README.md
+++ b/shell/plugins/README.md
@@ -83,6 +83,9 @@ separate PAM services: `omarchy-lock-password` for password auth and,
only when fingerprints are enrolled, `omarchy-lock-fingerprint` for
fingerprint auth. It mirrors the previous lock screen field dimensions,
colors, blurred wallpaper, placeholder, and Hyprland-driven corners.
+The plugin sets `keepLoaded: true` so a plugin hot-reload (for example
+an installed bar widget changing on disk) does not destroy the lock
+client while Hyprland still holds the session lock.
## Polkit agent
Omarchy's plugin contract moved. These watched files changed between
7eca64e2andd3d23fdd:docs/omarchy-shell.mdshell/plugins/README.mdomacom/omarchy@7eca64e...d3d23fd