mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-19 21:41:07 +01:00
Added vsplit_tab and split_tab for iTerm. Create new session within a vertical/horizontal split of the tab respectively.
This commit is contained in:
parent
3e9493fb30
commit
4a813cf1a2
1 changed files with 60 additions and 3 deletions
|
@ -2,10 +2,9 @@
|
||||||
# FILE: osx.plugin.zsh
|
# FILE: osx.plugin.zsh
|
||||||
# DESCRIPTION: oh-my-zsh plugin file.
|
# DESCRIPTION: oh-my-zsh plugin file.
|
||||||
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
|
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
|
||||||
# VERSION: 1.0.1
|
# VERSION: 1.1.0
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
function tab() {
|
function tab() {
|
||||||
local command="cd \\\"$PWD\\\""
|
local command="cd \\\"$PWD\\\""
|
||||||
(( $# > 0 )) && command="${command}; $*"
|
(( $# > 0 )) && command="${command}; $*"
|
||||||
|
@ -35,7 +34,7 @@ EOF
|
||||||
launch session "Default Session"
|
launch session "Default Session"
|
||||||
set current_session to current session
|
set current_session to current session
|
||||||
tell current_session
|
tell current_session
|
||||||
write text "${command}"
|
write text "${command}; clear;"
|
||||||
end tell
|
end tell
|
||||||
end tell
|
end tell
|
||||||
end tell
|
end tell
|
||||||
|
@ -43,6 +42,64 @@ EOF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function vsplit_tab() {
|
||||||
|
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" == 'iTerm' ]] && {
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "iTerm" to activate
|
||||||
|
|
||||||
|
tell application "System Events"
|
||||||
|
tell process "iTerm"
|
||||||
|
tell menu item "Split Vertically With Current Profile" of menu "Shell" of menu bar item "Shell" of menu bar 1
|
||||||
|
click
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
keystroke "${command}; clear;"
|
||||||
|
keystroke return
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function split_tab() {
|
||||||
|
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" == 'iTerm' ]] && {
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "iTerm" to activate
|
||||||
|
|
||||||
|
tell application "System Events"
|
||||||
|
tell process "iTerm"
|
||||||
|
tell menu item "Split Horizontally With Current Profile" of menu "Shell" of menu bar item "Shell" of menu bar 1
|
||||||
|
click
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
keystroke "${command}; clear;"
|
||||||
|
keystroke return
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function pfd() {
|
function pfd() {
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2>/dev/null <<EOF
|
||||||
tell application "Finder"
|
tell application "Finder"
|
||||||
|
|
Loading…
Reference in a new issue