From 04b31f7a245d8e69809066197913cdeef28a1412 Mon Sep 17 00:00:00 2001 From: Konstantin Demin Date: Wed, 7 Apr 2021 15:40:59 +0300 Subject: [PATCH] add TERM fixup --- .config/dotfiles/gitignore | 1 + .config/zsh/rc/terminal.zsh | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 .config/zsh/rc/terminal.zsh diff --git a/.config/dotfiles/gitignore b/.config/dotfiles/gitignore index 08f15bc..f23c6c1 100644 --- a/.config/dotfiles/gitignore +++ b/.config/dotfiles/gitignore @@ -52,6 +52,7 @@ !/.config/zsh/rc/keyboard.zsh !/.config/zsh/rc/pager.zsh !/.config/zsh/rc/prompt.zsh +!/.config/zsh/rc/terminal.zsh !/.config/zsh/var/.keep !/.gdbinit !/.gitconfig diff --git a/.config/zsh/rc/terminal.zsh b/.config/zsh/rc/terminal.zsh new file mode 100644 index 0000000..1cc322a --- /dev/null +++ b/.config/zsh/rc/terminal.zsh @@ -0,0 +1,18 @@ +#!/bin/zsh + +function { + [ "${ZSHU_RUN[nested]}" = 1 ] || return + + local -a a + local x + for i ( ${ZSHU_PARENTS_PID} ) ; do + [ -r /proc/$i/environ ] || continue + x=$(tr '\0' '\n' < /proc/$i/environ | sed -En '/^TERM=(.+)$/{s//\1/;p;}') + [ -n "$x" ] || continue + a+=( "$x" ) + done + export ORIG_TERM="${a[-1]}" + echo "${TERM}" | grep -Fq "${ORIG_TERM}" && return + + export TERM="${TERM}.${ORIG_TERM}" +}