From c5cbcdbe9745ac60eef9e8bc92235ba92a0ba7fa Mon Sep 17 00:00:00 2001 From: "louis.pontoise" Date: Tue, 21 Jan 2020 09:59:58 +0900 Subject: [PATCH] fix: app launched while in fullscreen shows first window see https://github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795 --- alt-tab-macos/logic/Applications.swift | 12 ++++++++---- alt-tab-macos/logic/Spaces.swift | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/alt-tab-macos/logic/Applications.swift b/alt-tab-macos/logic/Applications.swift index 77652c12..bdd7c206 100644 --- a/alt-tab-macos/logic/Applications.swift +++ b/alt-tab-macos/logic/Applications.swift @@ -5,6 +5,13 @@ class Applications { static var list = [Application]() static var appsObserver = RunningApplicationsObserver() + static func observeNewWindows() { + for app in list { + guard app.runningApplication.isFinishedLaunching else { continue } + app.observeNewWindows() + } + } + static func initialDiscovery() { addInitialRunningApplications() observeRunningApplications() @@ -31,10 +38,7 @@ class Applications { } if windows.count > 0 { CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) - for app in list { - guard app.runningApplication.isFinishedLaunching else { continue } - app.observeNewWindows() - } + Applications.observeNewWindows() Windows.sortByLevel() CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId]) return diff --git a/alt-tab-macos/logic/Spaces.swift b/alt-tab-macos/logic/Spaces.swift index 155d21a4..2f472ce9 100644 --- a/alt-tab-macos/logic/Spaces.swift +++ b/alt-tab-macos/logic/Spaces.swift @@ -10,6 +10,7 @@ class Spaces { static func observeSpaceChanges() { NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in updateCurrentSpace() + Applications.observeNewWindows() let app = App.shared as! App guard app.appIsBeingUsed else { return } app.reopenUi()