TotalTerminal funktioniert nicht mit Vollbild-Apps

8

TotalTerminal (ehemals Visor) ist ein fantastisches Plugin für Terminal, das es in eine Konsole im Quake-Stil verwandelt, die auf einer Tastenkombination herunterrutscht.

TotalTerminal

Dies ist äußerst nützlich für die Entwicklung, da ich beim Schreiben von Code oder beim Surfen Befehle eingeben kann, ohne dass zusätzliche Fensterprobleme auftreten.

Leider spielt TotalTerminal mit Vollbild-Apps nicht gut. Wenn ich Sublime Text in den Vollbildmodus versetze und Terminal auslöse, scrollt Mission Control zum nächsten verfügbaren Nicht-Vollbild-Bereich und zeigt erst dann das Terminal an.

Das ist sehr nervig. Ist es möglich, dieses Problem zu beheben oder zu umgehen?

Dan
quelle

Antworten:

7

Dies ist ein bekanntes Problem, und der Autor plant nicht, es zu beheben.

Ich ermutige jemanden, weiter zu gehen und es zu implementieren, da ich persönlich derzeit keine Vollbild-Apps verwende und nicht vorhabe, dies bald zu beheben.

Glücklicherweise gibt es eine Abhilfe durch beschrieben vvlad .

Als LSUIElementProblemumgehung können Sie in der Info.plist des Terminals festlegen

Es hat mehrere Nachteile , funktioniert aber ansonsten wie ein Zauber:

  • Terminal wird nicht mehr im Dock angezeigt.
  • Über jedem TotalTerminal-Visier, das in Vollbild-Apps-Fenstern geöffnet wird, befindet sich ein Bereich von der Größe der oberen Leiste.
  • Sie können nicht mehr zu normalen Terminalfenstern wechseln.
  • Sie können den Kill Terminal-Prozess nicht erzwingen.

So wird es aussehen:

TotalTerminal in einer Vollbild-App

Wie es funktioniert

LSUIElement (String - Mac OS X) gibt an, ob die Anwendung als Agentenanwendung ausgeführt wird. Wenn dieser Schlüssel auf "1" gesetzt ist, führt Launch Services die Anwendung als Agentenanwendung aus. Agentenanwendungen werden nicht im Dock oder im Fenster "Beenden erzwingen" angezeigt. Obwohl sie normalerweise als Hintergrundanwendungen ausgeführt werden, können sie in den Vordergrund treten, um bei Bedarf eine Benutzeroberfläche anzuzeigen. Ein Klick auf ein Fenster, das zu einer Agentenanwendung gehört, bringt diese Anwendung vorwärts, um Ereignisse zu verarbeiten.

Das Dock und das Anmeldefenster sind zwei Anwendungen, die als Agentenanwendungen ausgeführt werden.

Wie es geht

  1. Öffnen Sie das Terminal (vorausgesetzt, Sie haben TotalTerminal bereits installiert)
  2. Lauf sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. Fügen Sie diese beiden Zeilen direkt nach dem Öffnen des <dict>Tags hinzu:

    <key>LSUIElement</key>
    <true />
  4. Speichern und schließen Sie die Datei durch Drücken von ^O Enter ^X
  5. Beenden Sie das Terminal und starten Sie es erneut
Dan
quelle
TotalTerminal hat jetzt eine Option dafür in seinem Einstellungsfeld. Ich habe eine neue Antwort mit einem Screenshot gepostet
The Mighty Chris
Ich kann dies in OSX Yosemite 10.10 nicht richtig zum Laufen bringen. Immer wenn TotalTerminal angezeigt wird, wechselt es zurück in den primären Bereich.
Wikipedia
@rossipedia - Siehe meine Antwort unten für Yosemite Fix.
Kammerherr
3

Yosemite-Benutzer

Apple hat die Funktionsweise des LSUIElement in Yosemite geändert. Dadurch wird die App als Agent ausgeführt, aber nicht mehr, wenn Windows im Vollbildmodus überlagert wird.

Öffnen Sie zum Beheben die Datei Info.plist gemäß den Anweisungen anderer Personen und fügen Sie die folgenden zwei Elemente hinzu:

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

LSUIPresentationMode (Number - OS X) identifiziert den anfänglichen Benutzeroberflächenmodus für die App. Sie würden dies in Apps verwenden, die möglicherweise Teile des Bildschirms übernehmen müssen, die UI-Elemente wie das Dock und die Menüleiste enthalten. Die meisten Modi betreffen nur UI-Elemente, die im Inhaltsbereich des Bildschirms angezeigt werden, dh im Bereich des Bildschirms, in dem die Menüleiste nicht enthalten ist. Sie können jedoch anfordern, dass alle Elemente der Benutzeroberfläche ebenfalls ausgeblendet werden.

4 - Alle unterdrückten Modus. In diesem Modus werden alle Elemente der Benutzeroberfläche ausgeblendet, einschließlich der Menüleiste. Benutzeroberflächenelemente werden möglicherweise automatisch als Reaktion auf Mausbewegungen oder andere Benutzeraktivitäten angezeigt. Diese Option ist nur in OS X 10.3 und höher verfügbar.

Quelle

Kammerherr
quelle
1

TotalTerminal hat jetzt eine Option in seinem Einstellungsfenster, mit der dieselbe zugrunde liegende Option aktiviert werden kann. Die Antwort von @ Dan zeigt die manuelle Einstellung:

Screenshot der TotalTerminal-Einstellungen

Der mächtige Chris
quelle