Skip to content

feat(desktop): minimize exact native windows - #133

Merged
iamnbutler merged 1 commit into
mainfrom
codex/desktop-minimize
Oct 5, 2026
Merged

iamnbutler merged 1 commit into
mainfrom
codex/desktop-minimize

Conversation

@iamnbutler

@iamnbutler iamnbutler commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Agents can minimize one native window with desktop_minimize, using its unchanged target from desktop_windows. The existing signed native path binds the action to the observed process generation, window ID, bounds, and minimized state; it confirms a change or an already-minimized no-op and preserves uncertain delivery without retrying.

Successful minimize returns fresh window inventory without attempting to capture the minimized window. Restoring it is a separate explicit desktop_restore action with the refreshed target.

Related to #8 and #73.

Validation at 1d0f328:

  • bun types, bun run ci, git diff --check, Swift syntax checks, the signed desktop build, and deep/strict signature verification pass. GitHub CI is green.
  • Real AppKit window: stale generation, stale bounds, and pre-cancelled requests refused before any minimize callback. Minimize confirmed one background Accessibility write and fresh minimized inventory with no screenshot; minimizing the refreshed already-minimized target confirmed no change and dispatched nothing. Explicit restore succeeded.
  • One real pi run called desktop_minimize once. A different worker reopened the same store with identical result/usage and no new model/tool execution or minimize callback. Explicit restore succeeded again. All owned fixture, app, host, and worker processes exited; the temporary channel/project, listener, and native socket were removed.

The live cancellation check covers pre-dispatch cancellation, not an in-flight cancellation claim.

Built in Ace

Used Codex's terminal and file tools for implementation, source review, and validation under Nate's explicit temporary exception to Ace-only development while completing computer use in #8. Live validation used Ace's actual native bridge and pi channel worker with a real provider; no mocked providers or alternate input path. The ongoing dogfooding gap is tracked in #5 and #8.

@iamnbutler
iamnbutler marked this pull request as ready for review October 5, 2026 22:15
@iamnbutler
iamnbutler merged commit f9e0db3 into main Oct 5, 2026
1 check passed
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.

1 participant