diff --git a/debian/changelog b/debian/changelog index b36066d3..0fa5450a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,20 @@ -byobu (6.11) unreleased; urgency=medium +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: + - added git branch to bash ps1 prompt + + -- Dustin Kirkland Sat, 17 Feb 2024 07:25:02 -0600 + +byobu (6.11-0ubuntu1) noble; urgency=medium * usr/share/byobu/profiles/bashrc: - fix BYOBU_RUN_DIR and BYOBU_PREFIX issue @@ -11,7 +27,7 @@ byobu (6.11) unreleased; urgency=medium - added support for dnf package manager - https://code.launchpad.net/~sanjay-ankur/byobu/byobu/+merge/415959 - -- Dustin Kirkland Sat, 10 Feb 2024 11:03:36 -0600 + -- Dustin Kirkland Sat, 10 Feb 2024 11:24:04 -0600 byobu (6.10-0ubuntu1) noble; urgency=medium diff --git a/usr/bin/byobu.in b/usr/bin/byobu.in index c53fb124..b04eb1ab 100755 --- a/usr/bin/byobu.in +++ b/usr/bin/byobu.in @@ -18,7 +18,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -VERSION=6.11 +VERSION=6.12 PKG="byobu" # All sorts of things go wrong if you don't own your $HOME dir. diff --git a/usr/lib/byobu/include/common b/usr/lib/byobu/include/common index 04ae4f4d..9081f6cb 100755 --- a/usr/lib/byobu/include/common +++ b/usr/lib/byobu/include/common @@ -53,3 +53,8 @@ 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 cf31b46b..502b55f7 100644 --- a/usr/share/byobu/profiles/bashrc +++ b/usr/share/byobu/profiles/bashrc @@ -28,7 +28,8 @@ esac [ -d "$BYOBU_PREFIX" ] || BYOBU_PREFIX="/usr" [ -r "$BYOBU_PREFIX/lib/byobu/include/dirs" ] && . "$BYOBU_PREFIX/lib/byobu/include/dirs" -byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; } +byobu_prompt_git() { git branch 2>/dev/null | sed -e "/^[^*]/d" -e "s/* \(.*\)/ (\1)/"; } +byobu_prompt_status() { printf "%s" "[$?]"; } byobu_prompt_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; } byobu_prompt_runtime() { # Calculate the approximate runtime of the previous command @@ -36,8 +37,9 @@ 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 - endtime=${EPOCHREALTIME/./} - starttime=${starttime/./} + # strip to non-decimal time. avoids LP: #2052610 + endtime=${EPOCHREALTIME/[^0-9]/} + starttime=${starttime/[^0-9]/} duration=$((endtime - starttime)) days=$((duration/1000000/60/60/24)) hours=$((duration/1000000/60/60%24)) @@ -54,12 +56,12 @@ byobu_prompt_runtime() { printf "[%s]" "$str" 1>&2 } # Requires Bash 4.x -export PS0='$(printf "%s" ${EPOCHREALTIME/./} >"$BYOBU_RUN_DIR/timer.$$")' +export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$BYOBU_RUN_DIR/timer.$$")' case "$BYOBU_DISTRO" in "Ubuntu") # Use Ubuntu colors (grey / orange / aubergine) - export PS1="${debian_chroot:+($debian_chroot)}\[\e[38;5;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\]\$(byobu_prompt_symbol) " + 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 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 @@ -75,14 +77,14 @@ case "$BYOBU_DISTRO" in fi ;; "Wolfi") - # Use Wolfi colors (pink / purple / grey) + # Use Wolfi colors (pink / purple / blue) # 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 - 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\]\$(byobu_prompt_symbol) " + 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) " ;; *) - # 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_symbol)\[\e[00m\] " + # 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) " ;; esac