TotalTerminal не работает с полноэкранными приложениями

8

TotalTerminal (бывший Visor) - это потрясающий плагин для терминала, который превращает его в консоль в стиле Quake, которая скользит по комбинации клавиш.

TotalTerminal

Это чрезвычайно полезно для разработки, потому что я могу набирать команды во время написания кода или просмотра без дополнительной суеты окна.

К сожалению, TotalTerminal не очень хорошо работает с полноэкранными приложениями. Если я переведу Sublime Text в полноэкранный режим и активирую Terminal, Mission Control будет прокручивать до ближайшего доступного не полноэкранного пространства и только после этого покажет Terminal.

Это очень раздражает. Можно ли исправить или обойти эту проблему?

Дэн
источник

Ответы:

7

Это известная проблема, и автор не планирует ее исправлять.

Я призываю кого-то пойти дальше и реализовать его, потому что лично я не использую полноэкранные приложения прямо сейчас и не планирую исправлять это в ближайшее время.

К счастью, есть обходной путь, описанный vvlad .

В качестве обходного пути вы можете установить LSUIElementв Info.plist терминала

У него есть несколько недостатков, но в остальном он работает как шарм:

  • Терминал больше не отображается в доке;
  • В каждом полноразмерном козырьке TotalTerminal, открытом в окнах полноэкранных приложений, есть пространство размером с верхнюю панель;
  • Вы больше не можете в обычные окна терминала;
  • Вы не можете принудительно убить терминал.

Вот как это будет выглядеть:

TotalTerminal в полноэкранном приложении

Как это работает

LSUIElement (String - Mac OS X) указывает, выполняется ли приложение как приложение агента. Если для этого ключа установлено значение «1», Launch Services запускает приложение как приложение агента. Приложения агента не отображаются в Dock или в окне принудительного выхода. Хотя они обычно запускаются как фоновые приложения, при желании они могут выйти на передний план, чтобы представить пользовательский интерфейс. Щелчок по окну, принадлежащему приложению агента, приводит к тому, что приложение обрабатывает события.

Dock и loginwindow - это два приложения, которые работают как агентские приложения.

Как это сделать

  1. Открыть терминал (при условии, что у вас уже установлен TotalTerminal)
  2. Запустить sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. Добавьте эти две строки сразу после открытия <dict>тега:

    <key>LSUIElement</key>
    <true />
  4. Сохраните и закройте файл, нажав ^O Enter ^X
  5. Выйдите из терминала и запустите его снова
Дэн
источник
У TotalTerminal есть возможность для этого в панели настроек, я разместил новый ответ, включающий скриншот
The Mighty Chris
Я не могу заставить это работать должным образом в OSX Yosemite 10.10. Всякий раз, когда отображается TotalTerminal, он переключается обратно в основное пространство.
Россипедия
@rossipedia - Смотрите мой ответ ниже для исправления Йосемити.
cchamberlain
3

Yosemite Пользователи

Apple изменила способ работы LSUIElement в Йосемити. Это приведет к запуску приложения в качестве агента, но больше не приведет к тому, что оно будет перекрывать полноэкранный режим Windows.

Чтобы исправить, откройте файл Info.plist согласно инструкциям других людей и добавьте следующие два элемента:

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

LSUIPresentationMode (Number - OS X) определяет начальный режим интерфейса пользователя для приложения. Это можно использовать в приложениях, которым может потребоваться захватить части экрана, содержащие элементы пользовательского интерфейса, такие как панель инструментов и панель меню. Большинство режимов влияют только на элементы пользовательского интерфейса, которые появляются в области содержимого экрана, то есть в области экрана, которая не содержит строку меню. Однако вы можете запросить, чтобы все элементы пользовательского интерфейса также были скрыты.

4 - Весь подавленный режим. В этом режиме все элементы пользовательского интерфейса скрыты, включая строку меню. Элементы пользовательского интерфейса могут автоматически отображаться в ответ на движения мыши или другие действия пользователя. Эта опция доступна только в OS X v10.3 и позже.

Источник

cchamberlain
источник
1

У TotalTerminal теперь есть опция на панели настроек для включения той же базовой опции @ Ответ Дэна иллюстрирует настройку вручную:

Снимок экрана настроек TotalTerminal

Могучий Крис
источник