Musings from Mars Banner Image
For Software Addicts: Yes!MaybeNah!
Mars Report:

OCSmart Hacks: Add Major Smarts To Any Cocoa App

Published April 28th, 2007

OCSmart Hacks considerably extends the functionality of any native Cocoa application

OCSmart Hacks Cocoa ExtensionsOriginally downloaded 10/8/06. The world and wonder of Cocoa applications continues to grow for me… I happened upon this $29 bundle of extensions from a Czech programmer today and of course simply had to download it, given the promise of its premise. (Did I really say that?) Such applications have been around since the dawn of Mac OS X, having been ported from their NeXT roots, and this one was updated for Tiger in 2005. Here’s a brief list of the tricks it adds to Cocoa apps:

  • the main menu can be popped up anyplace, anytime;
  • any application menu or submenu can be torn-off and floated;
  • windows can be resized by dragging any edge;
  • windows can be moved by dragging from any point inside its frame (not just by its title);
  • entering URL links into RTF(D) documents in TextEdit;
  • saving any formatted text into HTML;
  • even keeping a watch over the current keyboard and reporting when it changes;

Unfortunately, it’s not free, and will only work in all Cocoa apps if you register it… but it’s definitely worth a try!

Update 4/28/07. I finally broke down and bought a license for OCSH (as it’s affectionately known by its developer) a couple of months ago, and it’s become such an essential part of my system setup I recently installed it on my Leopard build. That said, OCSH is definitely not for the faint of heart. It’s a geek’s tool—made by a geek for geeks.

OCSmart Hacks is frustratingly buggy, probably because it hasn’t been updated since shortly after Tiger was released in 2005. Nevertheless, it has a few killer features that I finally felt worthwhile to pay for. The software is a Cocoa InputManager application that adds several capabilities to any Cocoa apps it’s running in. Most significantly:

  1. Ability to invoke the main menu with a keystroke anywhere on your monitor,
  2. Ability to “tear off” any menu or submenu, a very handy feature that saves time in reaching menu functions buried deep in an application hierarchy, and
  3. Ability to customize these features for each application, including turning itself off.

And the good news is that it works in Leopard just about the same as it does in Tiger. Before buying OCSH, you can demo all of its features by invoking them in the OCSmart Hacks standalone application.

OCSH offers many other features, plus numerous “hidden” ones for really advanced hackers, but several of them are now obsolete—for example, its HTML conversion tool and its ability to add hyperlinks in apps like TextEdit. One, which can be annoying if you don’t turn it off, reflects the author’s annoyance at Mac OS X’s default behavior of opening a blank document when an application launches. Though this can be annoying, developers have largely overridden it on a case-by-case basis, so that you can turn the feature on and off within the app’s preferences.

When I say that OCSH is buggy, I mean that it’s caused conflicts with a dozen or so applications during the time I’ve used it. When this happens, you can disable OCSH within the application itself—if it’s able to fully launch. If it crashes, and you determine OCSH is the cause, you can add a key to the app’s preferences file that will disable OCSH (see the very thorough OCSH documentation for the instructions). The good news is that the cause of this bug may soon be history: The OCSH developer is currently testing an update that fixes a problem that could be causing the conflict. This new version will be available on the OCSH website as soon as testing is completed.

A Tear-Off Menu from TextEdit Thanks To OCSmart Hacks

“Tear-Off” menus, by the way, are incredibly cool and useful. They were apparently a standard part of the NeXTStep user interface, and were passed along to OS X by way of its code genes. Apple has done nothing to advertise their existence, and only because a couple of apps like OCSH have enabled them do I even know they are possible. The cool thing—and a critical distinction between this and the “pop-up” main menu—is that tear-off menus are persistent. OCSH remembers which menus should be torn off for each app, and where you want them located on the screen. In addition, you can use a contextual menu command to tell any given menu that it should float above all other windows, or that it should once again “mix” with its other brothers and sisters. The main utility of “tear-off” menus is in providing quick access to deeply nested functions that otherwise require navigating through several hierarchical menus to reach. I use them in applications that don’t present their main menu at all, because I’ve turned it off. A good example of this for me is Edgies , but I also use this in WriteRoom .

The Main Menu Popped-Up in TextEdit

In my tests and use, I’ve found OCSH to be superior and more reliable for “popup menus” and “tear-off menus” than two freeware apps that are probably better known. I had used DejaMenu a lot before discovering OCSH… or rather, I had tried to use it. In my experience, DejaMenu simply doesn’t work in many of the situations where I really need it—including Edgies, QuartzClocks , DropCopy, and other apps where I don’t need a menubar. A lot of Mac users need a popup menu feature because they use multiple monitors, and don’t want to have to navigate back to the “home” monitor to use the menu. I haven’t tested OCSH under those conditions, but I assume it would work.

For “tear-off” menus, the only other tool I’m aware of is the open-source StepMenus. Again, I had tried to use StepMenus for its tear-off chops many times, but it’s frustratingly buggy, and quite often fails to obey your instructions to stay quiet in apps from which you’ve excluded it. StepMenus is also fairly old code and doesn’t appear to be “cared for” any longer. Still, if you want to get a flavor for what “tear-off” menus can do, StepMenus is a good place to start.

Here are a few other notes I’ve made on OCSH during testing and use.

Pros

Cons

  • Many more native Cocoa features besides moving and resizing windows. Hold Ctrl-Shift and you can drag any window edge to resize a window. This is more flexible than most other hacks, which only resize in one direction. To move a window by its content area, hold Cmd key and drag with right mouse button. (these shortcuts are configurable in OCSmartHacks prefs)
  • Tear-off menus are cool and can be customized to each app as needed.
  • Cmd-Option-Click brings up the app’s main menu. This works reliably, whereas DejaMenu doesn’t, for apps that don’t ordinarily have a main menu showing (i.e., they don’t appear in the Dock)
  • Can be disabled selectively for individual apps, though you have to disable all functions if you do.
  • Very good in-app documentation, even though it’s a little out of date.
  • Pasted a bulleted list from DevonThink and saved as HTML… OCSH just made each bullet a <P> tag and preserved the bullet character. Not what I want.
  • OCSH has an advanced method for power users to write their own parsing rules, but the testing and time required to do that seems pointless, since Apple’s TextEdit now parses RTF to HTML beautifully.
  • OCSH can’t resize windows like QuartzClocks that have a transparent frame.
  • Works only in Cocoa apps through InputManager.
  • OCSH is not being actively developed. As a result, it has conflicts with a fair number of applications, so I’ve had to disable it more than I expected.
  • The main menu trick sometimes experiences conflicts with Quicksilver.
  • It’s the most expensive tool of its kind, and in fact lives in a software universe where most Cocoa plugins are freeware or open source.
  • Desperately needs a new icon, and could also use a better name. :-)

Version as tested: 2.0.

    
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx

Show Comments
Just Say No To Flash