Skip to content

Fix iTerm2 Settings window detection - #55

Merged
vitorebatista merged 1 commit into
mainfrom
port/iterm2-settings-detection
Aug 27, 2026
Merged

Fix iTerm2 Settings window detection#55
vitorebatista merged 1 commit into
mainfrom
port/iterm2-settings-detection

Conversation

@vitorebatista

Copy link
Copy Markdown
Owner

iTerm2's Settings window has no fullscreen button, so the iTerm2-specific heuristic in AxUiElementWindowType classified it as not-a-window and AeroSpace ignored it entirely. Exempt the window whose AXIdentifier is mainPreferencesWindow from that check.

Ports nikitabobko#2244 (author: @Miyou), applied unchanged — no fork adaptation needed.

Tests: the fork's data-driven AxWindowKindTest picks up the new axDumps/iterm2_settings.json5 fixture, which carries "Aero.AxUiElementWindowType": "dialog" inline. Verified it fails without the source change and passes with it.

./build-debug.sh -Xswiftc -warnings-as-errors ✅ · ./swift-test.sh

Docs: none needed (no command/flag/config change).

iTerm2's Settings window has no fullscreen button, so the iTerm2-specific
heuristic classified it as not-a-window and AeroSpace ignored it. Exempt the
window whose AXIdentifier is `mainPreferencesWindow` from that check so the
Settings window is detected as a dialog again.

Ports nikitabobko#2244

Covered by the data-driven `AxWindowKindTest`: the new `axDumps/iterm2_settings.json5`
fixture carries `"Aero.AxUiElementWindowType": "dialog"` inline and fails without
the source change (verified).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WBcwRe3CktWZGGcHJHP4ds
@vitorebatista
vitorebatista merged commit 110f783 into main Aug 27, 2026
vitorebatista added a commit that referenced this pull request Aug 27, 2026
…te sync state

Sync state moves to upstream main @ c548c7f / 59 open PRs, reviewed 2026-08-27.
Adds the newly ported upstream PRs (2244, 2232, 2211, 2228, 2225) to the
already-backported list, and records this cycle's skips: focus-follows-mouse PRs
(nikitabobko#2238/nikitabobko#2245, feature absent in the fork), nikitabobko#2220 (duplicate of the already-ported
nikitabobko#2024), nikitabobko#2213 (deletes lastNativeFocusedWindowId, which fork PR #59 depends on),
nikitabobko#2206 (competing implementation of nikitabobko#2225), and six deferred feature PRs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WBcwRe3CktWZGGcHJHP4ds
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