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.
53 lines
1.2 KiB
53 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
|
|
}
|