TotalTerminal doesn't work with full-screen apps

Solution 1:

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:

    <key>LSUIElement</key>
    <true />
    
  4. Save and close the file by pressing ^O Enter ^X
  5. Quit Terminal and launch it again

Solution 2:

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:

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

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.

Source

Solution 3:

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