summaryrefslogtreecommitdiff
path: root/nvim/init.vim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/init.vim')
-rwxr-xr-xnvim/init.vim18
1 files changed, 16 insertions, 2 deletions
diff --git a/nvim/init.vim b/nvim/init.vim
index f540d63..d3f556c 100755
--- a/nvim/init.vim
+++ b/nvim/init.vim
@@ -82,15 +82,29 @@ else
endif
" Behaviors exclusive to either the tty or a terminal emulator in a graphical environment
+function GetTermPID(temu)
+ let pinfo = ['', getpid(), '']
+ while !(pinfo[2] =~ a:temu)
+ let pinfo = split(system('ps h -o pid,ppid,command= -p' . pinfo[1]))
+ endwhile
+ return pinfo[0]
+endfunction
+
+function SetTermClassName(termpid, name)
+ silent exec "!settitle " . a:termpid . " " . a:name
+endfunction
+
if empty($DISPLAY)
" Clear the tty screen after exiting vim
"autocmd QuitPre * :!clear
else
set cursorline " Highlight current line
" Change the terminal emulator's window title and class name to vim
+ let temu = "st"
+ let temupid = GetTermPID(temu)
autocmd BufEnter * :set title
- autocmd VimEnter * :silent exec "!settitle Vim"
- autocmd VimLeave * :silent exec "!settitle st"
+ autocmd VimEnter * call SetTermClassName(temupid, "Vim")
+ autocmd VimLeave * call SetTermClassName(temupid, "st")
"let &titleold="st"
endif