TotalTerminal ne fonctionne pas avec les applications plein écran

8

TotalTerminal (ancien Visor) est un plugin génial pour Terminal qui le transforme en une console de style Quake qui glisse sur une combinaison de touches.

TotalTerminal

Ceci est extrêmement utile pour le développement car je peux taper des commandes lors de l'écriture de code ou de la navigation sans agitation supplémentaire.

Malheureusement, TotalTerminal ne fonctionne pas bien avec les applications en plein écran. Si je mets Sublime Text en mode plein écran et déclenche le terminal, Mission Control défilera jusqu'à l'espace non plein écran le plus proche disponible, et alors seulement, il affichera le terminal.

C'est très ennuyeux. Est-il possible de résoudre ou de contourner ce problème?

Dan
la source

Réponses:

7

Il s'agit d'un problème connu et l'auteur n'a pas l'intention de le résoudre.

J'encourage quelqu'un à aller plus loin et à le mettre en œuvre parce que personnellement, je n'utilise pas d'applications en plein écran pour le moment et je ne prévois pas de résoudre ce problème de sitôt.

Heureusement, il existe une solution de contournement décrite par vvlad .

Comme solution de contournement, vous pouvez définir LSUIElementdans Info.plist du terminal

Il présente plusieurs inconvénients mais fonctionne autrement comme un charme:

  • Le terminal ne s'affiche plus sur le Dock;
  • Il y a un espace de la taille de la barre supérieure au-dessus de chaque visière TotalTerminal ouverte sur les fenêtres des applications en plein écran;
  • Vous ne pouvez plus accéder aux fenêtres de terminal standard;
  • Vous ne pouvez pas forcer le processus Kill Terminal.

Voici à quoi cela ressemblera:

TotalTerminal sur une application plein écran

Comment ça fonctionne

LSUIElement (String - Mac 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 ou dans la fenêtre Forcer à quitter. Bien qu'ils fonctionnent généralement en tant qu'applications en arrière-plan, ils peuvent apparaître au premier plan pour présenter une interface utilisateur si vous le souhaitez. Un clic sur une fenêtre appartenant à une application d'agent fait avancer cette application pour gérer les événements.

Le Dock et la fenêtre de connexion sont deux applications qui s'exécutent en tant qu'applications d'agent.

Comment faire

  1. Terminal ouvert (en supposant que TotalTerminal soit déjà installé)
  2. Courir sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. Ajoutez ces deux lignes juste après l'ouverture de la <dict>balise:

    <key>LSUIElement</key>
    <true />
    
  4. Enregistrez et fermez le fichier en appuyant sur ^O Enter ^X
  5. Quittez Terminal et relancez-le
Dan
la source
TotalTerminal a une option pour cela dans son panneau de préférences maintenant, j'ai posté une nouvelle réponse comprenant une capture d'écran
The Mighty Chris
Je n'arrive pas à faire fonctionner cela correctement dans OSX Yosemite 10.10. Chaque fois que TotalTerminal est affiché, il revient à l'espace principal.
rossipedia
@rossipedia - Voir ma réponse ci-dessous pour le correctif Yosemite.
cchamberlain
3

Utilisateurs de Yosemite

Apple a changé le fonctionnement du LSUIElement à Yosemite. Cela entraînera l'application à s'exécuter en tant qu'agent mais ne la fera plus superposer Windows en plein écran.

Pour résoudre ce problème, ouvrez le fichier Info.plist conformément aux instructions d'autres personnes et ajoutez les deux éléments suivants:

<key>LSUIElement</key>
<true/>
<key>LSUIPresentationMode</key>
<string>4</string>

LSUIPresentationMode (Number - OS X) identifie le mode d'interface utilisateur initial pour l'application. Vous utiliseriez cela dans des applications qui pourraient avoir besoin de prendre en charge des parties de l'écran contenant des éléments d'interface utilisateur tels que le Dock et la barre de menus. La plupart des modes n'affectent que les éléments de l'interface utilisateur qui apparaissent dans la zone de contenu de l'écran, c'est-à-dire la zone de l'écran qui n'inclut pas la barre de menus. Cependant, vous pouvez également demander que tous les éléments de l'interface utilisateur soient masqués.

4 - Tout mode supprimé. Dans ce mode, tous les éléments de l'interface utilisateur sont masqués, y compris la barre de menus. Les éléments de l'interface utilisateur peuvent s'afficher automatiquement en réponse aux mouvements de la souris ou à d'autres activités de l'utilisateur. Cette option est disponible uniquement dans OS X v10.3 et versions ultérieures.

La source

cchamberlain
la source
1

TotalTerminal a maintenant une option dans son panneau de préférences pour activer la même option sous-jacente @ La réponse de Dan illustre le réglage manuellement:

Capture d'écran des préférences de TotalTerminal

The Mighty Chris
la source