2011-05-22 25 views
6

Me gustaría crear una aplicación que no tenga una barra de menú, un icono de base o que se encuentre en el selector de aplicaciones. Básicamente, debería ser como Quicksilver: lo activaría a través de una tecla de acceso rápido global, digamos desde Safari, y aparecerá una pequeña ventana, pero Safari no se inactiva, como tampoco lo muestra una barra de menús diferente. Espero que entiendas lo que quiero decir ...Mac OS X - aplicación sin menú?

¿Cómo podría hacer eso? Puedo evitar el icono del dock, el selector de aplicaciones, pero no sé cómo puedo evitar que otras aplicaciones se vuelvan inactivas cuando se muestra la ventana de mi aplicación o cómo puedo eliminar el menú.

¡Gracias por cualquier pista!

Respuesta

6

Intente buscar "LSUIElement". Eso debería darle toda la información que necesita.

(Específicamente, this page in the documentation).

+0

puedo todavía sólo sea activo mi de aplicaciones Ventana y desactivar la ventana de la otra aplicación, o al revés ... – ryyst

+1

@ryyst: Desea que la ventana de su aplicación se convierta en "clave" sin convertirse en "principal". –

+0

@Josh Caswell: Lo hago, pero la ventana de mi aplicación permanece inactiva (en gris). Intento hacer un primer respondedor 'NSTextField', pero eso no funciona ... – ryyst

5

como Dave ya se dijo, añadir

LSUIElement YES 

en el archivo Info.plist de su aplicación. Eso eliminará el icono y la barra de menú.

Luego, para plasmar en la realidad una ventana en la parte delantera en el momento adecuado (por ejemplo, cuando se activa a través de una combinación de teclas global), se podría hacer algo como esto:

ProcessSerialNumber psn = {0, kCurrentProcess}; 
SetFrontProcess(&psn); 

[someWindow makeKeyAndOrderFront:nil]; 
+0

Quiero que la ventana de mi aplicación salga al frente y quiero poder escribir en un campo de texto sin la aplicación que tenía abierta antes de quedar inactiva (es decir, la barra de título se vuelve gris claro). – ryyst

+0

¿No funciona el código anterior para que solo haga esto? Para el enfoque del campo de texto puede necesitar configurar el primer respondedor, pero el resto debería funcionar. – puzzle

+0

No, no es así. Como dije, las otras aplicaciones se vuelven inactivas. – ryyst