Gavin’s Odd Bits of Code

2010-04-24 (Sat)

csshX 0.71 (and 0.65) released

Filed under: Hacks,MacOS X,Perl,Software — Gavin Brock @ 12:49 pm
Tags:

For Earth Day – the ecological carbon-free release ;-)

Two new versions of csshX are now available!!

As you may remember, I ran into problems with the release of 64bit Snow Leopard. This was due to Apple dropping carbon support in 64bit perl. The work-around at the time was to run the program using 32bit perl. Obviously this was not the long-term solution.

To control Terminal.app, instead of using the, carbon based, MacPerl module to call the Applescript, the advice was to use the NSAppleScript cocoa class through the PerlObjCBridge perl module. Although this worked great for calling scripts, getting the return value from scripts was extremely messy (NSAppleScript seems only half finished). I then had a look at the ScriptingBridge SBApplication class. This gives me an Objective-C like interface to applescript (although it is much more deceptive than it looks). This was much more suitable and so csshX was changed to use it*.

The downside of this is that 10.4 does not support the ScriptingBridge and so any legacy 10.4 user out there (are there any?) will be stuck on csshX 0.65 forever (0.65 is just a minor bug-fix release to 0.64).

The new csshX 0.70 is a major rewrite of the Terminal.app handling. This appears to make things a lot more responsive, but of course, it may have introduced other bugs. One major benefit is that I can now reliably get handles back for the windows created – this means no more race conditions if you click on any Terminal window while csshX is starting.

Other new features (as way of a bribe to get you to try this) are:

  • Growl messages for certain events. This is experimental, so please let me know if you would like more information, or if it’s too annoying (see the man page for how to disable it).
  • –ssh command line switch to specify the ssh command (handy if you have some wrapper script).
  • Keyboard cursor based move/resize in the bounds-setting mode (in case you hate reaching for the mouse).

You can grab the packages here:

As usual feedback, especially bug reports, are greatly appreciated.

csshX now on Twitter!

Follow brockgr on Twitter

* Nearly.. there is a bug introduced in 10.6 PerlObjCBridge that prevents it calling functions that return boolean values (quite common in Applescript). A bug report has been opened with Apple. In the interim, some of the ScriptingBridge calls are actually being substituted with NSAppleScript ones.

Advertisements

Create a free website or blog at WordPress.com.