diff --git a/debian/changelog b/debian/changelog index 0fa5450a..3f944579 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,3 @@ -byobu (6.13-0ubuntu1) plucky; urgency=medium - - * usr/lib/byobu/include/common: - - added -v|--version and -h|--help to most executables - * usr/share/byobu/profiles/bashrc: - - fix PS1 ANSI escape sequences causing line wrap errors - - -- Dustin Kirkland Sat, 29 Mar 2025 19:55:23 -0500 - byobu (6.12-0ubuntu1) noble; urgency=medium * usr/share/byobu/profiles/bashrc: diff --git a/usr/lib/byobu/include/common b/usr/lib/byobu/include/common index 9081f6cb..04ae4f4d 100755 --- a/usr/lib/byobu/include/common +++ b/usr/lib/byobu/include/common @@ -53,8 +53,3 @@ if [ -z "${BYOBU_INCLUDED_LIBS}" ]; then export BYOBU_DISTRO="$_RET" BYOBU_INCLUDED_LIBS=1 fi - -case "$1" in - -v|--version) [ "$(basename $0)" != "byobu" ] && exec byobu -v ;; - -h|--help) exec man $(basename $0) ;; -esac diff --git a/usr/share/byobu/profiles/bashrc b/usr/share/byobu/profiles/bashrc index 502b55f7..7fa07d67 100644 --- a/usr/share/byobu/profiles/bashrc +++ b/usr/share/byobu/profiles/bashrc @@ -29,7 +29,7 @@ esac [ -r "$BYOBU_PREFIX/lib/byobu/include/dirs" ] && . "$BYOBU_PREFIX/lib/byobu/include/dirs" byobu_prompt_git() { git branch 2>/dev/null | sed -e "/^[^*]/d" -e "s/* \(.*\)/ (\1)/"; } -byobu_prompt_status() { printf "%s" "[$?]"; } +byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; } byobu_prompt_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; } byobu_prompt_runtime() { # Calculate the approximate runtime of the previous command @@ -37,9 +37,8 @@ byobu_prompt_runtime() { local starttime endtime duration days hours minutes seconds microseconds nanoseconds str [ ! -r $BYOBU_RUN_DIR/timer.$$ ] && printf "[0.000s]" && return read starttime < $BYOBU_RUN_DIR/timer.$$ 2>/dev/null || true - # strip to non-decimal time. avoids LP: #2052610 - endtime=${EPOCHREALTIME/[^0-9]/} - starttime=${starttime/[^0-9]/} + endtime=${EPOCHREALTIME/./} + starttime=${starttime/./} duration=$((endtime - starttime)) days=$((duration/1000000/60/60/24)) hours=$((duration/1000000/60/60%24)) @@ -53,15 +52,15 @@ byobu_prompt_runtime() { [ "$hours" = "0" ] && hours= || hours="${hours}h " [ "$minutes" = "0" ] && minutes= || minutes="${minutes}m " str="${days}${hours}${minutes}${seconds}.${microseconds}s" - printf "[%s]" "$str" 1>&2 + printf "[%s] " "$str" 1>&2 } # Requires Bash 4.x -export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$BYOBU_RUN_DIR/timer.$$")' +export PS0='$(printf "%s" ${EPOCHREALTIME/./} >"$BYOBU_RUN_DIR/timer.$$")' case "$BYOBU_DISTRO" in "Ubuntu") # Use Ubuntu colors (grey / orange / aubergine) - export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " + export PS1="${debian_chroot:+($debian_chroot)}\[\e[03;5;15;202m\]\$(byobu_prompt_status)\[\e[00m\]\$(byobu_prompt_runtime)\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\e[38;5;102m\]\$(byobu_prompt_git)\e[00m\]\$(byobu_prompt_symbol) " export GREP_COLORS="ms=01;38;5;202:mc=01;31:sl=:cx=:fn=01;38;5;132:ln=32:bn=32:se=00;38;5;242" export LESS_TERMCAP_mb=$(printf '\e[01;31m') # enter blinking mode – red export LESS_TERMCAP_md=$(printf '\e[01;38;5;180m') # enter double-bright mode – bold light orange @@ -81,10 +80,10 @@ case "$BYOBU_DISTRO" in # For reference: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg # Convert hex to 256: https://gist.githubusercontent.com/MicahElliott/719710/raw/73d047f0a3ffc35f0655488547e7f24fa3f04ea6/colortrans.py # Use Wolfi colors (pink=170 / purple=98 / blue=63); flashing error code on previous command non-zero exit - export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " + PS1="\[\e[03;5;15;54m\]\$(byobu_prompt_status)\[\e[00m\]\$(byobu_prompt_runtime)\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\e[38;5;45m\]\$(byobu_prompt_git)\e[00m\]\$(byobu_prompt_symbol) " ;; *) - # Use primary colors (blue / yellow / red ) - export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;69m\]\u\[\e[00m\]@\[\e[38;5;214m\]\h\[\e[00m\]:\[\e[38;5;167m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " + # Use Googley colors (blue / red / yellow / blue / green / red ) + PS1="${debian_chroot:+($debian_chroot)}\[\e[31m\]\$(byobu_prompt_status)\[\e[38;5;69m\]\u\[\e[38;5;214m\]@\[\e[38;5;167m\]\h\[\e[38;5;214m\]:\[\e[38;5;71m\]\w\[\e[38;5;214m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol)\[\e[00m\] " ;; esac