Existe-t-il un moyen de masquer certaines applications dans le menu de l'onglet cmd +?

39

Est-il possible de cacher certaines applications à cmd+ tab?

Le problème auquel je suis confronté est que certaines applications (comme iTunes et bien sûr Finder) sont toujours ouvertes. Mais lorsque je travaille et que je bascule entre les applications qui me concernent (Chrome, Sublime, Terminal) avec cmd+, tabje verrai toujours ces applications «non pertinentes» dans le menu.

Merci

wpp
la source

Réponses:

37

Oui, c'est possible, mais le seul moyen que je connaisse de le faire masque également l'icône du dock.

vous devez modifier le fichier nommé 'Info.plist' dans le package de l'application (par exemple, Sherlock.app/Contents/Info.plist). Ouvrez ce fichier dans votre éditeur de texte favori et ajoutez la section suivante (s'il est déjà présent, remplacez simplement le 0 par un 1 dans la balise string):

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

Source: Masquer l'icône du Dock de n'importe quel programme - Conseils Macworld Mac OS X

Dans la version la plus récente de macOS, aucune chaîne ne devrait être définie pour LSUIElement. Au lieu de cela, vous devez utiliser un booléen comme suit:

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

Avant OS X 10.8, utilisez plutôt ceci (notez NS au lieu de LS):

<key>NSUIElement</key>
<string>1</string>
grg
la source
sainte fumée qui a fonctionné mieux que prévu merci beaucoup!
wpp
1
Deux commentaires Premièrement, le format [STRING] ci-dessus ne fonctionnera pas en 10.8 - vous devez utiliser un type booléen. Deuxièmement, en plus de masquer l'application du sélecteur d'applications, la modification de NSUIElement masquera également la barre de menus, de sorte que l'utilisation des applications "masquées" devient assez difficile.
Kent
Avez-vous eu de la chance avec LSUIElement dans Mavericks?
traitement
2
Oui, j'ai téléchargé la mise à jour, ils la prennent désormais en charge de manière native avec leur version v1.4.2. github.com/binaryage/totalterminal/issues/…
traitez
4
Dans Mavericks, cela se bloque pour moi. J'ai essayé plusieurs applications différentes.
Sandover
7

Vous pouvez définir LSUIElement sur 1 en tant que chaîne dans le fichier Info.plist:

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

Il supprime les applications du commutateur d'applications, du Dock et de la fenêtre de fermeture forcée. Elle supprime également la barre de menus, elle n'est donc pas vraiment utilisable avec Finder ou iTunes.

La modification d'un fichier Info.plist entraîne le blocage de certaines applications telles que TextEdit et Chess lors du lancement dans 10.8. Cela invalide également les signatures de code des applications signées, de sorte qu'elles ne sont pas autorisées à accéder automatiquement aux trousseaux de clés.

http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonlyly.ly :

NSUIElement est amorti. Cependant, je me souviens très bien d’avoir travaillé chez Apple (Apple DTS) il ya quelques années, NSUIElement et LSUIElement allaient dans le même sens (au moins, c’était le cas quand j’y étais et je doute que cela aurait changé). Bien que NSUIElement soit amorti (NS représente l'étape suivante, bien sûr! Et LS, les services de lancement), ils sont exactement la même chose à toutes fins utiles.

LSUIElement et NSUIElement fonctionnent toujours, et les deux peuvent également être définis sur true ou sur 1 en tant qu'entier.

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

Informations sur la clé de la liste des propriétés d’information: clés de services de lancement :

LSUIElement( String- OS X) spécifie si l'application s'exécute en tant qu'application d'agent. Si cette clé est définie sur «1», Launch Services exécute l'application en tant qu'application d'agent. Les applications d'agent n'apparaissent pas dans le Dock ni dans la fenêtre Forcer à quitter. Bien qu'elles fonctionnent généralement en tant qu'application d'arrière-plan, elles peuvent apparaître au premier plan pour présenter une interface utilisateur, le cas échéant. Un clic sur une fenêtre appartenant à une application d'agent permet à cette application de gérer les événements.

Le Dock et loginwindow sont deux applications qui s'exécutent en tant qu'applications d'agent.

Witch a une option pour ignorer les applications:

Je viens juste de désactiver le commutateur d'applications et le Dock. J'utilise principalement les raccourcis clavier et Alfred pour changer d'application.

Lri
la source
La configuration LSUIElementde l'info.plist de Slack l'a fait planter au lancement.
Taylor Edmiston
3

Disclaimer: J'ai développé GhostTile

Réponse courte: essayez simplement GhostTile . C'est payé, mais vous pouvez essayer aussi longtemps que vous le pouvez (voler l'idée à Sublime Text)

Longue Anwser:

À ma connaissance, il existe deux façons d’y parvenir:
1. Configurez une application en tant qu’agent. Par exemple, Ajouter une LSUIElementclé à Info.plist de l'application ou Définir la stratégie d'activation de l'application sur NSApplicationActivationPolicyAccessory.
2. Hook Dock ou tout autre processus système associé pour ignorer certaines applications. Merci à SIP (Rootless) sur El Captian. Ce n'est pas recommandé de le faire.

GhostTile se concentre sur le fait de cacher les applications du Dock. Il est facile à utiliser et offre de nombreuses façons de gérer les applications que vous cachez. Il n'y a pas de modification sur le disque, vous ne perdrez donc pas la signature des codes des applications.

Autres caractéristiques:

  • Vous pouvez toujours être averti de l'activité du quai de l'application
  • Aperçu de type exposé
  • Alfred flux de travail
Hewigovens
la source
Je viens d'essayer cette application et aucune des applications que j'ai essayées n'est "prise en charge". Finder, Mail, Simulator iOS ...
pkamb
1
@pkamb Je suis désolé mais toutes les applications que vous avez testées sont protégées par la protection SIP (System Integration Protection) introduite dans El Capitan. Pourriez-vous s'il vous plaît essayer d'autres applications tierces? ou désactiver SIP?
Hewigovens
Très bien, merci pour la réponse. Je suggérerais un message d'erreur plus informatif ou un lien vers une FAQ!
dimanche
Comment masquer Ghost Title du lanceur Cmd + Tab? J'ai essayé d'ajouter <key> NSUIElement </ key> <string> 1 </ string> à Info.plist et de redémarrer l'application. Cela n'a pas fonctionné
mac
@mac Il y a une option de préférence appelée "Hide GhostTile from Dock"
hewigovens
1

Désolé d'être en retard pour la soirée, mais comme le disent les réponses et les commentaires précédents, certaines applications risquent de tomber en panne au lancement. Je ne peux pas faire fonctionner ça sous Yosemite, même si je pouvais le faire auparavant sur un autre Mac. Changer le TotalTerminal Info.plist n'a rien fait, et changer le Applications/Utilities/Terminal/Info.plistcause de l'accident.

Comme @atreat mentionné dans l' un des commentaires, les gars de TotalTerminal sont soutiennent maintenant cette peau via une simple commande:

defaults write com.apple.Terminal TotalTerminalHideDockIcon -bool YES

Cela a parfaitement fonctionné pour moi.

Raul René
la source