TotalTerminal не працює з повноекранними програмами


8

TotalTerminal (колишній Visor) - це чудовий плагін для Terminal, який перетворює його на консоль Quake-стилю, яка ковзає по комбінації клавіш.

TotalTerminal

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

На жаль, TotalTerminal не грає добре з повноекранними програмами. Якщо я поставив Sublime Text у повноекранному режимі і запустить Термінал, Mission Control прокрутить до найближчого не-повноекранного простору, і тільки тоді він покаже Terminal.

Це дуже дратує. Чи можна вирішити цю проблему?

Відповіді:


7

Це відома проблема і Автор не планує виправити.

Я заохочую когось піти далі і реалізувати його, тому що особисто я не використовую повноекранні програми прямо зараз, і я не планую виправити це в найближчий час.

На щастя, є обхідний шлях описано vvlad .

Як обхідний шлях можна встановити LSUIElement у Info.plist Терміналу

Це має кілька недоліків але інакше працює як шарм:

  • Термінал більше не відображається на Dock;
  • Є простір розміру верхньої панелі поверх кожного козирка TotalTerminal, відкритого на повноекранних вікнах додатків;
  • Ви більше не можете до звичайних вікон терміналу;
  • Ви не можете примусово вбити процес терміналу.

Так виглядатиме так:

TotalTerminal on a fullscreen app

Як це працює

LSUIElement (String - Mac OS X) вказує, чи запускається програма як додаток агента. Якщо для цього ключа встановлено значення "1", запуск служб запускає додаток як додаток агента. Програми-агенти не відображаються в Dock або у вікні Force Quit. Хоча вони зазвичай виконуються як фонові додатки, вони можуть прийти на перший план, щоб представити користувальницький інтерфейс за бажанням. Натискання на вікно, що належить до програми агента, приводить цю програму вперед для обробки подій.

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

@rossipedia - Див. мій відповідь нижче для виправлення Йосеміті.
cchamberlain

3

Користувачі Yosemite

Apple змінила спосіб роботи LSUIElement в Йосеміті. Це призведе до запуску програми як агента, але більше не призведе до накладання повноекранних Windows.

Щоб виправити, відкрийте файл Info.plist за інструкціями інших людей і додайте такі два елементи:

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

LSUIPresentationMode (Номер - OS X) визначає початковий режим інтерфейсу користувача для програми. Ви б використовували це в програмах, які, можливо, знадобиться взяти на себе частини екрана, які містять елементи інтерфейсу користувача, такі як панель Dock і панель меню. Більшість режимів впливають тільки на елементи інтерфейсу, які з'являються в області вмісту екрана, тобто на область екрана, яка не містить рядка меню. Тим не менш, ви можете попросити, щоб всі елементи інтерфейсу також були приховані.

4 - Всі режими придушення. У цьому режимі всі елементи інтерфейсу приховані, включаючи рядок меню. Елементи інтерфейсу можуть відображатися автоматично у відповідь на переміщення миші або іншу діяльність користувача. Ця опція доступна лише в OS X v10.3 і пізніших версіях.

Джерело


1

TotalTerminal має опцію в панелі налаштувань тепер для того, щоб включити той самий базовий параметр

Screenshot of TotalTerminal preferences

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.