Skip to content

feat(wallpaper): complete IPC and lock synchronization - #111

Merged
bhdai merged 1 commit into
mainfrom
feat/wallpaper-ipc-overrides-104
Jul 31, 2026
Merged

feat(wallpaper): complete IPC and lock synchronization#111
bhdai merged 1 commit into
mainfrom
feat/wallpaper-ipc-overrides-104

Conversation

@bhdai

@bhdai bhdai commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • complete the six-function wallpaper IPC contract with live library cycling, shared decode-before-commit per-monitor overrides, immediate clears, and required warnings
  • keep desktop resolution live through Wallpaper.forMonitor(...) and bind each lock surface to its own raw screen name
  • extend the offscreen service fixture across cycle, override, clear, warning, persistence, no-op, and live-reload behavior

Companion non-repeating keybinds: bhdai/dotfiles#4.

Closes #104. Parent spec: #96.

Verification

  • node --test
  • tests/wallpaper-service.sh
  • git diff --check

Manual nested verification required

No visual or compositor-runtime claim is made from this environment. With the session unlocked, run ./scripts/dev-nested.sh and confirm:

  • connected and disconnected raw output names resolve and retain per-monitor choices
  • each desktop and lock surface follows its own resolved wallpaper
  • the HDMI-A-1 mirror behavior is acceptable
  • a wallpaper change while locked hard-cuts without exposing the desktop or affecting authentication
  • empty, one-item, unknown-current, and wrapping next/prev behavior matches the returned paths

@bhdai
bhdai marked this pull request as ready for review July 31, 2026 08:36
@bhdai
bhdai merged commit 93d8d80 into main Jul 31, 2026
3 checks passed
@bhdai
bhdai deleted the feat/wallpaper-ipc-overrides-104 branch July 31, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Complete wallpaper IPC, per-monitor overrides, and lock synchronization

1 participant