Conversation
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
Signed-off-by: jeanmonet <[email protected]>
jeanmonet
force-pushed
the
codex/native-space-restoration-tahoe
branch
from
August 28, 2026 15:41
16ccacc to
7e7082d
Compare
2 tasks
Signed-off-by: jeanmonet <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Margin's independent windows return to their saved macOS Spaces after a restart, while cold launch leaves the user's current Space active. If no restored window is on the current Space, Margin opens a temporary empty window there. Ordinary Space switching has no observer, polling, hidden-window creation, or activation work.
Display disconnects and resolution changes also preserve the window's preferred frame separately from its temporary fitted frame. For example, a large window moved from an external monitor to a laptop can shrink to fit, then recover its preferred size and display placement when the monitor returns. A smaller window is not enlarged to fill the display. A deliberate drag, live resize, or Zoom establishes a new preference.
Dependency
Depends on #5; merge that PR first. This branch includes its scratchpad/session commit plus seven follow-up commits (
2068df2through035faeb). Both PRs are based on upstream v0.5.1.Design and compatibility
MarginPrivateSupport, verifies moves, and falls back when unavailable. The adapted code and license are credited inNOTICE; there is no supported public API for assigning windows to specific Spaces.preferredFrame. Existing sessions load using their savedframe; older builds can still read the actual-frame field. Document, scratchpad, and CLI formats are unchanged.Verification
For
035faeb, on macOS 26.6.2 / Apple M1 Pro:make smokepassed, including CLI inspection/comparison and an isolated app launch.make benchmark-matrixpassed all five cases with three warm-ups and ten measured launches each. Worst visible-window p95: 400.330 ms (limit 500 ms). Worst target-ready p95: 1,209.997 ms (limit 1,250 ms). These are local development measurements, not a broad performance claim.make testcould not run because this machine has Command Line Tools but no XCTest module/full Xcode; source parsing passed.make check-version, signature verification, andgit diff --checkpassed.Earlier manual validation at
7e7082dcovered two windows in separate Spaces, cold-launch placement, and cross-Space Firefox/Margin activation without focus stealing. The new physical unplug/replug behavior has not yet been manually validated; the existing installed app and its open session were left running during development. GitHub's fork workflows require maintainer approval.Compatibility and safety
Documentation