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!