evan.musing << current

life and tech stuff by Evan Phoenix

Fixing colors in Terminal.app on 10.6

with 39 comments

It’s Snow Leopard day zero, so of course I had to upgrade. All in all, everything is great. (Especially the multiple monitor window migration fix!)

But the #1 thing that annoys me about all OS X releases in the colors in Terminal.app. They’re pretty much unusable on a dark background (especially the blue). For some time, there have been hacks to fix the problem. Well of course these hacks didn’t work on 10.6 anymore.

Never one to shy away from the problem, I dove in. And we have success!

Here’s how to make it work:

  • Find Terminal.app in Finder (/Applications/Utilities), right click, “Get Info”
  • There is a checkbox “Open in 32-bit mode”, Check it!
  • Install SIMBL. Plugsuit was installed on my machine before, it freaks out because of the 10.6 changes. SIMBL silently just works or doesn’t.
  • Get My updated TerminalColours SIMBL plugin. See the original post for details on how to install it.
  • Restart Terminal.app
  • Enjoy your readable colors!

This works because InputManagers still work in 32bit mode, but not 64bit mode. So by forcing Terminal.app to run in 32bit mode, SIMBL can still hook in. I just had to update TerminalColours to swizzle a new method that 10.6 uses to pick colors.

Hope you enjoy!

Update: I’ve changed the tar.gz download link to one that should work better.

Written by evanphx

August 28, 2009 at 6:08 pm

Posted in awesomeness

Tagged with , ,

39 Responses

Subscribe to comments with RSS.

  1. Thanks for the awesome work man. I almost decided to code it myself, but then I saw ur tweet somewhere :)

    You’re the hero of the day :)

    Isa Goksu

    August 28, 2009 at 11:55 pm

  2. Something fishy with your archive — neither tar or gnutar think its a tar file. Any chance you could re-create it?

    My eyes thank you in advance!

    Matt

    Matt Woodward

    August 29, 2009 at 12:10 am

    • Noticed the download link was from git. Grabbed a clone and built. Works great!

      Matt Woodward

      August 29, 2009 at 1:45 am

  3. I had issues with untarring the file you linked. Ended up just grabbing HEAD off of GitHub and building myself. In the future, you might find it easier to use the “Downloads” tab to post pre-built things for download rather than including it in actual version control.

    Thanks for the fix though!

    Will Farrington

    August 29, 2009 at 7:00 am

  4. I’ve moved the download URL to the downloads section on github. Should work better. It’s weird that that linked worked for me in Safari, but I guess not for other people.

    evanphx

    August 29, 2009 at 12:41 pm

  5. Wonderful; iTerm’s performance is too slow as an alternative. Back to Terminal.app.

    Aldric

    August 29, 2009 at 12:58 pm

  6. Hello, thanks for the update so much!

    Maybe you know how to fix this issue then. Many colors in vim coloure schemes (like vibrantink, tango, etc) just… blink! I know that this is now my vim or anything, cause same setup shows correct colours in screen and on other terminals.

    Sergey

    August 30, 2009 at 5:58 am

    • Sadly you can’t fix the blinking colors in vim, etc without switching to 16 color color schemes. Sadly since Tiger Apple has reverted the Terminal to be 16 color vs 256 color. ;(

      Chad

      August 30, 2009 at 11:10 am

  7. Thanks for this, it’s very much appreciated. xterms work just as well as they ever did, but I do like nice fonts :)

    J

    August 30, 2009 at 3:23 pm

  8. Thanks for you.
    i hate Terminal color after snow leopard update
    but i happy for you

    Bumjoon Kim

    August 30, 2009 at 6:24 pm

  9. Any idea how we can get apple to include this ANSI color pref pane within the Terminal.App directly?

    Its been 3 upgrades now and this issue has been a constant headache for me. (Really the only reason I even have SIMBL installed). Someone in Cupertino has to have noticed that the blue is too dark/should be adjusted! :D

    Thank you for your work to resolve this tho.

    Chris

    August 31, 2009 at 4:16 pm

  10. I think SIMBL is silently not loading at all with my Terminal, no errors or warnings.
    Any Ideas?

    Rob

    Rob

    September 1, 2009 at 12:42 am

  11. Thank you for this!

    Adam

    September 2, 2009 at 9:23 am

  12. Thank-you!

    xer0x

    September 2, 2009 at 11:49 am

  13. I just checked terminal today when loggin on my webserver. In my opinion the blue has changed with 10.6. In 10.5 it was barely readable, while now in Snow Leopard I can read it really well. No idea why, but I think they changed something….

    Frank

    September 3, 2009 at 8:33 am

  14. You are on the ball. Thanks!

    Hans

    September 3, 2009 at 9:10 am

  15. I can’t believe that with all of the smaller, sensible Snow Leopard UI improvements that a built-in ANSI color picker for Terminal *still* didn’t make the cut. Kind of nutty.

    Thanks for this, though – worked like a charm.

    Brian Cline

    September 8, 2009 at 5:47 pm

  16. FYI, SIMBL just got updated to have 64bit 10.6 support. Plugins will need updating. :)

    Matt Southerden

    September 9, 2009 at 1:47 am

  17. @Matt — I’m sure Evan will update the original post, but in the meanwhile I have a 64bit version compiled from his git repo: http://bwaht.net/code/TerminalColours.bundle.zip. Tested successfully against SIMBL 0.9.3b.

    Many thanks to Evan for updating the code to work with 10.6.

    Jonathan Pierce

    September 9, 2009 at 9:49 am

  18. From a clean Snow Leopard install, I needed two more steps to get this to work:

    1. $ sudo chmod a+rx /Library/ScriptingAdditions

    For some reason, this directory was created with no permissions for group/other.

    2. $ open /Library/LaunchAgents /net.culater.SIMBL.Agent.plist and set the key RunAtLoad to false

    Otherwise, the agent runs as root and isn’t allowed to inject into Terminal.

    Thomas Kho

    September 9, 2009 at 11:04 am

  19. Why can’t a 64 bit plugin be built?

    Derek Schrock

    September 12, 2009 at 11:47 pm

  20. Any idea when you might have a 64-bit version? Seems that keeping Terminal running in 64-bit would be optimal.

    Thanks for your efforts!

    Mark

    September 16, 2009 at 10:07 pm

  21. Any plans to update the bundle to be 64-bit native? SIMBL 0.9.x is out in beta, which enables 64-bit bundles on snow leopard.

    thanks for the great plugin, can’t wait for 64-bit support!

    cheers,

    – michael

    michael

    September 19, 2009 at 9:21 am

  22. http://niw.at/articles/2007/11/02/TerminalColoreopard/en
    Here is another changing-ANSI-color SIMBL plugin(0.2.5beta) for Snow Leopard, which archs are x86_64, i386, ppc, which works fine for me in 64bit Terminal and 64bit SIMBL.

    Null Atou

    September 22, 2009 at 1:38 am

  23. http://github.com/brodie/terminalcolours/downloads has the latest terminalcolour with 10.6, 64bit terminal, and simbl .9.x support.

    yanokwa

    September 27, 2009 at 7:40 am

  24. Awesome — I was starting to look into alternatives to Terminal.app, like some other commenters mentioned.

    Benjamin Oakes

    October 6, 2009 at 8:27 pm

  25. Hey, just checking in on the 64bit 10.6 support…is that even necessary? Thanks!

    ericdb

    October 9, 2009 at 8:51 am

  26. I don’t have an ‘Open in 32-bit mode’ checkbox in get info :(

    Anyone else got the same problem?

    John

    October 14, 2009 at 3:12 am

  27. Thanks! I really missed my colours.

    Stefan

    October 15, 2009 at 9:54 am

  28. I just use `:syntax on` and worked

    hmbr

    November 2, 2009 at 8:10 am

  29. I merged evanphx Snow Leopard fixes with other 64bit fixes I found on github. With this newer bundle and the newest SIMBL that works on Snow Leopard, you don’t need to open the Terminal in 64bit mode any more.

    http://github.com/timmfin/terminalcolours/raw/master/TerminalColours-SL-64bit.zip

    ps: I’m a total xcode/objective-c newb, so let me know if I did anything wrong :)

    timmfin

    November 4, 2009 at 5:57 am

  30. Whoops that was supposed to say, “you don’t need to open the Terminal in 32bit mode any more.”

    timmfin

    November 4, 2009 at 5:58 am

  31. Works fine for me as 64 bit, too. Just fire up Xcode, Edit Project Settings, and set Architectures to Standard (32/64 bit Universal).

    Dan Walters

    November 10, 2009 at 10:40 am

  32. I’m having an issue where the colors displayed locally on the system are in white however when I SSH to another host they are accurately displayed. Any thoughts or solutions?

    Bryan

    November 11, 2009 at 9:34 am

  33. Bryan, have you setup a prompt ($PS1) with color in it? Also try using ls with a color paramater (-G or –color depending).

    timmfin

    November 30, 2009 at 6:49 am

  34. I’m still getting an error message 75% of the time when I load Terminal.app:

    Error

    Terminal 2.1 (v272) has not been tested with the plugin TerminalColours (null) (v1.0). As a precaution, it has not been loaded. Please contact the plugin developer for further information.

    But it still seems to work. Any ideas?

    Carl Youngblood

    December 9, 2009 at 10:29 am

  35. I don’t understand what this does?

    In my standard terminal preferences I have the choice of background colour, along with Text, Bold, Selection and Cursor colours, each has a standard Apple colour picker.

    Can someone enlighten me.

    Wonderer

    December 15, 2009 at 5:02 am

  36. @Wonderer: It’s for the other colors, like those you’d see in Vim or when using colors in ls (LSCOLORS). They’re ugly otherwise, or just plain unreadible.

    Benjamin Oakes

    December 16, 2009 at 10:24 am


Leave a Reply