Digamos que el usuario se encuentra actualmente en Chrome. Así que tengo un HUD invocado por una tecla de acceso rápido global, el usuario escribe algo en él y al hacer clic en Cerrar o en Aceptar, el HUD desaparece (solo usa [NSPanel orderOut:]) pero mi aplicación sigue enfocada (es decir, el Menú la barra de mi aplicación aún está visible). Pero quiero que el foco vuelva a la aplicación original, Chrome. ¿Cómo logro algo como esto? Idealmente, también podría nunca enfocar mi aplicación y, por lo tanto, la entrada de HUD sucedería mientras Chrome seguía siendo la aplicación enfocada. Things.app logra lograr algo como esto. Quicksilver también lo hace.¿Cómo cedo el enfoque a la aplicación anterior en Cocoa?
Respuesta
Si esta es la única interfaz de usuario que puede ofrecer su aplicación, puede proporcionarle una clave Info.plist LSUIElement
, que evita que esté en el Dock o sea la aplicación activa.
Puede tener una aplicación de ayuda anónima que hace esto por usted o obtener la PSN del proceso más avanzado antes de que se adelante y volver a ella cuando quiera irse.
vaya con el primero si es posible, menos propenso al error – cobbal
llamada [NSApp hide:]
que ocultará su solicitud y activar la aplicación previamente activo.
Esto no es así si su aplicación tiene una ventana de pantalla completa. – George
Con el fin de no obtener el foco en su llamada de aplicación [panel setStyleMask:[panel styleMask] | NSNonactivatingPanelMask];
en su NSPanel o compruebe la casilla de verificación para no Activación en su NSPanel en Interface Builder.
- 1. ¿Cómo incluir OpenCV en la aplicación Cocoa?
- 2. ¿Cómo agregar un NSView a NSWindow en una aplicación Cocoa?
- 3. Cómo puedo obtener el menú de la aplicación en Cocoa
- 4. Cómo agregar ayuda a una aplicación Cocoa
- 5. Cómo incorporar WebSockets en una aplicación Cocoa
- 6. ¿Cómo agrego el soporte de Applescript a mi aplicación Cocoa?
- 7. ¿Cómo puedo manejar la tecla ESC en la aplicación Cocoa?
- 8. VSTO: Enfoque de la aplicación
- 9. Aplicación Cocoa sin MainMenu.xib
- 10. Cómo ejecutar la aplicación en la versión anterior de Simulator
- 11. Delegado de aplicación - Cocoa
- 12. cómo detectar si el usuario tiene una aplicación en Cocoa
- 13. ¿Cómo pegar texto de una aplicación a otra usando Cocoa?
- 14. ¿Cómo transfiere una aplicación Cocoa/Mac a Windows?
- 15. Arquitectura de la aplicación Cocoa en Mac OS X
- 16. fork dentro de la aplicación Cocoa
- 17. ¿Cómo puedo decirle a mi aplicación Cocoa que cierre desde la propia aplicación?
- 18. Aplicación Crash Reporter for Cocoa
- 19. volver a la página anterior
- 20. Ejecutar AppleScript desde la aplicación Cocoa
- 21. ¿Cómo borrar la pila de actividad anterior y Salir de la aplicación en el botón Atrás?
- 22. Aplicación de cliente/servidor Cocoa
- 23. ¿Cómo configuras tu aplicación Cocoa como el navegador web predeterminado?
- 24. Establecer el enfoque inicial en una aplicación para Android
- 25. Recibir notificaciones cuando la aplicación actual cambie en Cocoa
- 26. ¿Cómo funciona el enfoque en Flex?
- 27. Dónde colocar la "pila de datos del núcleo" en una aplicación Cocoa/Cocoa Touch
- 28. Volver a la página anterior
- 29. ¿Cómo cambio las Vistas en una aplicación Cocoa?
- 30. ¿Cómo crear una aplicación Cocoa en segundo plano?
No, tengo una ventana diferente que aparece cuando usa la aplicación. Y esa ventana se comporta como cualquier ventana de aplicación normal, así que no puedo usar LSUIElement. – user220582
¿Por qué no? Ciertamente parece lo que quieres. –
No, quiero un ícono de dock para mi aplicación. – user220582