You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.2 KiB
52 lines
1.2 KiB
# |
|
# Opens a new Terminal.app/iTerm.app tab in the current directory. |
|
# |
|
# Authors: |
|
# Sorin Ionescu <sorin.ionescu@gmail.com> |
|
# |
|
|
|
local command="cd \\\"$PWD\\\"" |
|
(( $# > 0 )) && command="${command}; $*" |
|
|
|
the_app=$( |
|
osascript 2>/dev/null <<EOF |
|
tell application "System Events" |
|
name of first item of (every process whose frontmost is true) |
|
end tell |
|
EOF |
|
) |
|
|
|
[[ "$the_app" == 'Terminal' ]] && { |
|
osascript 2>/dev/null <<EOF |
|
tell application "System Events" |
|
tell process "Terminal" to keystroke "t" using command down |
|
tell application "Terminal" to do script "${command}" in front window |
|
end tell |
|
EOF |
|
} |
|
|
|
[[ "$the_app" == 'iTerm' ]] && { |
|
osascript 2>/dev/null <<EOF |
|
tell application "iTerm" |
|
set current_terminal to current terminal |
|
tell current_terminal |
|
launch session "Default Session" |
|
set current_session to current session |
|
tell current_session |
|
write text "${command}" |
|
end tell |
|
end tell |
|
end tell |
|
EOF |
|
} |
|
|
|
[[ "$the_app" == 'iTerm2']] && { |
|
osascript 2>/dev/null <<EOF |
|
tell application "iTerm2" |
|
tell current window |
|
create tab with default profile |
|
tell current session to write text "${command}" |
|
end tell |
|
end tell |
|
EOF |
|
}
|
|
|