Posts RSS Comments RSS 32 Posts and 1,017 Comments till now

Blurminal

Someone wanted a mod for Leopard’s Terminal.app which would make the image showing through behind terminal windows blurred – here it is. See this post for installation instructions.

Blurminal

You can make terminal windows transparent by adjusting the opacity of the window background colour in Preferences – somewhere around 80% should work well. You can adjust the blurring level with the command:

defaults write com.apple.Terminal 'Blurminal Radius' -float 1.0

1.0 is the default – higher means more blur (you’ll need to restart Terminal.app for the changes to take effect).

I’m actually finding it very nice – it lets me use transparency without it getting in the way, but it’s there when you need it (say, to copy something from a browser window underneath).

Thanks to Alex Ross for the request, and the great name.

73 Responses to “Blurminal”

  1. on 16 Nov 2007 at 8:02 pmAlexRoss

    Sweet man! Thanks a lot!

  2. on 19 Nov 2007 at 3:59 pmJames

    Awesome, I was asking for exactly this a few weeks ago

  3. on 20 Nov 2007 at 11:46 pmTerry

    Is it possible to apply this to other transparent elements as well? Like the 2D Dock and the Stacks grid view?

  4. on 21 Nov 2007 at 11:41 pmtHE-oNE

    It works fine until i quit terminal… when i’m entering it again it’s not blurry…

  5. on 22 Nov 2007 at 8:08 amBlair

    Not sure if this is doing the blur effect with CoreImage or not… but if so, any chance you could add a version that uses the ocean ripple filter?

  6. [...] hier hab ich vor kurzem gefunden: es rendert einen Weichzeichner über Leopards Terminal.app, anstatt den Hintergrund nur transparent zu [...]

  7. on 22 Nov 2007 at 4:15 pmjiho

    Any chance to have this working on Tiger? I tried to force it to load by reducing the MinBundleVersion to 133 (Latest Tiger version) but it does not do anything.

    I sounds useful.

  8. on 23 Nov 2007 at 9:58 amvp

    it doesn’t work on tiger…any ideea?

  9. on 24 Nov 2007 at 2:02 amdarrin

    hmm, unfortunately, i havent been able to get this working in leopard either….. looks great though!

  10. on 25 Nov 2007 at 3:37 pmThomas Aylott

    Sweet!

  11. on 26 Nov 2007 at 7:00 pmOktay Acikalin

    very nice :) is it possible to have this in textmate too? :)

  12. on 29 Nov 2007 at 6:28 amAntony

    Brilliant. One request (there’s always one more request…!) – as an avid user of Visor ( http://code.google.com/p/blacktree-visor/ ) I’d love to get this working there too.

    I’ve copied Terminal.app -> VisorTerminal.app and changed the CFBundleIdentifier setting in Info.plist to com.apple.VisorTerminal. This lets me have a Visor Terminal as well as having normal Terminals around.

    I’ve copied your TerminalColours.bundle -> VisorTerminalColours.bundle and changed the SIMBLTargetApplication BundleIdentifier in there to VisorTerminal – this works perfectly and I have wonderfully muted colours in my Visor Terminal and my normal Terminals.

    I’ve copied your Blurminal.bundle -> VisorBlurminalBundle and made the same changes as above…. no bluring in my Visor Terminal. I’ve set both

    defaults write com.apple.Terminal ‘Blurminal Radius’ -float 1.0

    and

    defaults write com.apple.VisorTerminal ‘Blurminal Radius’ -float 1.0

    Is there something I’m missing, or is there a fundamental reason why this won’t work?

    Thanks.

  13. on 29 Nov 2007 at 9:25 amCiarán

    Antony: Could you explain why you are making another copy of Terminal.app? I can’t see what advantage this would have at all…

    Visor most likely uses its own window subclass – I’ll look into adding support.

  14. on 29 Nov 2007 at 9:37 amCiarán

    OK, the version at the download link now has Visor support.

  15. on 29 Nov 2007 at 4:01 pmAntony

    So that I can autostart VisorTerminal but still fire up other Terminals. To do that without renaming I have to switch to the visor-ed Terminal and then hit cmd-N, which is ok, but I also ditched the dock icon and menu from VisorTerminal, which seemed neater. However, not as neat as having a blurred Visor, so I’ve switched it all back :)

    Thanks – looks great.

  16. on 27 Dec 2007 at 9:39 amjoachimm

    Hello Ciaran, I could not find you in ##textmate so I’ll make the request here instead. In iTerm I used to hack in the ability to increase and decrease the transparency via a keystroke (command-up /command-down) it was especially handy when I was working on my PowerBook 12″ since the terminal window often covered the other windows. It would be really nice to have this functionality in Terminal which I have switched to.

  17. [...] it to the same blur that sheets have now. Somebody whipped up a hack to do this called Blurminal http://ciaranwal.sh/2007/11/16/blurminal but I’d rather have it in the code.They finally fixed the menubar analog clock graphic. In [...]

  18. on 10 Feb 2008 at 6:15 amagitatedString

    Appears to work with Visor and my default Terminal window settings without problems on 24” Alum iMac running 10.5.2. Nice to have the background blur option available when working with the command-line. Thanks.

  19. on 12 Feb 2008 at 4:04 amBlair

    Not working with 10.5.2 here… I see this message when I open a new terminal:

    SIMBL Error

    Terminal 2.0.1 (v240) has not been tested with the plugin Blurminal (null) (v1.0). As a precaution, it has not been loaded. Please contact the plugin developer (not the SIMBL author) for further information.

  20. on 12 Feb 2008 at 5:54 amMiguel

    After running the 10.5.2 updater I get the same message as Blair, “Terminal 2.0.1 (v240) has not been tested with the plugin Blurminal (null) (v1.0). As a precaution, it has not been loaded. Please contact the plugin developer (not the SIMBL author) for further information.”

  21. on 12 Feb 2008 at 8:07 amagitatedString

    I was mistaken in msg #18. I meant to say all was well with 10.5.1 Now I have the same problem as Blair and Miguel with 10.5.2 :(

  22. on 12 Feb 2008 at 8:32 ampendulum

    I got it to load successfully by editing the info.plist file inside Blurminal.bundle. What needs to be changed is MaxBundleVersion key from 237 to 240. 237 was the previous version number of the Terminal. The MinBundleVersion can be left as is, as it implies it only checks that the terminal version is at least up to that version.

    I haven’t tested the plugin in 10.5.2 much, but after an hour or so of use I can’t find anything that needs fixing.

  23. on 12 Feb 2008 at 9:51 amagitatedString

    That was simple pendulum! Your a swinging dude. Thanks

  24. on 12 Feb 2008 at 5:36 pmBlair

    Thanks Pendulum!

  25. [...] – Original Post Terminal Tab Switching – Original Post TerminalColours – Original [...]

  26. on 13 Feb 2008 at 1:25 amblog.foosion.org » Blurminal

    [...] your copy here – thanks Ciarán! February 13, 2008 [...]

  27. on 13 Feb 2008 at 1:09 pmagitatedString

    Another SIMBL based Plugin associated with InputManagers have started to crater (e.g., acidsearch) for me also. I installed PlugSuit and it seems to be working okay. PlugSuit does not seem to be picky about where the plugin bundles are placed. Is it time for developers and users to switch from the InputManager/SIMBL methodolgy? See, http://developer.apple.com/releasenotes/Cocoa/AppKit.html#NSInputManager

  28. on 14 Feb 2008 at 10:43 pmJon

    It works for me after the 10.5.2 update using pendulum’s hack, but I still have to dismiss the annoying dialog that says (erroneously) that blurminal has not been tested or loaded. Anyone have any idea how to get rid of that behavoir?

  29. on 19 Feb 2008 at 4:31 amvinay

    I would love to see the source to this. I am curious to see how it’s done.

  30. on 26 Feb 2008 at 6:33 amJustin

    @Jon: Are you sure you don’t have it installed twice, or have some other plugin installed? It yelled at me for Blurminal until I fixed that, and then it started yelling at me for TerminalColours. I set both MaxBundleVersions to 300 so it would stop bothering me for a while.

  31. on 25 Mar 2008 at 11:21 pmatheos

    AWESOME! Now… Where is iTerm support? :) I know we all like 10.5 Terminal but… Well, it displays bolded ANSI colors all screwed up (some white overlay, wtf?), doesn’t allow scroll bar hiding and has that annoying url opening thing (I don’t like the shift+cmd thing or the right-click thing).

    Please please please make this work with iTerm :)

  32. on 25 Apr 2008 at 1:32 pmkyvlle

    This is fantastic! However, I seemed to have stumbled upon a bug: The blur effect does not appear on the 1st Terminal window, but appears after subsequent windows are opened.

    I’m using Plugsuit to manage SIMBL plugins. Could this be a factor?

    Many thanks again for this plugin!

  33. on 06 May 2008 at 10:02 amgodDLL

    This is going to be popular with the dev community, as long as it’s getting ported to PlugSuit.

  34. on 14 May 2008 at 5:55 amagitatedString

    Just a follow-up comment. Have been using Blurminal and PlugSuit since my last post on a blackapple-alum iMac running 10.5.2 without a single problem. Blurminal plays well with Visor too. Before Blurminal I had always used xterm because my first impression of Terminal.app back on a 10.1 box was not good and the background transparency/opacity feature always failed to do anything but irritate after a few minutes. I hope Apple notices your work, adopts it, and rewards you appropriately.

  35. on 23 May 2008 at 8:23 pmBeastie

    Maybe my Dual 1.8GHz G5 is just getting too old, but this otherwise awesome hack makes any window drag movement involving Terminal very slow and chunky — windows of other apps in front of terminal windows, or the terminal windows themselves.

    Other than that, this should definitely be standard in Terminal, Apple!

  36. on 07 Jun 2008 at 12:20 amMichael Meyer

    I added this setting to Secrets: Here it is.

    Thanks for the great plugin. Works perfectly with 10.5.3 + MBP + SIMBL.

  37. on 06 Jul 2008 at 1:03 ambc

    Heh, the whole reason I love the translucency in Terminal. app is that I CAN read text behind it. Very useful for typing in stuff I read in web pages and so forth.

  38. [...] already been exploited for Apple’s Terminal.app, but that requires Input Manager patching hacks. I gave reasons why I [...]

  39. on 17 Jul 2008 at 11:02 amMica

    I am having the same problem as kyvlle, but with 10.5.4

  40. on 18 Aug 2008 at 1:59 pmYørn

    I love it! Can you make a textmate and adium version too?

  41. on 01 Sep 2008 at 7:24 amMarcos Zanona

    Thanks Ciarán great eye candy and improvment! One in TextMate would be so nice! Give a try please?

  42. on 01 Sep 2008 at 9:44 amCiarán

    I did a TextMate version a while back after a request on the mailing list, but never posted it here. See this post.

  43. on 01 Sep 2008 at 2:44 pmMarcos Zanona

    Ciarán, thank you very much! This is simply great and works very well. Any tips to set the blur radius? I tried: defaults write com.apple.Terminal ‘Blurminal Radius’ -float 3.0

    But it didnt take effect. Thanks again!

  44. [...] [...]

  45. [...] So wie Milchglas etwa, man kennt’s ja von Vista. Die Erweiterung heisst sinnigerweise “Blurminal” – Die Grundlage für Blurminal ist SIMBL, ein Tool, um Cocoa Anwendungen zu patchen, [...]

  46. [...] Blurminal [...]

  47. on 29 Aug 2009 at 8:43 pmMatt Woodward

    Solution for Snow Leopard here: http://evanphx.wordpress.com/2009/08/28/fixing-colors-in-terminal-app-on-10-6/

    I had trouble with the tarball. You can get Evan’s source on github. Builds easily with Xcode.

    Thanks for the solution Evan!

    Matt

  48. on 01 Sep 2009 at 8:45 pmBen

    Hi! If you use blurminal and visor, like I do- you can extend the “fix” provided to run blurminal. Just change info.plist to target visorterminal.app and you are set to go.

  49. on 22 Sep 2009 at 5:26 pmProteo

    @Matt:

    I tried the link you posted, still no luck. Would you mind to explain what are the steps needed to install it in SL?

    @Ciarán:

    Any chance to get a 64 bit version of the plugin? SIMBL has been updated to support it!

    Thanks in advance.

  50. on 24 Sep 2009 at 5:21 pmBen

    Would LOVE a Snow Leopard update! They have updated visor to run and simbl as well! Pleaaaaassseeee!

  51. on 01 Oct 2009 at 2:17 pmTim Novinger

    I got this working in Snow Leopard 10.6.1 with this real quick and dirty fix.

    instructions

    • Set /Applications/Utilities/Terminal.app to run in 32-bit mode. Go into its Info pane (CMD-I) for this.
    • Find your Blurminal plugin. I tossed mine into ~/Library/Application Support/SIMBL/Plugins/Blurminal.bundle
    • Right click and select “Show Package Contents”
    • Navigate to /Contents/Info.plist and open it up. You’ll need a Plist editor for this.
    • Change the MaxBundleVersion from 240 to 272. See the screenshot below.
    • Quit terminal (if already running) and open it back up. Blurminal should be working fine now if you’ve already run this command
      • defaults write com.apple.Terminal ‘Blurminal Radius’ -float 1.0
  52. on 18 Oct 2009 at 11:28 amNick

    Does anybody know why it only works on the SECOND window? Always have to open a new one and close the first one….

    Any workarounds?

  53. on 18 Oct 2009 at 4:29 pmAndrew

    Same for me. I have to open a second window.

  54. on 04 Nov 2009 at 3:07 pmtimmfin

    I merged evanphx’s 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 32bit mode any more.

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

    Follow the same instructions: install the latest SIMBL for Snow Leopard, unzip the file, copy the bundle to the SIMBL plugin folder, and then restart Terminal.app.

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

  55. on 04 Nov 2009 at 3:19 pmtimmfin

    Doofus, this was the blurminal thread not the terminal thread…. please ignore the above.

  56. on 08 Nov 2009 at 3:34 pmtimmfin

    But for anyone that cares, here is a working Blurminal bundle for 64 bit Snow Leopard so you don’t need to run terminal in 32bit mode.

    http://timmfin.net/code/Blurminal-SL-64bit.zip

  57. on 09 Nov 2009 at 5:23 pmJay2k1

    I as well have the problem that the first Terminal window is not blurry, only new windows that follow. That’s kinda annoying. Anyone knows a fix? I’m on SL using the 64-bit version from timmfin.

  58. on 09 Nov 2009 at 6:20 pmProteo

    First of all, thankyou very much timmfin, I finally got Blurminal back with your version. Second, I have the same problem, it works only after opening the second window.

  59. on 18 Nov 2009 at 5:17 pmGruni

    Hey hey, I can recommend timmfin’s 64bit-Version of Blurminal (http://timmfin.net/code/Blurminal-SL-64bit.zip) in combination with Visor for SL from binaryage (http://visor.binaryage.com/), works like a charm!

  60. on 30 Dec 2009 at 9:38 amJohn Carney

    Was getting the following error message:

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

    Timfinn’s 64-bit version fixes this, but still has the first window problem that others are reporting.

  61. on 05 Jan 2010 at 3:43 pmtimmfin

    Here’s my first attempt at fixing the “first window problem” http://github.com/timmfin/Blurminal/raw/master/Blurminal-SL-64bit.bundle.zip . The hack I’ve made seems to work, please let me know if it doesn’t work for any of you.

  62. on 05 Jan 2010 at 9:00 pmProteo

    Many many thanks again timmfin!! It’s working great for me!

  63. on 08 Jan 2010 at 6:39 pmAaronH

    Awesome, Timmfin! That totally works for me, too.

    I am curious if everyone else has the same issue with Blurminal in Expose? The blurred windows are generally invisible when viewed inside Expose. It’s not a huge deal, but I was just curious.

  64. on 08 Jan 2010 at 7:56 pmtimmfin

    Yup, I also have the expose issue. I bet the the blur filter applied underneath the terminal window is causing it, since it happens with Blurminal and Blurmate.

    Maybe I’ll get the motivation to play with the code more about this… maybe…

  65. on 08 Jan 2010 at 11:55 pmAaronH

    Yeah, I had the blurmate issue, too.

    I’ve been trying all sorts of things. My thought was to disable/enable the blur around the expose event. While I can flip the blur switch as needed, I can’t seem to ever get notified of the expose event (though my cocoa knowledge is abysmal).

  66. on 10 Jan 2010 at 12:45 amNithilher

    Timmfin, I’m sorry to say that Terminal crashes when I try to use your hacked Blurminal bundle. It works fine (‘though with the first window problem) when using your older version from 08 Nov 2009.

  67. on 12 Jan 2010 at 2:11 pmtimmfin

    Arg. Do you get any info in Console.app when it crashes?

  68. on 16 Jan 2010 at 1:45 amNithilher

    timmfin, yes, I do get something in the logs. It starts with

    
    Jan 10 00:26:39 hyperion Terminal[612]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary initWithObjects:forKeys:count:]: attempt to insert nil value at objects[0] (key: inputRadius)'\n*** Call stack at first throw:\n(\n   0   CoreFoundation                      0
    0x00007fff86144444 __exceptionPreprocess + 180\n        1   libobjc.A.dylib                     0x00007fff854860f3 objc_exception_throw + 45\n  2   CoreFoundation                      0x00007fff860ec4f2 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 530\n  3   CoreFoundation                      0x00007fff860eeafa +[NSDictionary dictionaryWithObject:forKey:] + 58\n  4   Blurminal                           0x00000001005fb48d -[NSWindow(TTWindow) enableBlur] + 128\n     5   Blurminal                           0x00000001005fb664 +[Blurminal load] + 216\n    6   libobjc.A.dylib                     0x00007fff854801fb call_load_methods + 162\n    7   libobjc.A.dylib                     0x00007fff8547ff40 load_images + 220\n  8   ???                                 0x00007fff5fc0315a 0x0 + 140734799819098\n      9   ???                                 0x00007fff5fc0bcdd 0x0 + 140734799854813\n      10  ???                                 0x00007fff5fc0bda6 0x0 + 140734799855014\n      11  ???                                 0x00007fff5fc08fbb 0x0 + 140734799843259\n      12  libSystem.B.dylib                   0x00007fff835e1e00 dlopen + 61\n        13  CoreFoundation                      0x00007fff860ded97 _CFBundleDlfcnLoadBundle + 231\n     14  CoreFoundation                      0x00007fff860ddd37 _CFBundleLoadExecutableAndReturnError + 1191\n       15  Foundation                          0x00007fff888f6204 _NSBundleLoadCode + 638\n    16  Foundation                          0x00007f
    ff888f5b27 -[NSBundle loadAndReturnError:] + 742\n      17  Foundation                          0x00007fff889074bc -[NSBundle principalClass] + 38\n    18  SIMB
    L                               0x00000001007fa83b +[SIMBL loadBundle:] + 99\n  
    19  SIMBL                               0x00000001007fa746 +[SIMBL installPlugins] + 426\n      20  SIMBL                               0x00000001007f956f Injec
    tEventHandler + 96\n    21  OpenScripting                       0x00007fff85d30a2e _ZL17EventHandlerThunkPK6AEDescPS_Pv + 149\n 22  AE                                  0x00007fff86f0f292 _Z20aeDispatchAppleEventPK6AEDescPS_jPh + 162\n      23  AE                                  0x00007fff86f0f18b _ZL25dispatchEventAndSendReplyPK6AEDescPS_ + 32\n    24  AE                                  0x00007fff86f0f095 aeProcessAppleEvent + 210\n  25  HIToolbox                           0x00007fff80b4a879 AEProcessAppleEvent + 48\n   26  AppKit                              0x00007fff848ee3d5 _DPSNextEvent + 1191\n       27  AppKit              
                    0x00007fff848edb41 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155\n     28  AppKit                              0x00007f
    ff848b3747 -[NSApplication run] + 395\n 29  AppKit                              
    0x00007fff848ac468 NSApplicationMain + 364\n    30  Terminal                            0x0000000100001154 0x0 + 4294971732\n)Jan 10 00:26:39 hyperion [0x0-0x41041].com.apple.Terminal[612]: terminate called after throwing an instance of 'NSException'
    

    Unfortunately, I have not the slightest idea what is going on.

  69. on 16 Jan 2010 at 2:43 amAaronH

    Looks like there is a null value in your settings for blurminal. Try entering the following at the command prompt and trying again.

    defaults write com.apple.Terminal ‘Blurminal Radius’ -float 1.0

  70. on 17 Jan 2010 at 11:38 pmNithilher

    Thanks, that did the trick. I don’t know, why this setting went missing, as I think I had entered that line when installing the older version of the bundle. Anyway, now it works great.

  71. on 18 Jan 2010 at 12:47 amAaronH

    Nice.

    The code currently checks for null values, but not invalid or blank values. If I get some time I’ll see if I can fix it, but my Objective C barely rises to the level of “wannabe hobby.”

  72. on 08 Apr 2010 at 12:18 amTrein naar Londen

    Great resource, thanks for sharing this information. trein naar londen

  73. on 28 May 2010 at 6:41 pmimVeryDiSu

    hey how about the Snow Leopard? Please!

Fork me on GitHub