[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] New BBEdit Extentions



At 17.02 97/6/9, Strider wrote:
>These things are GREAT! I FINALLY don't have to use Macperl anymore (I like
>the syntax checking and error browsing features a LOT)! But there is one
>problem for me: any eternal dialogs called while running (using MacPerl's
>standard dialog interface) don't come up in BBEdit. In fact, I have to
>command-period out of bbedit's cycle, and go to the macperl app before the
>dialog will come up.
>
>Is there anything you can do about that?

Well (I can't totally speak for Brad), kinda.  I think in BBEdit's
Extension interface you aren't supposed to bring up any new programs until
the "cycle" is through.  But there is a way around it:

#!perl
&front1;
&front2;

sub front1 {
    &MacPerl::DoAppleScript(<<EOS);
tell application "MacPerl"
    activate
end tell
EOS
}

sub front2 {
    use Mac::Processes;
    use Mac::MoreFiles(%Application);
    tie %Launch, LaunchParam;
    $Launch{launchControlFlags} = launchContinue+launchNoFileFlags;
    $Launch{launchAppSpec}      = $Application{'McPL'};
    LaunchApplication(\%Launch) or die $!;
}

print &MacPerl::Ask("What is your name?","Pudge");

__END__

Now, I am pretty sure this falls outside the BBEdit Extension specs (though
Brad would know, I believe).  But it works, regardless.  Though I have
noticed, more often than not, problems with screen redraws if I change the
content of the window in the process.  But by directing output to a new
window, that might not happen.

Anyway, under normal conditions (I think it makes a big difference if
MacPerl is on your startup disk), the Mac::Processes way is faster than the
straight AppleScript way.  But both work for me.

--
Chris Nandor                 pudge@pobox.com                 http://pudge.net/
%PGPKey=('B76E72AD',[1024,'08 24 09 0B CE 73 CA 10  1F F7 7F 13 81 80 B6 B6'])



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch