Compare commits

...

15 commits

Author SHA1 Message Date
Dustin Kirkland
34ca6fec92 releasing 6.13 2025-03-29 19:56:22 -05:00
Dustin Kirkland
d647ef2138 fix PS1 ANSI escape sequences causing line wrap errors 2025-03-29 19:54:52 -05:00
Dustin Kirkland
2ca86a554d Description: strip time EPOCHREALTIME by digit not decimal separator
original code stripped only by period defined decimal.
Some locales separate by comma. The goal is to strip to a
non-decimal, so instead only allowing digits,
and using start of string ensures safety.

Author: Jakub Skopal <jakub.skopal@bindworks.eu>
Origin: uptream, https://github.com/dustinkirkland/byobu/pull/71
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/byobu/+bug/2052610
Reviewed-by: John Chittum <john.chittum@canonical.com>
Last-Update: 2025-03-03
2025-03-29 11:20:07 -05:00
Dustin Kirkland
d315ccbd89 added help/version option to most executables 2025-03-29 11:19:22 -05:00
Dustin Kirkland
cd253f0229 releasing 2024-02-17 07:29:21 -06:00
Dustin Kirkland
0366c573a3 added git branch to bash ps1 prompt 2024-02-17 06:19:29 -06:00
Dustin Kirkland
946c975277 opening 6.12 2024-02-10 11:24:14 -06:00
Dustin Kirkland
fc1b4580a8 added support for dnf package manager
https://code.launchpad.net/~sanjay-ankur/byobu/byobu/+merge/415959
2024-02-10 11:04:14 -06:00
Dustin Kirkland
63df0a8c8e Fix for VSCode, fish and byobu installations
f917d2169a (commitcomment-137955113)
2024-02-10 10:56:56 -06:00
Dustin Kirkland
0514e53ba1 fix BYOBU_RUN_DIR and BYOBU_PREFIX issue
https://github.com/dustinkirkland/byobu/pull/62
https://launchpad.net/bugs/2051995 LP: #2051995
2024-02-10 10:50:34 -06:00
Dustin Kirkland
24cf51c2ad opening 6.11 2024-01-23 09:43:10 -06:00
Dustin Kirkland
237d811ad8 fix timer string logic 2024-01-23 09:03:34 -06:00
Dustin Kirkland
a38bfe0925 fix debhelper warnings 2024-01-22 10:29:34 -06:00
Dustin Kirkland
a8e7ee7cbd bump compat, fix vcs lintian warning 2024-01-22 10:26:02 -06:00
Dustin Kirkland
7c1b47c560 opening 6.10 2024-01-22 09:45:50 -06:00
8 changed files with 76 additions and 32 deletions

44
debian/changelog vendored
View file

@ -1,9 +1,49 @@
byobu (6.9) 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 <kirkland@ubuntu.com> 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 <kirkland@ubuntu.com> 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
- https://github.com/dustinkirkland/byobu/pull/62
- https://launchpad.net/bugs/2051995 LP: #2051995
* usr/bin/byobu-launcher-install.in:
- Fix for VSCode, fish and byobu installations
- https://github.com/dustinkirkland/byobu/commit/f917d2169afdec623f5b32723d93bfd91d34b92f#commitcomment-137955113
* usr/lib/byobu/updates_available:
- added support for dnf package manager
- https://code.launchpad.net/~sanjay-ankur/byobu/byobu/+merge/415959
-- Dustin Kirkland <kirkland@ubuntu.com> Sat, 10 Feb 2024 11:24:04 -0600
byobu (6.10-0ubuntu1) noble; urgency=medium
* debian/compat, debian/control:
- bump compat, fix vcs lintian warning, fix debhelper warnings
* usr/share/byobu/profiles/bashrc:
- fix timer string logic
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 23 Jan 2024 09:43:03 -0600
byobu (6.9-0ubuntu1) noble; urgency=medium
* snap: * snap:
- removing, unused, never finished - removing, unused, never finished
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 22 Jan 2024 09:38:52 -0600 -- Dustin Kirkland <kirkland@ubuntu.com> Mon, 22 Jan 2024 10:25:11 -0600
byobu (6.8-0ubuntu1) noble; urgency=medium byobu (6.8-0ubuntu1) noble; urgency=medium

2
debian/compat vendored
View file

@ -1 +1 @@
9 13

4
debian/control vendored
View file

@ -4,9 +4,9 @@ Priority: optional
Maintainer: Dustin Kirkland <kirkland@ubuntu.com> Maintainer: Dustin Kirkland <kirkland@ubuntu.com>
Uploaders: Antoine Beaupré <anarcat@koumbit.org> Uploaders: Antoine Beaupré <anarcat@koumbit.org>
Standards-Version: 4.1.3 Standards-Version: 4.1.3
Build-Depends: debhelper (>= 7.0.50~), gettext-base, automake, autoconf, dh-python, python3 Build-Depends: debhelper (>= 13), gettext-base, automake, autoconf, dh-python, python3
Homepage: https://byobu.org Homepage: https://byobu.org
Vcs-Bzr: https://github.com/dustinkirkland/byobu Vcs-Git: https://github.com/dustinkirkland/byobu
Package: byobu Package: byobu
Architecture: all Architecture: all

View file

@ -49,8 +49,8 @@ install_launcher() {
install_launcher_fish() { install_launcher_fish() {
$PKG-launcher-uninstall "$1" || true $PKG-launcher-uninstall "$1" || true
printf "if not set -q VSCODE_CWD" >> "$1" printf "if not set -q VSCODE_CWD; " >> "$1"
printf " status --is-login; and status --is-interactive; and exec byobu-launcher" >> "$1" printf " status --is-login; and status --is-interactive; and exec byobu-launcher;" >> "$1"
printf "end" >> "$1" printf "end" >> "$1"
} }

View file

@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
VERSION=6.9 VERSION=6.12
PKG="byobu" PKG="byobu"
# All sorts of things go wrong if you don't own your $HOME dir. # All sorts of things go wrong if you don't own your $HOME dir.

View file

@ -53,3 +53,8 @@ if [ -z "${BYOBU_INCLUDED_LIBS}" ]; then
export BYOBU_DISTRO="$_RET" export BYOBU_DISTRO="$_RET"
BYOBU_INCLUDED_LIBS=1 BYOBU_INCLUDED_LIBS=1
fi fi
case "$1" in
-v|--version) [ "$(basename $0)" != "byobu" ] && exec byobu -v ;;
-h|--help) exec man $(basename $0) ;;
esac

View file

@ -85,6 +85,9 @@ ___update_cache() {
# Wolfi updates are cheap (~1s); so update cache every time # Wolfi updates are cheap (~1s); so update cache every time
apk update 2>&1 >/dev/null apk update 2>&1 >/dev/null
apk upgrade --simulate | grep -c " Upgrading " >$mycache 2>/dev/null & apk upgrade --simulate | grep -c " Upgrading " >$mycache 2>/dev/null &
elif eval $BYOBU_TEST dnf >/dev/null; then
# If dnf exists, use it
flock -xn "$flock" dnf list --upgrades -q -y | grep -vc "Available Upgrades" >$mycache 2>/dev/null &
fi fi
} }
@ -141,6 +144,9 @@ ___update_needed() {
# formulae database was updated # formulae database was updated
[ "$(brew --prefix)/Library/Formula" -nt "$mycache" ] [ "$(brew --prefix)/Library/Formula" -nt "$mycache" ]
return $? return $?
elif [ -e "/var/cache/dnf/packages.db" ]; then
[ "/var/cache/dnf/packages.db" -nt "$mycache" ]
return $?
fi fi
return 1 return 1
} }

View file

@ -25,7 +25,11 @@ case "$TERM" in
esac esac
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo) [ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
[ -z "$USER" ] && export USER=$(whoami) [ -z "$USER" ] && export USER=$(whoami)
byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; } [ -d "$BYOBU_PREFIX" ] || BYOBU_PREFIX="/usr"
[ -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_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; } byobu_prompt_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; }
byobu_prompt_runtime() { byobu_prompt_runtime() {
# Calculate the approximate runtime of the previous command # Calculate the approximate runtime of the previous command
@ -33,8 +37,9 @@ byobu_prompt_runtime() {
local starttime endtime duration days hours minutes seconds microseconds nanoseconds str local starttime endtime duration days hours minutes seconds microseconds nanoseconds str
[ ! -r $BYOBU_RUN_DIR/timer.$$ ] && printf "[0.000s]" && return [ ! -r $BYOBU_RUN_DIR/timer.$$ ] && printf "[0.000s]" && return
read starttime < $BYOBU_RUN_DIR/timer.$$ 2>/dev/null || true read starttime < $BYOBU_RUN_DIR/timer.$$ 2>/dev/null || true
endtime=${EPOCHREALTIME/./} # strip to non-decimal time. avoids LP: #2052610
starttime=${starttime/./} endtime=${EPOCHREALTIME/[^0-9]/}
starttime=${starttime/[^0-9]/}
duration=$((endtime - starttime)) duration=$((endtime - starttime))
days=$((duration/1000000/60/60/24)) days=$((duration/1000000/60/60/24))
hours=$((duration/1000000/60/60%24)) hours=$((duration/1000000/60/60%24))
@ -44,31 +49,19 @@ byobu_prompt_runtime() {
nanoseconds=$(printf "%.6d" ${nanoseconds}) nanoseconds=$(printf "%.6d" ${nanoseconds})
microseconds=${nanoseconds:0:3} microseconds=${nanoseconds:0:3}
# Shorten our string as much as possible # Shorten our string as much as possible
if [ "$days" = "0" ]; then [ "$days" = "0" ] && days= || days="${days}d "
days= [ "$hours" = "0" ] && hours= || hours="${hours}h "
if [ "$hours" = "0" ]; then [ "$minutes" = "0" ] && minutes= || minutes="${minutes}m "
hours=
if [ "$minutes" = "0" ]; then
minutes=
else
minutes="${minutes}m "
fi
else
hours="${hours}h "
fi
else
days="${days}d "
fi
str="${days}${hours}${minutes}${seconds}.${microseconds}s" str="${days}${hours}${minutes}${seconds}.${microseconds}s"
printf "[%s]" "$str" 1>&2 printf "[%s]" "$str" 1>&2
} }
# Requires Bash 4.x # 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 case "$BYOBU_DISTRO" in
"Ubuntu") "Ubuntu")
# Use Ubuntu colors (grey / orange / aubergine) # 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 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_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 export LESS_TERMCAP_md=$(printf '\e[01;38;5;180m') # enter double-bright mode bold light orange
@ -84,14 +77,14 @@ case "$BYOBU_DISTRO" in
fi fi
;; ;;
"Wolfi") "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 # 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 # 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 # 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 ) # Use primary colors (blue / yellow / 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\] " 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 esac