Compare commits

...

17 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
Dustin Kirkland
6308b188ce removing, unused, never finished 2024-01-22 09:39:23 -06:00
Dustin Kirkland
4cf9c16930 opening 6.9 2024-01-22 09:26:44 -06:00
9 changed files with 83 additions and 58 deletions

51
debian/changelog vendored
View file

@ -1,9 +1,56 @@
byobu (6.8) 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:
- removing, unused, never finished
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 22 Jan 2024 10:25:11 -0600
byobu (6.8-0ubuntu1) noble; urgency=medium
* usr/share/byobu/keybindings/f-keys.tmux: * usr/share/byobu/keybindings/f-keys.tmux:
- have F1 pull up the keybindings text - have F1 pull up the keybindings text
-- Dustin Kirkland <kirkland@ubuntu.com> Sat, 20 Jan 2024 21:27:37 -0600 -- Dustin Kirkland <kirkland@ubuntu.com> Mon, 22 Jan 2024 09:26:40 -0600
byobu (6.7) released; urgency=medium byobu (6.7) released; 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

@ -1,26 +0,0 @@
name: byobu
version: 5.124
summary: text window manager, shell multiplexer, integrated DevOps environment
description: >
Byobu is Ubuntu's powerful text-based window manager, shell multiplexer, and
integrated DevOps environment.
Using Byobu, you can quickly create and move between different windows
over a single SSH connection or TTY terminal, split each of those windows into
multiple panes, monitor dozens of important statistics about your system,
detach and reattach to sessions later while your programs continue to run in
the background.
confinement: classic
grade: stable
parts:
byobu:
plugin: nil
stage-packages: [byobu]
stage:
- -bin/byobu
snap:
- -bin/byobu
apps:
byobu:
command: byobu

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.7 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