Obtenga NSWindow * de CGWindowListCopyWindowInfo

He logrado enumerar todas las ventanas (en orden z de adelante hacia atrás, creo / espero) usandoCGWindowListCopyWindowInfo pero tengo un problema para obtener elNSWindow* para poder usar conorderFront: etc.

Parece que ni siquiera entiendoCGWindowID de eso.

Este es mi código, es js-ctypes.

var cfarr_win = ostypes.API('CGWindowListCopyWindowInfo')(ostypes.CONST.kCGWindowListOptionAll | ostypes.CONST.kCGWindowListExcludeDesktopElements, ostypes.CONST.kCGNullWindowID);

var cnt_win = ostypes.API('CFArrayGetCount')(cfarr_win);

for (var i = 0; i < cnt_win; i++) {
    var thisWin = {};
    // trying to get NSWindow* to the window here, so i can use with orderFront: etc

    // example on how i get pid:
    var rez_pid = ostypes.API('objc_msgSend')(c_win, ostypes.HELPER.sel('objectForKey:'), myNSStrings.get('kCGWindowOwnerPID'));
    var int_pid = ostypes.API('objc_msgSend')(rez_pid, ostypes.HELPER.sel('integerValue'));
    thisWin.pid = int_pid;

    // please help me on how to get NSWindow*

}

PD: A pesar de que estoy usando el indicador de exclusión de elementos del escritorio, sigo obteniendo elementos del escritorio como el cursor y el dock, por casualidad, si el respondedor puede arrojar algo de luz sobre cómo solucionarlo, ¡eso sería increíble!

Respuestas a la pregunta(1)

Su respuesta a la pregunta