fix: app launched while in fullscreen shows first window
see https://github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795
This commit is contained in:
1 parent
0c731f4889
commit
c5cbcdbe97
2 files changed
+9
-4
No files matched your search
@@ -5,6 +5,13 @@ class Applications {
|
|||||||
static var list = [Application]()
|
static var list = [Application]()
|
||||||
static var appsObserver = RunningApplicationsObserver()
|
static var appsObserver = RunningApplicationsObserver()
|
||||||
|
|
||||||
|
static func observeNewWindows() {
|
||||||
|
for app in list {
|
||||||
|
guard app.runningApplication.isFinishedLaunching else { continue }
|
||||||
|
app.observeNewWindows()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static func initialDiscovery() {
|
static func initialDiscovery() {
|
||||||
addInitialRunningApplications()
|
addInitialRunningApplications()
|
||||||
observeRunningApplications()
|
observeRunningApplications()
|
||||||
@@ -31,10 +38,7 @@ class Applications {
|
|||||||
}
|
}
|
||||||
if windows.count > 0 {
|
if windows.count > 0 {
|
||||||
CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId])
|
CGSAddWindowsToSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId])
|
||||||
for app in list {
|
Applications.observeNewWindows()
|
||||||
guard app.runningApplication.isFinishedLaunching else { continue }
|
|
||||||
app.observeNewWindows()
|
|
||||||
}
|
|
||||||
Windows.sortByLevel()
|
Windows.sortByLevel()
|
||||||
CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId])
|
CGSRemoveWindowsFromSpaces(cgsMainConnectionId, windows as NSArray, [Spaces.currentSpaceId])
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class Spaces {
|
|||||||
static func observeSpaceChanges() {
|
static func observeSpaceChanges() {
|
||||||
NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in
|
NSWorkspace.shared.notificationCenter.addObserver(forName: NSWorkspace.activeSpaceDidChangeNotification, object: nil, queue: nil, using: { _ in
|
||||||
updateCurrentSpace()
|
updateCurrentSpace()
|
||||||
|
Applications.observeNewWindows()
|
||||||
let app = App.shared as! App
|
let app = App.shared as! App
|
||||||
guard app.appIsBeingUsed else { return }
|
guard app.appIsBeingUsed else { return }
|
||||||
app.reopenUi()
|
app.reopenUi()
|
||||||
|
|||||||
Reference in new issue
Block a user