Quake Style Drop Down Terminal for Mac

Update: Visor Terminal is now TotalTerminal. It’s a lot easier to configure so you can just download TotalTerminal and perform the steps below starting at 6.

The Visor Terminal, one of my most used hack-features. This guide helps you put your Mac Terminal to the zenith of usability and convenience.

Visor Terminal

Visor Terminal

The drop-down Quake-style terminal window is extremely convenient to run commands without disrupting the current workflow. Unfortunately the default install is very messy. It needs an open terminal program running in the background which can’t be closed and takes up valuable Dock space.

Then comes a blog from David Zülke who solved the problem with a hack which essentially creates a second terminal program, links the visor extension to it and makes that second terminal always invisible and not appearing in the Dock by playing with the Info.plist file. The world was beautiful until I bought a new Macbook and tried to reinstall Visor but only to find out that his instructions are no longer hosted. So here are the instructions again for those who want a Perfect Visor. This is for version 1.5 – 2.2 which runs on Leopard – Snow Leopard.

  1. Install SIMBL
  2. This is not necessary but it’s a lot easier if you have XCode to use its .plist editor tool.
  3. Right-click the extracted “Visor” file, select “Show Package Contents” and double-click “Info.plist” in the “Contents” folder[1]. Go to Root, SIMBLTargetApplications, 0 and change BundleIdentifier to “com.apple.VisorTerminal”. Save and close. You can now install the bundle according to the Visor install instructions (i.e. move it to ~/Library/Application Support/SIMBL/Plugins or the “global” equivalent in /Library).
  4. Go to your Applications/Utilities folder and duplicate Terminal. Rename the copy to “VisorTerminal”, then right-click it and choose “Show Package Contents”, and double-click “Info.plist” in the “Contents” folder. Go to Root and change CFBundleIdentifier to “com.apple.VisorTerminal”. Save and close.
  5. Start VisorTerminal. Go to Terminal menu and click Visor Preferences. Customize it to your suiting.
  6. Make it run on start up. You can right click the VisorTerminal on Dock and choose “Open at Login”
  7. Make it invisible. Right-click the VisorTerminal, choose “Show Package contents” and double-click Info.plist in the Contents folder. Add a new Sibling inside the root element called LSUIElement, it must be of type “Number” and have the value “1″ (without the quotes, of course). Save and quit.
  8. Done and done! Now the Visor will start on startup and won’t show up anywhere until you press the hotkey.  If you don’t like your previous preferences, you can’t right click or use menu anymore but pressing cmd-, will bring up the preferences window for the terminal

Currently, there’s a bug with SIMBL 0.97 that causes the application to stop using SIMBL when LSUIElement is set to 1. To solve this issue, use AppleScript with the following command:

tell application "VisorTerminal"
	inject SIMBL into Snow Leopard
	activate
end tell

Then save the script as a .app in a desired location. Make this run at startup instead of VisorTerminal.

The next steps are optional but your default Darwin terminal prompt  looks like shit. Here’s how to customize it.

  1. Press your hotkey or open Terminal
  2. Go to your home directory
    cd ~

    You are there by default

  3. Change your profile file
    mate .bash_profile

    TextMate is my favorite editor. If you don’t use it, use nano instead of mate

  4. Type
    export PS1 = " "

    And customize your prompt with the following keywords between the quotes

    • \d – Current date
    • \t – Current time
    • \h – Host name
    • \# – Command number
    • \u – User name
    • \W – Current working directory (ie: Desktop/)
    • \w – Current working directory, full path (ie: /Users/Admin/Desktop)

    ie.

    export PS1="\u@\h\w: "
  5. Save and restart your terminal
  • Pingback: Open Current Terminal Directory in Finder | Xster.net

  • Oliver Bestwalter

    Thank you – finally I have m yakuake replacement for the Mac :).

    Your tips did not work right out of the box though. So let me point out what I had to change to make it work:

    1. Step 7: String not number type for LSUIElement

    LSUIElement
    1

    2. Step 8: tell application “VisorTerminal” – not “UserTerminal”

    3. I don’t know if this was really necessary, but I changed a few more strings from terminal to VisorTerminal in the plists of Visor.bundle and VisorTerminal (like suggested here: http://www.metaskills.net/2009/8/18/visor-terminal-on-snow-leopard)

  • Jørgen Tietze

    5. […] You won’t be able to change any preferences anymore after performing the ensuing steps so change you Terminal to suit your tastings as well such as setting transparency.

    You can just use the keyboard-shortcut apple-, for opening the preferences. You’re also able to make new windows of the “traditional” kind with apple-n.

  • http://xster.net xiao

    Yup, good point Jørgen
    Changed

  • Pete

    Hi,
    great instructions! Thanks for reposting this! I had a few corrections, some of which may have been brought about by new versions.

    Step 3: The preference is actually named “SIMBLTargetApplications > Item 0 > BundleIdentifier”

    Step 4: The preference is now “Bundle Identifier”

    Step 6 is redundant given that you’ll have to cancel this at a later stage to run the Applescript instead.

    Step 7: Property List Editor.app will automatically change the key to “Application is agent (UIElement)”, which will be forced to be boolean. I guess this is the new nomenclature. Anyway, just tick this box.

    You can also change Visor preferences by clicking on the menubar icon, if you activated this.

  • Jeroen Vaelen

    Hi, great post, although I am wondering: it is possible to change the visor theme to the white one you have in your picture? And what about font changes? That’s what I am currently struggling with. I can change the normal window settings, but they don’t seem to apply in Visor. Please contact me about this via jeroen dot vaelen at gmail dot com. Thanks!

  • Jeroen Vaelen

    Hi, great post, although I am wondering: it is possible to change the visor theme to the white one you have in your picture? And what about font changes? That’s what I am currently struggling with. I can change the normal window settings, but they don’t seem to apply in Visor. Please contact me about this via jeroen dot vaelen at gmail dot com. Thanks!

  • Jeroen Vaelen

    Hi, great post, although I am wondering: it is possible to change the visor theme to the white one you have in your picture? And what about font changes? That’s what I am currently struggling with. I can change the normal window settings, but they don’t seem to apply in Visor. Please contact me about this via jeroen dot vaelen at gmail dot com. Thanks!

  • Jeroen Vaelen

    Hi, great post, although I am wondering: it is possible to change the visor theme to the white one you have in your picture? And what about font changes? That’s what I am currently struggling with. I can change the normal window settings, but they don’t seem to apply in Visor. Please contact me about this via jeroen dot vaelen at gmail dot com. Thanks!

  • Anonymous

    Where did you apply the change? You have to be in the visor window and press cmd-,. It should bring up the settings window for the visor terminal only.

  • Pingback: What’s your favorite app alternative for Mac OS X’s Terminal.app? Drija

  • http://postglock.myopenid.com/ postglock

    The new version is called TotalTerminal, and these instructions don’t work any more as is. For TotalTerminal 1.0, the references to Terminal.app are kept in TotalTerminal.app/Contents/Resources/Scripts/main.scpt . Create the Terminal.app clone first, then open this script in AppleScript Editor, and change “Terminal” to “VisorTerminal”, or whatever you have named the clone. You also don’t have to worry about injecting SIMBL any more with TotalTerminal.

  • Pingback: E-bike

  • Jørgen Tietze

    Checking up on updates to Visor, I noted the TotalTerminal (version 1.1.4), as postglock did some months ago. Apparently none of the dirty work described here are necessary for making the terminal behave quakeish anymore. Only changing the LSUIElement of the the Terminal.app’s info.plist is needed :-)