Newer
Older
netbeans-wrapper / netbeans-wrapper.applescript
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