From: Oleg Broytman Date: Sun, 11 Sep 2022 07:20:37 +0000 (+0300) Subject: .bashrc: Save/restore history before/after X X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=commitdiff_plain;h=1949f524dbd72947182fcf983021067b055b8eae .bashrc: Save/restore history before/after X --- diff --git a/.bashrc b/.bashrc index 4f3d23e..7a874bf 100644 --- a/.bashrc +++ b/.bashrc @@ -295,3 +295,22 @@ if test -x /usr/bin/git >/dev/null 2>&1; then complete -F _git_open_remote git-open-remote fi + + +if [ "$SHLVL" -eq 1 -a "`type -t X`" = function ] && which startx >/dev/null 2>&1; then + # From https://stackoverflow.com/a/18839557 + + copy_function() { + test -n "$(declare -f "$1")" || return + eval "${_/$1/$2}" + } + + rename_function() { + copy_function "$@" || return + unset -f "$1" + } + + rename_function X _non_bash_X + + X() { history -a; _non_bash_X; history -r; } +fi