Add a Nyxt Guard minor mode for runtime enable/disable control #7

Open
opened 2026-09-11 05:17:13 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-09-11 05:17:13 +00:00 (Migrated from github.com)

Parent: #1
Depends on: #4

Goal

Expose Nyxt Guard as a Nyxt minor mode so blocking can be enabled or disabled cleanly without restarting the browser.

Scope

  • Define a nyxt-guard-mode (name may follow local Nyxt conventions) backed by the adapter from #4.
  • Support global default state plus per-buffer enable/disable.
  • Allow per-site exceptions without mutating filter lists.
  • Make mode state visible from Nyxt UI/status surfaces.
  • Ensure toggling the mode installs/removes or gates hooks deterministically and does not leave duplicate handlers behind.
  • Persist user-selected default behavior through the normal configuration layer.

Acceptance criteria

  • The mode can be toggled interactively at runtime.
  • New buffers inherit the configured default.
  • Per-buffer/site disable works without changing global list state.
  • Repeated enable/disable cycles do not duplicate hooks or leak state.
  • Mode state is queryable programmatically for future commands/UI integrations.
Parent: #1 Depends on: #4 ## Goal Expose Nyxt Guard as a Nyxt minor mode so blocking can be enabled or disabled cleanly without restarting the browser. ## Scope - Define a `nyxt-guard-mode` (name may follow local Nyxt conventions) backed by the adapter from #4. - Support global default state plus per-buffer enable/disable. - Allow per-site exceptions without mutating filter lists. - Make mode state visible from Nyxt UI/status surfaces. - Ensure toggling the mode installs/removes or gates hooks deterministically and does not leave duplicate handlers behind. - Persist user-selected default behavior through the normal configuration layer. ## Acceptance criteria - The mode can be toggled interactively at runtime. - New buffers inherit the configured default. - Per-buffer/site disable works without changing global list state. - Repeated enable/disable cycles do not duplicate hooks or leak state. - Mode state is queryable programmatically for future commands/UI integrations.
Sign in to join this conversation.
No description provided.