forked from extern/ohmyzsh
2be4158d8f
The ForkLift plugin now supports ForkLift 2 as well as ForkLift 1. If ForkLift is not running it also waits for it to be running before trying to switch to the specified directory
70 lines
1.7 KiB
Bash
70 lines
1.7 KiB
Bash
# Open folder in ForkLift.app of ForkLift2.app from console
|
|
# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
|
|
# Updated to support ForkLift2 by Johan Kaving
|
|
#
|
|
# Usage:
|
|
# fl [<folder>]
|
|
#
|
|
# Opens specified directory or current working directory in ForkLift.app
|
|
#
|
|
# Notes:
|
|
# It assumes Shift+Cmd+G launches go to folder panel and Cmd+N opens new
|
|
# app window.
|
|
#
|
|
# https://gist.github.com/3313481
|
|
function fl {
|
|
if [ ! -z "$1" ]; then
|
|
DIR=$1
|
|
if [ ! -d "$DIR" ]; then
|
|
DIR=$(dirname $DIR)
|
|
fi
|
|
if [ "$DIR" != "." ]; then
|
|
PWD=`cd "$DIR";pwd`
|
|
fi
|
|
fi
|
|
osascript 2>&1 1>/dev/null <<END
|
|
|
|
try
|
|
tell application "Finder"
|
|
set appName to name of application file id "com.binarynights.ForkLift2"
|
|
end tell
|
|
on error err_msg number err_num
|
|
tell application "Finder"
|
|
set appName to name of application file id "com.binarynights.ForkLift"
|
|
end tell
|
|
end try
|
|
|
|
if application appName is running
|
|
tell application appName
|
|
activate
|
|
end tell
|
|
else
|
|
tell application appName
|
|
activate
|
|
end tell
|
|
repeat until application appName is running
|
|
delay 1
|
|
end repeat
|
|
tell application appName
|
|
activate
|
|
end tell
|
|
end if
|
|
|
|
tell application "System Events"
|
|
tell application process "ForkLift"
|
|
try
|
|
set topWindow to window 1
|
|
on error
|
|
keystroke "n" using command down
|
|
set topWindow to window 1
|
|
end try
|
|
keystroke "g" using {command down, shift down}
|
|
tell sheet 1 of topWindow
|
|
set value of text field 1 to "$PWD"
|
|
keystroke return
|
|
end tell
|
|
end tell
|
|
end tell
|
|
END
|
|
}
|