diff options
Diffstat (limited to '')
| -rw-r--r-- | autoload/window.kak | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/autoload/window.kak b/autoload/window.kak index f5f1d95..acf9157 100644 --- a/autoload/window.kak +++ b/autoload/window.kak @@ -3,24 +3,26 @@ map global normal <c-w> ':enter-user-mode win<ret>' -docstring 'Window mode' map global win q ': quit<ret>' -docstring 'Quit' map global win <c-q> ': quit<ret>' -docstring 'Quit' -map global win v ': tmux-terminal-horizontal kak -c %val{session}<ret>' -docstring 'Split vertical' -map global win s ': tmux-terminal-vertical kak -c %val{session}<ret>' -docstring 'Split horizontal' +map global win s ': tmux-terminal-horizontal kak -c %val{session}<ret>' -docstring 'Split vertical' +map global win v ': tmux-terminal-vertical kak -c %val{session}<ret>' -docstring 'Split horizontal' map global win z ': wq<ret>' define-command terminal-singleton -params 2.. -docstring 'terminal-singleton <name> <command> [args...]' %{ eval %sh{ name="$1"; shift 1; + open-term-win() { - printf "terminal -n '$name' env" + printf "tmux-repl-impl new-window -n '$name' env" printf " 'KAKOUNE_SESSION=$kak_session' 'KAKOUNE_CLIENT=$kak_client'" for arg in "$@"; do - printf ' "%s"' "$(echo "$arg" | sed 's/["]/\\"/g')" + printf ' "%s"' "$(echo "$arg" | sed 's|["]|\\"|g')" done } + focus-term-win() { tmux select-window -t "$name" >/dev/null 2>&1 } - (focus-term-win || open-term-win "$@") + focus-term-win || open-term-win "$@" } } |
