¿Cómo resaltar la ventana activa y atenuar el resto de la aplicación de cacao de Windows mediante programación?

En mi aplicación Cocoa, quiero resaltar la ventana activa y atenuar las ventanas restantes. algo comowindow focus solicitud. Debajo del bloque está mi código.

NSNotificationCenter* center = [[NSWorkspace sharedWorkspace] notificationCenter];
[center addObserver:self selector:@selector(newApplicationDidActive:) name:NSWorkspaceDidActivateApplicationNotification object:nil];

- (void)newApplicationDidActive:(NSNotification *)notification {
    NSDictionary* userInfo = notification.userInfo;
    NSLog(@"did Active %@", [userInfo objectForKey:NSWorkspaceApplicationKey ]
    if ([[NSUserDefaults standardUserDefaults] boolForKey:kUDKeyWindowFocus]) {
        NSLog(@"window focus");
        [[FocusWindow defaultHandler].window orderWindow:NSWindowAbove relativeTo:0];
    }
}

Update: el código agregado a continuación que funciona parcialmente pero no es preciso puede sugerir algunas ideas o puntos de vista.

NSPoint mouseLocation = [NSEvent mouseLocation];
NSInteger windowNumber = [NSWindow windowNumberAtPoint:mouseLocation belowWindowWithWindowNumber:0];
NSLog(@"windowNumber %lu",windowNumber);
[focusWindowController.window orderWindow:NSWindowBelow relativeTo:windowNumber];
[app activateWithOptions:NSApplicationActivateIgnoringOtherApps];

En lugar d

[[FocusWindow defaultHandler].window orderWindow:NSWindowAbove relativeTo:0];

In First Block windowNumberAtPoint: belowWindowWithWindowNumber que proporciona el número de ventana Frontmost con el que estoy ordenando mi ventana de atenuación debajo de orderWindow: relativa a la ventana Frontmost.

Respuestas a la pregunta(0)

Su respuesta a la pregunta