¿Hay alguna forma de ocultar ciertas aplicaciones del menú cmd + tab?

39

¿Hay alguna manera de ocultar ciertas aplicaciones de cmd+ tab?

El problema al que me enfrento es que siempre tengo abiertas algunas aplicaciones (como iTunes y, por supuesto, Finder). Pero cuando estoy trabajando y cambiando entre aplicaciones que son relevantes para mí (Chrome, Sublime, Terminal) con cmd+ tab, siempre veré estas aplicaciones 'irrelevantes' en el menú.

Gracias

wpp
fuente

Respuestas:

37

Sí, es posible, sin embargo, la única forma en que sé hacerlo también oculta el ícono del dock.

debe modificar el archivo llamado 'Info.plist' dentro del paquete de la Aplicación (es decir, Sherlock.app/Contents/Info.plist). Abra este archivo en su editor de texto favorito y agregue la siguiente sección (si ya está presente, simplemente cambie el 0 a 1 en la etiqueta de cadena):

<key>LSUIElement</key>
<string>1</string>

Fuente: Ocultar el icono del Dock de cualquier programa - Sugerencias para Mac OS X para Macworld

En la versión más reciente de macOS, no se debe establecer una cadena para LSUIElement. En su lugar, debe usar un booleano de la siguiente manera:

<key>LSUIElement</key>
<true/>

Antes de OS X 10.8, use esto en su lugar (tenga en cuenta NS en lugar de LS):

<key>NSUIElement</key>
<string>1</string>
grg
fuente
santo humo que funcionó mejor de lo esperado muchas gracias!
wpp
1
Dos comentarios Primero, el formato [STRING] anterior no funcionará en 10.8: debe usar un tipo booleano. En segundo lugar, además de ocultar la aplicación del conmutador de aplicaciones, la modificación de NSUIElement también ocultará la barra de menú, por lo que usar las aplicaciones "ocultas" se vuelve bastante difícil.
Kent
¿Has tenido suerte con LSUIElement en Mavericks?
atreat
2
Sí, descargué la actualización, ahora la admiten de forma nativa con su versión v1.4.2. github.com/binaryage/totalterminal/issues/…
atreat
44
En Mavericks, esto se bloquea para mí. He probado un par de aplicaciones diferentes.
entrega
7

Puede establecer LSUIElement en 1 como cadena en Info.plist:

<key>LSUIElement</key>
<string>1</string>

Elimina aplicaciones del conmutador de aplicaciones, Dock y la ventana de forzar cierre. También elimina la barra de menú, por lo que no se puede usar realmente con Finder o iTunes.

La edición de un Info.plist hace que algunas aplicaciones como TextEdit y Chess se bloqueen al iniciarse en 10.8. También invalida las firmas de código de las aplicaciones firmadas, por lo que no se les permite acceder a los llaveros automáticamente.

http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonly.html :

NSUIElement se deprecia. Sin embargo, recuerdo claramente de trabajar en Apple (Apple DTS) hace unos años que NSUIElement y LSUIElement se asignan a lo mismo (al menos lo hizo cuando estuve allí y dudo que eso hubiera cambiado). Aunque NSUIElement se deprecia (NS significa el siguiente paso, por supuesto, y LS significa servicios de lanzamiento), son exactamente lo mismo para todos los efectos.

Tanto LSUIElement como NSUIElement siguen funcionando, y ambos también se pueden establecer en verdadero o 1 como entero.

grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist

Referencia de clave de lista de propiedades de información: Claves de servicios de lanzamiento :

LSUIElement( String- OS X) especifica si la aplicación se ejecuta como una aplicación de agente. Si esta clave se establece en "1", Launch Services ejecuta la aplicación como una aplicación de agente. Las aplicaciones de agente no aparecen en el Dock ni en la ventana Forzar salida. Aunque normalmente se ejecutan como aplicaciones en segundo plano, pueden aparecer en primer plano para presentar una interfaz de usuario si lo desean. Un clic en una ventana que pertenece a una aplicación de agente hace que esa aplicación avance para manejar eventos.

El Dock y la ventana de inicio de sesión son dos aplicaciones que se ejecutan como aplicaciones de agente.

Bruja tiene una opción para ignorar las aplicaciones:

Sin embargo, acabo de deshabilitar el conmutador de aplicaciones y Dock. Principalmente uso atajos de teclado y Alfred para cambiar de aplicación.

Lri
fuente
La configuración LSUIElementen info.plist de Slack causó que se bloqueara en el lanzamiento para mí.
Taylor Edmiston
3

Descargo de responsabilidad: desarrollé GhostTile

Respuesta breve: solo prueba GhostTile . Sin embargo, está pagado, pero puedes intentarlo siempre que puedas (robar la idea de Sublime Text)

Respuesta larga:

AFAIK, hay dos formas de lograr esto:
1. Configurar una aplicación como agente. Por ejemplo, Agregar LSUIElementclave a la Lista de información de la aplicación o Establecer la política de activación de la aplicación en NSApplicationActivationPolicyAccessory.
2. Hook Dock u otro proceso del sistema relacionado para ignorar algunas aplicaciones. Gracias a SIP (Rootless) en El Captian. No se recomienda hacerlo.

GhostTile se centra en ocultar aplicaciones del Dock. Es fácil de usar y proporciona múltiples formas de administrar las aplicaciones que oculta. No hay modificación en el disco, por lo que no romperá la firma de código de las aplicaciones.

Otras características:

  • Aún puede recibir notificaciones sobre la actividad de acoplamiento de la aplicación
  • Descripción general similar a la exposición
  • Flujo de trabajo de Alfred
hewigovens
fuente
Acabo de probar esta aplicación y ninguna de las aplicaciones que probé es "compatible todavía". Finder, Mail, iOS Simulator ...
pkamb
1
@pkamb Lo siento, pero todas las aplicaciones que probaste están protegidas por la Protección de integración de sistemas (SIP) introducida en El Capitan. ¿Podrías probar otras aplicaciones de terceros? o apaga el SIP?
hewigovens
Muy bien, gracias por la respuesta. ¡Sugeriría un mensaje de error más informativo o un enlace a preguntas frecuentes!
pkamb
¿Cómo oculto el Título fantasma del iniciador Cmd + Tab? Intenté agregar <key> NSUIElement </key> <string> 1 </string> a Info.plist y reiniciar la aplicación. No funcionó
mac
@mac Hay una opción de preferencia llamada "Ocultar GhostTile del Dock"
hewigovens
1

Lamento llegar tarde a la fiesta, pero de hecho, como dicen las respuestas y comentarios anteriores, esto podría hacer que algunas aplicaciones se bloqueen al iniciarse. No puedo hacer que esto funcione en Yosemite, aunque pude hacerlo funcionar antes en otra Mac. El cambio de TotalTerminal Info.plist no hizo nada y el cambio Applications/Utilities/Terminal/Info.plistcausó el bloqueo.

Como @atreat mencionó en uno de los comentarios, los chicos de TotalTerminal ahora están apoyando este hide a través de un simple comando:

defaults write com.apple.Terminal TotalTerminalHideDockIcon -bool YES

Esto funcionó perfectamente para mí.

Raul Rene
fuente