• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT

Volume Number: 14 (1998)
Issue Number: 10
Column Tag: Tips & Tidbits

Oct 98 Tips & Tidbits

by Steve Sisak

MPW: Fun with SetKeys

MPW has a limitation on the number of characters that can be used in a SetKey script. The limit is 255 characters. To work around the limit, simply define an Alias to hold the script, and then use the alias in the SetKey command, like this:

Alias F14_Alias 'Echo "# The F14 key was pressed!"

SetKey F14 F14_Alias

Did you ever wish MPW had the feature, like Codewarrior does, in which you can step from error to error in the window, and have the environment display the offending line of source in a source code window, with just a single button click or keypress. Here's how I do it:

Alias Cmd_F14_Alias 'Find \*[èt ]*Fileâ; Lineâèn\ "{Worksheet}" || 
(beep; exit 0);(evaluate "''catenate "{Worksheet}".§''" =~ 
/[èt ]*File[ èt]*(â)®1[èt]*; Line[ èt]*([0-9]+)®2â/) 
Sigmadev:null;If "{Windows}" !~ /â{®1}â/;Target "{®1}";End;
Find "{®2}" "{®1}" && Open "{®1}"'
SetKey Command-F14 Cmd_F14_Alias

This assumes that you have the build errors being written to your MPW worksheet. If you use some other file for said messages, like I do when I'm using ToolServer to do a build, then just change the window name in the script:

Alias F14_Alias 'Find \*[èt ]*Fileâ; Lineâèn\ "{MPW}Worksheet.TS" || 
(beep; exit 0);(evaluate "''catenate "{MPW}Worksheet.TS".§''" 
=~ /[èt ]*File[>èt]*(â)®1[ èt]*; Line[ èt]*([0-9]+)®2â/)
Sigmadev:null;If "{Windows}" !~ /â{®1}â/;Target "{®1}";End;
Find "{®2}" "{®1}" && Open "{®1}"'
SetKey F14 F14_Alias

(Now you can see where the first tip was born...)
Here are a few other SetKey settings that I use to optimize my productivity:

SetKey Command-Escape 'Open "{Worksheet}"'
SetKey Command-Home   'Open "{Worksheet}"'
SetKey Option-Escape  'Open "{Target}"'
SetKey Option-Home    'Open "{Target}"'

Greg Branche, Apple Computer
gregb@apple.com

PowerPlant: ABalloon Helper Control Key Additon

ABalloonHelper additon - using the Control key as a 'hot' key for instant Balloon help. ABalloon is an excellent PowerPlant attachment class for Balloon Help by James W. Walker <mailto:jwwalker@kagi.com>. ABalloon is available for downloading at the Metrowerks web site <http://www.metrowerks.com>.

I added a few extra lines of code to ABalloon so that by pressing the Control key, Balloon help is instantly activated for all panes within the application that have an ABalloon attachment. Balloon help is deactivated when the Control key is released.

Here are the code snippets to add to ABalloon:

class ABalloonHelper  : public LPeriodical
{
...
   // new static variable to keep track of control key
   static   bool   sCntrlKeyDown;
};

// Define and initialize static variables
...
bool  ABalloonHelper::sCntrlKeyDown = false;
ABalloonHelper::SpendTime( const EventRecord   &inMacEvent )
{
  static Point   sPrevWhere;

  ABalloon* theABalloon = FindBalloonPane(inMacEvent.where);

   // Start of new code
   // hold down the Control key for quick Balloon Help access
  KeyMap   theKeyMap;
  ::GetKeys( theKeyMap );

  if( ( theKeyMap[1] & 0x0008 ) && theABalloon ) {
      // control key down and pane
    if( !sCntrlKeyDown ) {
         // control key was not previously down
      if( !::HMGetBalloons() )
        ::HMSetBalloons(true);
        sCntrlKeyDown = true;
      }
    } else {         
         // control key not down
      if( sCntrlKeyDown ) {
            // control key was previously down
        ::HMSetBalloons(false);
        sCntrlKeyDown = false;
      }
  }
  // End of new code
....
}

Bill Modesitt, Maui Software
bill@mauisoftware.com

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live