From 5d823bbd19dc8589cfacdbe51ee5260042dacab2 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 25 Oct 2025 17:22:00 +0530 Subject: Add terminal singleton command + use with gitu and daffm --- autoload/window.kak | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'autoload/window.kak') diff --git a/autoload/window.kak b/autoload/window.kak index 8986914..ba1fab7 100644 --- a/autoload/window.kak +++ b/autoload/window.kak @@ -10,3 +10,21 @@ map global win j ': nop %sh{tmux select-pane -D}' -docstring 'Jump down' map global win k ': nop %sh{tmux select-pane -U}' -docstring 'Jump up' map global win l ': nop %sh{tmux select-pane -R}' -docstring 'Jump right' map global win z ': wq' + +define-command terminal-singleton -params 2.. -docstring 'terminal-singleton [args...]' %{ + eval %sh{ + name="$1"; shift; + open-term-win() { + printf "terminal -n '$name' env" + printf " 'KAKOUNE_SESSION=$kak_session' 'KAKOUNE_CLIENT=$kak_client'" + printf " 'GIT_EDITOR=kak -c \"$kak_session\"' 'EDITOR=kcr edit' 'VISUAL=kcr edit'" + printf " %q" "$@" + echo "" + } + focus-term-win() { + tmux select-window -t "$name" >/dev/null 2>&1 + } + + focus-term-win || open-term-win "$@"; + } +} -- cgit v1.3.1