Merge remote-tracking branch 'occivink/fix-iterm'

This commit is contained in:
Maxime Coste 2019-03-06 22:48:21 +11:00
commit 800c2c7128

View File

@ -1,12 +1,13 @@
# https://www.iterm2.com # https://www.iterm2.com
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ # ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
## The default behaviour for the `new` command is to open an vertical pane in ## The default behaviour for the `terminal` command is to open a vertical pane in
## an iTerm session if not in a tmux session. ## an iTerm session if not in a tmux session.
hook global KakBegin .* %sh{ hook global KakBegin .* %sh{
if [ "$TERM_PROGRAM" = "iTerm.app" ] && [ -z "$TMUX" ]; then if [ "$TERM_PROGRAM" = "iTerm.app" ] && [ -z "$TMUX" ]; then
echo " echo "
alias global focus iterm-focus alias global focus iterm-focus
alias global terminal iterm-terminal-vertical
" "
fi fi
} }
@ -28,7 +29,7 @@ define-command -hidden -params 2.. iterm-terminal-split-impl %{
# go through another round of escaping for osascript # go through another round of escaping for osascript
# \ -> \\ # \ -> \\
# " -> \" # " -> \"
escaped=$(printf %s "$args" | sed -e 's|\|\\\\|g; s|"|\\"|g') escaped=$(printf %s "$args" | sed -e 's|\\|\\\\|g; s|"|\\"|g')
cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped" cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped"
osascript \ osascript \
-e "tell application \"iTerm\"" \ -e "tell application \"iTerm\"" \
@ -41,14 +42,14 @@ define-command -hidden -params 2.. iterm-terminal-split-impl %{
define-command iterm-terminal-vertical -params 1.. -shell-completion -docstring ' define-command iterm-terminal-vertical -params 1.. -shell-completion -docstring '
iterm-terminal-vertical <program> [<arguments>]: create a new terminal as an iterm pane iterm-terminal-vertical <program> [<arguments>]: create a new terminal as an iterm pane
The current pane is split into two, top and bottom The current pane is split into two, left and right
The program passed as argument will be executed in the new terminal'\ The program passed as argument will be executed in the new terminal'\
%{ %{
iterm-terminal-split-impl 'vertically' %arg{@} iterm-terminal-split-impl 'vertically' %arg{@}
} }
define-command iterm-terminal-horizontal -params 1.. -shell-completion -docstring ' define-command iterm-terminal-horizontal -params 1.. -shell-completion -docstring '
iterm-terminal-horizontal <program> [<arguments>]: create a new terminal as an iterm pane iterm-terminal-horizontal <program> [<arguments>]: create a new terminal as an iterm pane
The current pane is split into two, left and right The current pane is split into two, top and bottom
The program passed as argument will be executed in the new terminal'\ The program passed as argument will be executed in the new terminal'\
%{ %{
iterm-terminal-split-impl 'horizontally' %arg{@} iterm-terminal-split-impl 'horizontally' %arg{@}
@ -69,7 +70,7 @@ The program passed as argument will be executed in the new terminal'\
fi fi
done done
) )
escaped=$(printf %s "$args" | sed -e 's|\|\\\\|g; s|"|\\"|g') escaped=$(printf %s "$args" | sed -e 's|\\|\\\\|g; s|"|\\"|g')
cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped" cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped"
osascript \ osascript \
-e "tell application \"iTerm\"" \ -e "tell application \"iTerm\"" \
@ -95,7 +96,7 @@ The program passed as argument will be executed in the new terminal'\
fi fi
done done
) )
escaped=$(printf %s "$args" | sed -e 's|\|\\\\|g; s|"|\\"|g') escaped=$(printf %s "$args" | sed -e 's|\\|\\\\|g; s|"|\\"|g')
cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped" cmd="env PATH='${PATH}' TMPDIR='${TMPDIR}' $escaped"
osascript \ osascript \
-e "tell application \"iTerm\"" \ -e "tell application \"iTerm\"" \