use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "AppKit" -- for NSEvent property NSEvent : a reference to current application's NSEvent property NSAlternateKeyMask : a reference to 524288 property netBeansBinary : null on run if my optionKeyIsDown() then set netBeansBinary to null if netBeansBinary is null then set nbApp to choose file ¬ with prompt "Please locate the file “netbeans” in your “netbeans11/bin” directory" ¬ default location "/Applications" of type ("public.unix-executable") set netBeansBinary to POSIX path of nbApp end if runNetBeans(netBeansBinary) end run on open theItems set commandString to netBeansBinary & " " repeat with thisItem in theItems tell application "System Events" set itemProperties to thisItem's properties set itemPath to POSIX path of itemProperties end tell set commandString to commandString & quoted form of itemPath & " " end repeat runNetBeans(commandString) end open on optionKeyIsDown() set theFlag to NSEvent's modifierFlags() as integer if ((theFlag div NSAlternateKeyMask) mod 2) = 0 then return false else return true end if end optionKeyIsDown on runNetBeans(commandString) set commandString to commandString & " >/dev/null 2>&1 &" do shell script commandString end runNetBeans