TotalTerminal (former Visor) is an awesome plugin for Terminal that turns it into a Quake-style console that slides down on a key combination.


This is tremendously useful for development because I can type commands while writing code or browsing without extra window hustle.

Unfortunately, TotalTerminal doesn't play well with fullscreen apps. If I put Sublime Text in fullscreen mode and trigger Terminal, Mission Control will scroll to the nearest non-fullscreen space available, and only then will it show the Terminal.

This is very annoying. Is it possible to fix or work around this issue?


This is a known issue and the author doesn't plan to fix it.

I encourage someone to go further and implement it because personally I don't use fullscreen apps right now and I don't plan to fix this anytime soon.

Luckily, there is a workaround described by vvlad.

As an workaround you can set LSUIElement in Terminal's Info.plist

It has several drawbacks but otherwise works like a charm:

  • Terminal no longer shows on Dock;
  • There is a space the size of the top bar on top of every TotalTerminal visor opened on fullscreen apps windows;
  • You can no longer to regular Terminal windows;
  • You cannot Force Kill Terminal process.

This is how it will look like:

TotalTerminal on a fullscreen app

How It Works

LSUIElement (String - Mac OS X) specifies whether the application runs as an agent application. If this key is set to “1”, Launch Services runs the application as an agent application. Agent applications do not appear in the Dock or in the Force Quit window. Although they typically run as background applications, they can come to the foreground to present a user interface if desired. A click on a window belonging to an agent application brings that application forward to handle events.

The Dock and loginwindow are two applications that run as agent applications.

How to Do It

  1. Open Terminal (assuming you already have TotalTerminal installed)
  2. Run sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. Add these two lines right after opening <dict> tag:

    <true />
  4. Save and close the file by pressing ^O Enter ^X
  5. Quit Terminal and launch it again
  • TotalTerminal has an option for this in its preferences panel now, I posted a new answer including a screenshot Jul 23 '14 at 17:50
  • I am unable to get this to work properly in OSX Yosemite 10.10. Whenever TotalTerminal is shown it switches back to the primary Space.
    – rossipedia
    Nov 22 '14 at 19:00
  • @rossipedia - See my answer below for Yosemite fix. May 27 '15 at 17:17

Yosemite Users

Apple changed the way the LSUIElement works in Yosemite. It will cause the app to run as an agent but will no longer cause it to overlay full screen Windows.

To fix, open up the Info.plist file per other people's instructions and add the following two elements:


LSUIPresentationMode (Number - OS X) identifies the initial user-interface mode for the app. You would use this in apps that may need to take over portions of the screen that contain UI elements such as the Dock and menu bar. Most modes affect only UI elements that appear in the content area of the screen, that is, the area of the screen that does not include the menu bar. However, you can request that all UI elements be hidden as well.

4 - All suppressed mode. In this mode, all UI elements are hidden, including the menu bar. UI elements may show themselves automatically in response to mouse movements or other user activity. This option is available only in OS X v10.3 and later.



TotalTerminal has an option in its preferences panel now for enabling the same underlying option @Dan's answer illustrates setting manually:

Screenshot of TotalTerminal preferences

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .