28 lines
		
	
	
		
			926 B
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			926 B
		
	
	
	
		
			Bash
		
	
	
	
# create a zkbd compatible hash;
 | 
						|
# to add other keys to this hash, see: man 5 terminfo
 | 
						|
typeset -g -A key
 | 
						|
 | 
						|
# Finally, make sure the terminal is in application mode, when zle is
 | 
						|
# active. Only then are the values from $terminfo valid.
 | 
						|
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
 | 
						|
	autoload -Uz add-zle-hook-widget
 | 
						|
	function zle_application_mode_start { echoti smkx }
 | 
						|
	function zle_application_mode_stop { echoti rmkx }
 | 
						|
	add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
 | 
						|
	add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
 | 
						|
fi
 | 
						|
 | 
						|
function xterm_title_precmd () {
 | 
						|
    print -Pn -- '\e]2;%n@%m %~\a'
 | 
						|
}
 | 
						|
 | 
						|
function xterm_title_preexec () {
 | 
						|
	print -Pn -- '\e]2;' && print -n -- "${(q)1}\a"
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
if [[ "$TERM" == (Eterm*|alacritty*|aterm*|gnome*|konsole*|kterm*|putty*|rxvt*|screen*|tmux*|xterm*) ]]; then
 | 
						|
	add-zsh-hook -Uz precmd xterm_title_precmd
 | 
						|
	add-zsh-hook -Uz preexec xterm_title_preexec
 | 
						|
fi
 |