From 1949f524dbd72947182fcf983021067b055b8eae Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 11 Sep 2022 10:20:37 +0300 Subject: [PATCH] .bashrc: Save/restore history before/after X --- .bashrc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 -- 2.39.2