Tuesday, August 11, 2020

#1 2003-05-16 07:24:29 pm

redsweater
Member
From:: Somerville, MA
Registered: 2003-04-12
Posts: 57
Website

Open current application's dictionary

I thought I'd share a very simple script I came up with that is making my life a lot easier.  Forgive me if this is old news, but I find I often get the notion to write a script for an application while I'm using it.  If you are using the Apple Script Menu (or my replacement: http://www.red-sweater.com/RedSweater/FastScripts.html then this handy script will let you open the dictionary of whatever app you're running.

It's fast and convenient!

tell application "Finder"
    set frontApp to first application process whose frontmost is true
end tell

tell application "Script Editor"
    activate
    open file of frontApp as alias
end tell


Filed under: Script, Finder

Offline

 

#2 2003-05-16 08:35:51 pm

T.J. Mahaffey
Administrator
From:: Arkansas, USA
Registered: 2002-11-20
Posts: 238
Website

Re: Open current application's dictionary

Very cool script, man. smile Kudos


T.J.
tj@tjmahaffey.com

Offline

 

#3 2003-05-17 09:38:03 am

Trash Man
Sanitation Department
Registered: 2005-10-20
Posts: 5336

Re: Open current application's dictionary

That's a nice piece of work, you ought to consider uploading it to Script Builders


One mans trash is another mans treasure

Offline

 

#4 2003-05-17 11:20:08 am

Rob
Member
From:: Ohio, USA
Registered: 2002-11-20
Posts: 1886

Re: Open current application's dictionary

Very handy script!

Has anyone else seen this problem? When I run the script from Apple's script menu, it throws Script Editor into a state of dumbness (it tries to do something but all I get is the spinning beachball). After force quitting Script Editor, I modified the script to use Script Debugger and it attempted to open the dictionary of System Events, even when another app was frontmost. SD went dumb too.

Running the script from FastScripts works fine. I think the problem is that Apple's script menu always thinks that System Events is the frontmost app when it is used to run a script. This has been discussed on the applescript-users list and I hope that Apple considers it a bug.

FYI: OS X 10.2.6 - Script Editor 2 - Script Debuger 3.0.6 - System Events beta (UI Scripting)

I think it's time to buy FastScripts. What a sneaky way to force a purchase!  wink

Offline

 

#5 2003-05-17 11:40:25 am

Trash Man
Sanitation Department
Registered: 2005-10-20
Posts: 5336

Re: Open current application's dictionary

That error has something to do with the fact that Apple's Script Menu uses System Events to operate, so it's calling against itself and it "blows up real good". You can run this script from the Finder without a hitch, but if you run it from the Script Menu it will  lock up the Script Editor...

Applescript:

tell application "Script Editor" to open alias ":System:Library:CoreServices:System Events.app:"

Whereas the above script will work just fine for any other application, from the Script Menu. Go figure...


One mans trash is another mans treasure


Filed under: Script

Offline

 

#6 2003-05-17 05:13:15 pm

redsweater
Member
From:: Somerville, MA
Registered: 2003-04-12
Posts: 57
Website

Re: Open current application's dictionary

Weird. I haven't seen that problem before, but I just tried it and totally beachballed Script Editor on my machine, too!

And here I thought Apple's Script Menu was simply lame and unintuitive.  I didn't think it could beachball apps.

Offline

 

#7 2003-05-18 10:34:21 am

Rob
Member
From:: Ohio, USA
Registered: 2002-11-20
Posts: 1886

Re: Open current application's dictionary

Weird. I haven't seen that problem before, but I just tried it and totally beachballed Script Editor on my machine, too!

And here I thought Apple's Script Menu was simply lame and unintuitive.  I didn't think it could beachball apps.



Here's a modified version of the script for Script Debugger. The first tell block uses System Events instead of the Finder because, according to those in the know, the Finder hands off the 'process' commands to System Events anyway (at least in Jaguar). This eliminates using the Finder as a middleman and may result in a speed gain measured in milliseconds. Like the script that started this thread, it works only with FastScripts and not Apple's script menu.

Applescript:

tell application "System Events"
   set frontApp to first application process whose frontmost is true
end tell

tell application "Script Debugger"
   activate
   open file of frontApp as alias
end tell

For more fun and excitement, and for those who don't have the FastScripts menu, save the following script as a stay-open app and then launch it. When launched, it will do nothing. After that, clicking the icon in the Dock will open the dictionary of the frontmost app in Script Debugger. It could easily be adapted for Script Editor.

Applescript:

on run -- Execute this code when the script is launched.
   
   -- As written, the script will do nothing except sit running in the Dock
   -- when first launched .
   
   -- We don't want the script to be frontmost after it is launched. The
   -- following line will take care of this.
   
   tell application "System Events" to ¬
       set visible of (item 1 of (every process whose frontmost is true)) to false
   
end run

on reopen -- Execute this code when the script is running and its Dock icon is clicked.
   
   -- As in the run hundler, we don't want the script to be frontmost. This will
   -- take care of that and then get the process which was frontmost before the
   -- script's Dock icon was clicked.
   
   tell application "System Events"
       set visible of (item 1 of (every process whose frontmost is true)) to false
       set frontApp to first application process whose frontmost is true
   end tell
   
   -- Bring Script Debugger to the front and open the app's dictionary.
   tell application "Script Debugger"
       activate
       open file of frontApp as alias
   end tell
   
end reopen

Daniel (redsweater), if you like, feel free to include these if you ever update the script submitted to ScriptBuilders. Written and tested using OS X 10.2.6 and Script Debugger 3.0.6. smile

-- Rob


Filed under: Script, System

Offline

 

Board footer

Powered by FluxBB

RSS (new topics) RSS (active topics)