Skip to content

fix(window): Enforce single window to prevent blank terminals#57

Merged
eyelock merged 1 commit into
mainfrom
fix/single-window-enforcement
Jan 17, 2026
Merged

fix(window): Enforce single window to prevent blank terminals#57
eyelock merged 1 commit into
mainfrom
fix/single-window-enforcement

Conversation

@eyelock
Copy link
Copy Markdown
Owner

@eyelock eyelock commented Jan 17, 2026

Summary

  • Removes "New Window" menu command (Cmd+N now creates terminal instead)
  • Adds window monitor to close duplicate main windows if created
  • Marks TermQAppDelegate as @mainactor for Swift 6 concurrency

Problem

Multiple windows cause terminal views to appear blank because NSView can only have one parent. When two windows display the same terminal, the view gets "stolen" from one window to another.

This fixes the blank terminal issue and multiple window spawning that occurred since v0.6.0.

Test Plan

  • Verified Cmd+N creates new terminal, not new window
  • Verified app prevents second window creation
  • All 516 tests passing
  • Manual testing shows terminals no longer go blank

🤖 Generated with Claude Code

Multiple windows cause terminal views to appear blank because NSView
can only have one parent. When two windows display the same terminal,
the view gets "stolen" from one window to another.

Changes:
- Remove "New Window" menu command (Cmd+N now creates terminal)
- Add window monitor to close duplicate main windows if created
- Mark TermQAppDelegate as @mainactor for Swift 6 concurrency

This fixes the blank terminal issue and multiple window spawning
that occurred since v0.6.0.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@eyelock eyelock force-pushed the fix/single-window-enforcement branch from 7e56d1a to c511899 Compare January 17, 2026 15:35
@eyelock eyelock merged commit 8de3c42 into main Jan 17, 2026
10 checks passed
@eyelock eyelock deleted the fix/single-window-enforcement branch January 17, 2026 15:40
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