2012-02-01 04:37:51 +00:00
|
|
|
#
|
|
|
|
# Opens a new Terminal.app/iTerm.app tab in the current directory.
|
|
|
|
#
|
|
|
|
# Authors:
|
|
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
|
|
#
|
|
|
|
|
2017-07-06 23:01:26 +00:00
|
|
|
# function tab {
|
|
|
|
|
2011-10-12 03:13:58 +00:00
|
|
|
local command="cd \\\"$PWD\\\""
|
|
|
|
(( $# > 0 )) && command="${command}; $*"
|
|
|
|
|
|
|
|
the_app=$(
|
2017-08-04 17:54:19 +00:00
|
|
|
osascript 2> /dev/null <<EOF
|
2011-10-12 03:13:58 +00:00
|
|
|
tell application "System Events"
|
|
|
|
name of first item of (every process whose frontmost is true)
|
|
|
|
end tell
|
|
|
|
EOF
|
|
|
|
)
|
|
|
|
|
|
|
|
[[ "$the_app" == 'Terminal' ]] && {
|
2017-08-04 17:54:19 +00:00
|
|
|
osascript 2> /dev/null <<EOF
|
2011-10-12 03:13:58 +00:00
|
|
|
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' ]] && {
|
2017-08-04 17:54:19 +00:00
|
|
|
osascript 2> /dev/null <<EOF
|
2011-10-12 03:13:58 +00:00
|
|
|
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
|
|
|
|
}
|
2017-04-10 18:23:49 +00:00
|
|
|
|
2017-04-11 11:37:12 +00:00
|
|
|
[[ "$the_app" == 'iTerm2' ]] && {
|
2017-08-04 17:54:19 +00:00
|
|
|
osascript 2> /dev/null <<EOF
|
2017-04-10 18:23:49 +00:00
|
|
|
tell application "iTerm2"
|
|
|
|
tell current window
|
|
|
|
create tab with default profile
|
|
|
|
tell current session to write text "${command}"
|
|
|
|
end tell
|
|
|
|
end tell
|
|
|
|
EOF
|
|
|
|
}
|
2017-07-06 23:01:26 +00:00
|
|
|
|
|
|
|
# }
|