mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 05:40:08 +00:00
Add support for ForkLift 3 (#6490)
This adds support for ForkLift 3, which uses a different application id and also uses a popover instead of a sheet for entering the directory to go to. This also improves the handling of different versions of ForkLift, by first choosing any currently running instance, and if none is running starting the newest available version. Fixes #6565.
This commit is contained in:
parent
2991f237ae
commit
850975eb78
1 changed files with 69 additions and 31 deletions
|
@ -1,6 +1,6 @@
|
||||||
# Open folder in ForkLift.app or ForkLift2.app from console
|
# Open folder in ForkLift.app or ForkLift2.app from console
|
||||||
# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
|
# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
|
||||||
# Updated to support ForkLift2 by Johan Kaving
|
# Updated to support ForkLift 2 and ForkLift 3 by Johan Kaving
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# fl [<folder>]
|
# fl [<folder>]
|
||||||
|
@ -24,46 +24,84 @@ function fl {
|
||||||
fi
|
fi
|
||||||
osascript 2>&1 1>/dev/null <<END
|
osascript 2>&1 1>/dev/null <<END
|
||||||
|
|
||||||
try
|
try
|
||||||
tell application "Finder"
|
tell application "Finder"
|
||||||
set appName to name of application file id "com.binarynights.ForkLift2"
|
set forkLift3 to name of application file id "com.binarynights.ForkLift-3"
|
||||||
end tell
|
end tell
|
||||||
on error err_msg number err_num
|
on error err_msg number err_num
|
||||||
tell application "Finder"
|
set forkLift3 to null
|
||||||
set appName to name of application file id "com.binarynights.ForkLift"
|
end try
|
||||||
end tell
|
try
|
||||||
end try
|
tell application "Finder"
|
||||||
|
set forkLift2 to name of application file id "com.binarynights.ForkLift2"
|
||||||
|
end tell
|
||||||
|
on error err_msg number err_num
|
||||||
|
set forkLift2 to null
|
||||||
|
end try
|
||||||
|
try
|
||||||
|
tell application "Finder"
|
||||||
|
set forkLift to name of application file id "com.binarynights.ForkLift"
|
||||||
|
end tell
|
||||||
|
on error err_msg number err_num
|
||||||
|
set forkLift to null
|
||||||
|
end try
|
||||||
|
|
||||||
if application appName is running
|
if forkLift3 is not null and application forkLift3 is running then
|
||||||
tell application appName
|
tell application forkLift3
|
||||||
activate
|
activate
|
||||||
end tell
|
set forkLiftVersion to version
|
||||||
else
|
end tell
|
||||||
tell application appName
|
else if forkLift2 is not null and application forkLift2 is running then
|
||||||
|
tell application forkLift2
|
||||||
activate
|
activate
|
||||||
end tell
|
set forkLiftVersion to version
|
||||||
repeat until application appName is running
|
end tell
|
||||||
delay 1
|
else if forkLift is not null and application forkLift is running then
|
||||||
end repeat
|
tell application forkLift
|
||||||
tell application appName
|
|
||||||
activate
|
activate
|
||||||
end tell
|
set forkLiftVersion to version
|
||||||
|
end tell
|
||||||
|
else
|
||||||
|
if forkLift3 is not null then
|
||||||
|
set appName to forkLift3
|
||||||
|
else if forkLift2 is not null then
|
||||||
|
set appName to forkLift2
|
||||||
|
else if forkLift is not null then
|
||||||
|
set appName to forkLift
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
tell application appName
|
||||||
|
activate
|
||||||
|
set forkLiftVersion to version
|
||||||
|
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 "System Events"
|
||||||
tell application process "ForkLift"
|
tell application process "ForkLift"
|
||||||
try
|
try
|
||||||
set topWindow to window 1
|
set topWindow to window 1
|
||||||
on error
|
on error
|
||||||
keystroke "n" using command down
|
keystroke "n" using command down
|
||||||
set topWindow to window 1
|
set topWindow to window 1
|
||||||
end try
|
end try
|
||||||
keystroke "g" using {command down, shift down}
|
keystroke "g" using {command down, shift down}
|
||||||
tell sheet 1 of topWindow
|
if forkLiftVersion starts with "3" then
|
||||||
set value of text field 1 to "$PWD"
|
tell pop over of list of group of splitter group of splitter group of topWindow
|
||||||
keystroke return
|
set value of text field 1 to "$PWD"
|
||||||
end tell
|
end tell
|
||||||
end tell
|
else
|
||||||
|
tell sheet 1 of topWindow
|
||||||
|
set value of text field 1 to "$PWD"
|
||||||
|
end tell
|
||||||
|
end if
|
||||||
|
keystroke return
|
||||||
end tell
|
end tell
|
||||||
|
end tell
|
||||||
END
|
END
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue