Compare commits

..

No commits in common. "master" and "6.5" have entirely different histories.

12 changed files with 45 additions and 145 deletions

75
debian/changelog vendored
View file

@ -1,76 +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 <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:
- have F1 pull up the keybindings text
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 22 Jan 2024 09:26:40 -0600
byobu (6.7) released; urgency=medium
* usr/bin/byobu.in:
- if we're in a busybox/ash shell, but real bash is available, use bash
-- Dustin Kirkland <kirkland@ubuntu.com> Sat, 20 Jan 2024 21:15:53 -0600
byobu (6.6) released; urgency=medium
* usr/share/byobu/profiles/bashrc:
- export PS1
* usr/bin/byobu-janitor.in:
- add byobu prompt to .bashrc in Wolfi
* usr/share/byobu/profiles/bashrc, usr/share/man/man1/byobu-prompt.1:
- add a bash timer, that shows the runtime of the previous command
at the beginning of the prompt
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 16 Jan 2024 20:11:10 -0600
byobu (6.5) released; urgency=medium
* usr/share/byobu/profiles/bashrc:
@ -79,7 +6,7 @@ byobu (6.5) released; urgency=medium
* usr/bin/byobu-shell.in:
- need a -l login shell to source profiles and colorize PS1
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 16 Jan 2024 13:04:06 -0600
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 09 Jan 2024 07:32:57 -0600
byobu (6.4) released; urgency=medium

2
debian/compat vendored
View file

@ -1 +1 @@
13
9

4
debian/control vendored
View file

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

26
snap/snapcraft.yaml Normal file
View file

@ -0,0 +1,26 @@
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

@ -142,10 +142,6 @@ if [ "$BYOBU_DISTRO" = "Wolfi" ]; then
if ! (grep -qs "#byobu-prompt#$" "$HOME/.profile"); then
printf "[ -r $BYOBU_CONFIG_DIR/prompt ] && . $BYOBU_CONFIG_DIR/prompt #byobu-prompt#\n" >> "$HOME/.profile"
fi
# Wolfi also has bash, which uses .bashrc
if ! (grep -qs "#byobu-prompt#$" "$HOME/.bashrc"); then
printf "[ -r $BYOBU_CONFIG_DIR/prompt ] && . $BYOBU_CONFIG_DIR/prompt #byobu-prompt#\n" >> "$HOME/.bashrc"
fi
fi
# Affects: Upgrades from <= byobu 5.126, clear out ec2/rcs cost statuses

View file

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

View file

@ -2,7 +2,7 @@
#
# byobu - wrapper script
# Copyright (C) 2008-2009 Canonical Ltd.
# Copyright (C) 2008-2024 Dustin Kirkland
# Copyright (C) 2008-2014 Dustin Kirkland
#
# Authors: Dustin Kirkland <kirkland@byobu.org>
#
@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
VERSION=6.12
VERSION=5.134
PKG="byobu"
# All sorts of things go wrong if you don't own your $HOME dir.
@ -32,13 +32,6 @@ if [ ! -O "$HOME" ]; then
exit 1
fi
# If we're in a busybox/ash shell (or shell is undefined),
# and a full bash shell is available, then please let's use bash in byobu.
# Other shells are supported, but your mileage may vary...
if [ "$SHELL" = "/bin/ash" ] || [ "$SHELL" = "ash" ] || [ -z "$SHELL" ]; then
[ -x "/bin/bash" ] && export SHELL="/bin/bash"
fi
# Source local byobu config
if [ -r "$HOME/.byoburc" ]; then
# Ensure that this configuration is usable

View file

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

View file

@ -85,9 +85,6 @@ ___update_cache() {
# Wolfi updates are cheap (~1s); so update cache every time
apk update 2>&1 >/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
}
@ -144,9 +141,6 @@ ___update_needed() {
# formulae database was updated
[ "$(brew --prefix)/Library/Formula" -nt "$mycache" ]
return $?
elif [ -e "/var/cache/dnf/packages.db" ]; then
[ "/var/cache/dnf/packages.db" -nt "$mycache" ]
return $?
fi
return 1
}

View file

@ -1,7 +1,7 @@
###############################################################################
# byobu's tmux f-key keybindings
#
# Copyright (C) 2011-2024 Dustin Kirkland <kirkland@byobu.org>
# Copyright (C) 2011-2014 Dustin Kirkland <kirkland@byobu.org>
#
# Authors: Dustin Kirkland <kirkland@byobu.org>
#
@ -26,7 +26,7 @@ source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.tmux.disable
# Byobu's Keybindings
# Documented in: $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt
bind-key -n F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
bind-key -n F1 new-window -n config byobu-config
bind-key -n S-F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
bind-key -n F2 new-window -c "#{pane_current_path}" \; rename-window "-"
bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}"

View file

@ -25,43 +25,12 @@ case "$TERM" in
esac
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
[ -z "$USER" ] && export USER=$(whoami)
[ -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_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
# Uses bash 5.0's EPOCHREALTIME
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]/}
duration=$((endtime - starttime))
days=$((duration/1000000/60/60/24))
hours=$((duration/1000000/60/60%24))
minutes=$((duration/1000000/60%60))
seconds=$((duration/1000000%60))
nanoseconds=$((duration-days*1000000*60*60*24-hours*1000000*60*60-minutes*1000000*60-seconds*1000000))
nanoseconds=$(printf "%.6d" ${nanoseconds})
microseconds=${nanoseconds:0:3}
# Shorten our string as much as possible
[ "$days" = "0" ] && days= || days="${days}d "
[ "$hours" = "0" ] && hours= || hours="${hours}h "
[ "$minutes" = "0" ] && minutes= || minutes="${minutes}m "
str="${days}${hours}${minutes}${seconds}.${microseconds}s"
printf "[%s]" "$str" 1>&2
}
# Requires Bash 4.x
export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$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) "
PS1="${debian_chroot:+($debian_chroot)}\[\e[38;5;202m\]\$(byobu_prompt_status)\[\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 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
@ -77,14 +46,14 @@ case "$BYOBU_DISTRO" in
fi
;;
"Wolfi")
# Use Wolfi colors (pink / purple / blue)
# Use Wolfi colors (pink / purple / grey)
# 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\]\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\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_symbol)\[\e[00m\] "
;;
esac

View file

@ -1,6 +1,6 @@
.TH byobu-prompt 1 "16 January 2024" byobu "byobu"
.TH byobu-prompt 1 "26 July 2013" byobu "byobu"
.SH NAME
byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice color prompt with a previous command timer to your shell configuration
byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice color prompt to your shell configuration
.SH SYNOPSIS
\fBbyobu-prompt\fP
@ -11,7 +11,7 @@ byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice
.SH DESCRIPTION
Byobu provides a special PS0 and PS1 prompt command, compatible with Bash shells. It will display the previous command's total runtime and exit code, if it's not zero. It will use 3 separate colors for the local username, hostname, and the current working directory.
Byobu provides a special PS1 prompt command, compatible with Bash shells. It will display the previous command's exit code, if it's not zero. It will use 3 separate colors for the local username, hostname, and the current working directory.
\fBbyobu-enable-prompt\fP will add one line to your \fI~/.bashrc\fP.