diff --git a/debian/changelog b/debian/changelog index 0fa5450a..4d053b26 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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 - - 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 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 Tue, 23 Jan 2024 09:43:03 -0600 - -byobu (6.9-0ubuntu1) noble; urgency=medium - - * snap: - - removing, unused, never finished - - -- Dustin Kirkland 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 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 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 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 Tue, 16 Jan 2024 13:04:06 -0600 + -- Dustin Kirkland Tue, 09 Jan 2024 07:32:57 -0600 byobu (6.4) released; urgency=medium diff --git a/debian/compat b/debian/compat index b1bd38b6..ec635144 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -13 +9 diff --git a/debian/control b/debian/control index fa02a924..856808af 100644 --- a/debian/control +++ b/debian/control @@ -4,9 +4,9 @@ Priority: optional Maintainer: Dustin Kirkland Uploaders: Antoine Beaupré 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 diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 00000000..d973624c --- /dev/null +++ b/snap/snapcraft.yaml @@ -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 diff --git a/usr/bin/byobu-janitor.in b/usr/bin/byobu-janitor.in index 30e03f5d..b35a00d6 100755 --- a/usr/bin/byobu-janitor.in +++ b/usr/bin/byobu-janitor.in @@ -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 diff --git a/usr/bin/byobu-launcher-install.in b/usr/bin/byobu-launcher-install.in index 4ad6d0d3..a73db22f 100755 --- a/usr/bin/byobu-launcher-install.in +++ b/usr/bin/byobu-launcher-install.in @@ -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" } diff --git a/usr/bin/byobu.in b/usr/bin/byobu.in index b04eb1ab..b3616a4e 100755 --- a/usr/bin/byobu.in +++ b/usr/bin/byobu.in @@ -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 # @@ -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.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 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/lib/byobu/updates_available b/usr/lib/byobu/updates_available index 6624255c..9bcc8202 100755 --- a/usr/lib/byobu/updates_available +++ b/usr/lib/byobu/updates_available @@ -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 } diff --git a/usr/share/byobu/keybindings/f-keys.tmux b/usr/share/byobu/keybindings/f-keys.tmux index fc2f4a5a..6a56aa89 100644 --- a/usr/share/byobu/keybindings/f-keys.tmux +++ b/usr/share/byobu/keybindings/f-keys.tmux @@ -1,7 +1,7 @@ ############################################################################### # byobu's tmux f-key keybindings # -# Copyright (C) 2011-2024 Dustin Kirkland +# Copyright (C) 2011-2014 Dustin Kirkland # # Authors: Dustin Kirkland # @@ -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}" diff --git a/usr/share/byobu/profiles/bashrc b/usr/share/byobu/profiles/bashrc index 502b55f7..de7a8177 100644 --- a/usr/share/byobu/profiles/bashrc +++ b/usr/share/byobu/profiles/bashrc @@ -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 diff --git a/usr/share/man/man1/byobu-prompt.1 b/usr/share/man/man1/byobu-prompt.1 index 2ad80c31..1e0e36fd 100644 --- a/usr/share/man/man1/byobu-prompt.1 +++ b/usr/share/man/man1/byobu-prompt.1 @@ -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.