mirror of
https://github.com/dustinkirkland/byobu
synced 2025-08-22 06:23:19 -07:00
Compare commits
41 commits
Author | SHA1 | Date | |
---|---|---|---|
|
34ca6fec92 | ||
|
d647ef2138 | ||
|
2ca86a554d | ||
|
d315ccbd89 | ||
|
cd253f0229 | ||
|
0366c573a3 | ||
|
946c975277 | ||
|
fc1b4580a8 | ||
|
63df0a8c8e | ||
|
0514e53ba1 | ||
|
24cf51c2ad | ||
|
237d811ad8 | ||
|
a38bfe0925 | ||
|
a8e7ee7cbd | ||
|
7c1b47c560 | ||
|
6308b188ce | ||
|
4cf9c16930 | ||
|
00fe8ca7e8 | ||
|
bbded71918 | ||
|
cf44bfc895 | ||
|
3f60f2527c | ||
|
03a0ccea03 | ||
|
0603036501 | ||
|
e9c1ff5c37 | ||
|
d670c33554 | ||
|
a4af10201f | ||
|
4a2ebccb62 | ||
|
26528f1998 | ||
|
39e6bc7c6d | ||
|
ae62fbf6a2 | ||
|
8c30d81207 | ||
|
8f88171a6d | ||
|
9b42ffb922 | ||
|
ad32052231 | ||
|
18467fff88 | ||
|
5e3944666c | ||
|
773af0ddde | ||
|
b2f15f9ca5 | ||
|
d894c95e7e | ||
|
ba50b0ede8 | ||
|
dab56999d5 |
19 changed files with 298 additions and 83 deletions
112
debian/changelog
vendored
112
debian/changelog
vendored
|
@ -1,3 +1,115 @@
|
||||||
|
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:
|
||||||
|
- drop debian chroot from wolfi ps1
|
||||||
|
- drastically simplify the conditional logic
|
||||||
|
* 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
|
||||||
|
|
||||||
|
byobu (6.4) released; urgency=medium
|
||||||
|
|
||||||
|
* usr/lib/byobu/packages:
|
||||||
|
- add missing trailing whitespace
|
||||||
|
* usr/bin/byobu-janitor.in:
|
||||||
|
- enable colorized prompt for Wolfi ash shells
|
||||||
|
|
||||||
|
-- Dustin Kirkland <kirkland@ubuntu.com> Sun, 07 Jan 2024 16:09:39 -0600
|
||||||
|
|
||||||
|
byobu (6.3) released; urgency=medium
|
||||||
|
|
||||||
|
* usr/bin/byobu-janitor.in, usr/share/byobu/status/status:
|
||||||
|
- within Wolfi, default to our 2nd status line
|
||||||
|
* usr/lib/byobu/updates_available:
|
||||||
|
- silence apk update
|
||||||
|
* usr/share/byobu/profiles/bashrc:
|
||||||
|
- support ash for colorized prompt
|
||||||
|
|
||||||
|
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 02 Jan 2024 19:23:28 -0600
|
||||||
|
|
||||||
|
byobu (6.2) released; urgency=medium
|
||||||
|
|
||||||
|
* add a package count status item, useful for minimal containers
|
||||||
|
* added support for apk / Wolfi in updates_available
|
||||||
|
* added a status line customized for containers
|
||||||
|
* add wolfi color schemed PS1 prompt
|
||||||
|
|
||||||
|
-- Dustin Kirkland <kirkland@ubuntu.com> Tue, 02 Jan 2024 19:08:03 -0600
|
||||||
|
|
||||||
byobu (6.1) released; urgency=medium
|
byobu (6.1) released; urgency=medium
|
||||||
|
|
||||||
* usr/lib/byobu/include/shutil:
|
* usr/lib/byobu/include/shutil:
|
||||||
|
|
2
debian/compat
vendored
2
debian/compat
vendored
|
@ -1 +1 @@
|
||||||
9
|
13
|
||||||
|
|
4
debian/control
vendored
4
debian/control
vendored
|
@ -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
|
||||||
|
|
|
@ -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
|
|
|
@ -4,6 +4,7 @@
|
||||||
# environtment and smooth upgrades
|
# environtment and smooth upgrades
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009 Canonical Ltd.
|
# Copyright (C) 2009 Canonical Ltd.
|
||||||
|
# Copyright (C) 2024 Dustin Kirkland
|
||||||
#
|
#
|
||||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
|
@ -89,6 +90,8 @@ for f in status statusrc; do
|
||||||
if [ ! -r "$BYOBU_CONFIG_DIR/$f" ]; then
|
if [ ! -r "$BYOBU_CONFIG_DIR/$f" ]; then
|
||||||
# Copy from skeleton, if possible
|
# Copy from skeleton, if possible
|
||||||
cp -f "$BYOBU_PREFIX/share/$PKG/status/$f" "$BYOBU_CONFIG_DIR/$f"
|
cp -f "$BYOBU_PREFIX/share/$PKG/status/$f" "$BYOBU_CONFIG_DIR/$f"
|
||||||
|
# If we're running in Wolfi for the first time, cycle to the 2nd status
|
||||||
|
[ "$f" = "status" ] && [ "$BYOBU_DISTRO" = "Wolfi" ] && $BYOBU_PREFIX/lib/byobu/include/cycle-status
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -133,6 +136,18 @@ if [ -r /etc/skel/.bashrc ] && [ -r "$HOME/.bashrc" ] && [ -w "$HOME/.bashrc" ]
|
||||||
fi
|
fi
|
||||||
[ -r "$BYOBU_CONFIG_DIR/prompt" ] || printf "[ -r ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc ] && . ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc #byobu-prompt#\n" > "$BYOBU_CONFIG_DIR/prompt"
|
[ -r "$BYOBU_CONFIG_DIR/prompt" ] || printf "[ -r ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc ] && . ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc #byobu-prompt#\n" > "$BYOBU_CONFIG_DIR/prompt"
|
||||||
|
|
||||||
|
# Affects: New Wolfi installs -- add colorized prompt to local .profile
|
||||||
|
if [ "$BYOBU_DISTRO" = "Wolfi" ]; then
|
||||||
|
# Wolfi defaults to "ash", which uses .profile
|
||||||
|
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
|
# Affects: Upgrades from <= byobu 5.126, clear out ec2/rcs cost statuses
|
||||||
rm -f "$BYOBU_RUN_DIR"/cache.tmux/ec2_cost* "$BYOBU_RUN_DIR"/cache.tmux/rcs_cost* "$BYOBU_RUN_DIR"/status.tmux/ec2_cost* "$BYOBU_RUN_DIR"/status.tmux/rcs_cost*
|
rm -f "$BYOBU_RUN_DIR"/cache.tmux/ec2_cost* "$BYOBU_RUN_DIR"/cache.tmux/rcs_cost* "$BYOBU_RUN_DIR"/status.tmux/ec2_cost* "$BYOBU_RUN_DIR"/status.tmux/rcs_cost*
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,8 @@ if [ ! -e "$FLAG" ]; then
|
||||||
touch "$FLAG"
|
touch "$FLAG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$SHELL" -a -x "$SHELL" ] && exec "$SHELL" || exec /bin/sh
|
# This needs to be a -l login shell, in order to source profiles
|
||||||
|
# and colorize the prompt
|
||||||
|
[ -n "$SHELL" -a -x "$SHELL" ] && exec "$SHELL" -l || exec /bin/sh -l
|
||||||
|
|
||||||
# vi: syntax=sh ts=4 noexpandtab
|
# vi: syntax=sh ts=4 noexpandtab
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#
|
#
|
||||||
# byobu - wrapper script
|
# byobu - wrapper script
|
||||||
# Copyright (C) 2008-2009 Canonical Ltd.
|
# Copyright (C) 2008-2009 Canonical Ltd.
|
||||||
# Copyright (C) 2008-2014 Dustin Kirkland
|
# Copyright (C) 2008-2024 Dustin Kirkland
|
||||||
#
|
#
|
||||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
|
@ -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=5.134
|
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.
|
||||||
|
@ -32,6 +32,13 @@ if [ ! -O "$HOME" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
# Source local byobu config
|
||||||
if [ -r "$HOME/.byoburc" ]; then
|
if [ -r "$HOME/.byoburc" ]; then
|
||||||
# Ensure that this configuration is usable
|
# Ensure that this configuration is usable
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
libdirdir = $(prefix)/lib/@PACKAGE@
|
libdirdir = $(prefix)/lib/@PACKAGE@
|
||||||
libdir_SCRIPTS = apport arch battery cpu_count cpu_freq cpu_temp color custom date disk disk_io distro entropy fan_speed hostname ip_address load_average logo mail memory menu network processes raid reboot_required release services session swap time time_binary time_utc trash updates_available uptime users whoami wifi_quality
|
libdir_SCRIPTS = apport arch battery cpu_count cpu_freq cpu_temp color custom date disk disk_io distro entropy fan_speed hostname ip_address load_average logo mail memory menu network packages processes raid reboot_required release services session swap time time_binary time_utc trash updates_available uptime users whoami wifi_quality
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -25,6 +25,9 @@ PKG="byobu"
|
||||||
|
|
||||||
PCT="%"
|
PCT="%"
|
||||||
|
|
||||||
|
# Some shell(s) don't set the USER environment value (looking at you, ash)
|
||||||
|
[ -z "$USER" ] && export USER=$(whoami)
|
||||||
|
|
||||||
# Support two different backends (screen/tmux)
|
# Support two different backends (screen/tmux)
|
||||||
if [ -z "$BYOBU_BACKEND" ]; then
|
if [ -z "$BYOBU_BACKEND" ]; then
|
||||||
[ -r "/etc/byobu/backend" ] && . "/etc/byobu/backend"
|
[ -r "/etc/byobu/backend" ] && . "/etc/byobu/backend"
|
||||||
|
|
|
@ -258,6 +258,7 @@ status_freq() {
|
||||||
menu) _RET=9999991 ;;
|
menu) _RET=9999991 ;;
|
||||||
network) _RET=3 ;;
|
network) _RET=3 ;;
|
||||||
notify_osd) _RET=9999991 ;;
|
notify_osd) _RET=9999991 ;;
|
||||||
|
packages) _RET=211 ;;
|
||||||
processes) _RET=7 ;;
|
processes) _RET=7 ;;
|
||||||
raid) _RET=59 ;;
|
raid) _RET=59 ;;
|
||||||
reboot_required) _RET=5 ;;
|
reboot_required) _RET=5 ;;
|
||||||
|
|
53
usr/lib/byobu/packages
Executable file
53
usr/lib/byobu/packages
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
#
|
||||||
|
# packages: count the number of packages installed
|
||||||
|
#
|
||||||
|
# Copyright (C) 2023 Dustin Kirkland
|
||||||
|
#
|
||||||
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
__packages_detail() {
|
||||||
|
if eval $BYOBU_TEST dpkg >/dev/null 2>&1; then
|
||||||
|
dpkg -l | grep ^ii
|
||||||
|
fi
|
||||||
|
if eval $BYOBU_TEST snap >/dev/null 2>&1; then
|
||||||
|
snap list
|
||||||
|
fi
|
||||||
|
if eval $BYOBU_TEST apk >/dev/null 2>&1; then
|
||||||
|
apk info
|
||||||
|
fi
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
__packages() {
|
||||||
|
local packages=0
|
||||||
|
if eval $BYOBU_TEST dpkg >/dev/null 2>&1; then
|
||||||
|
count=$(dpkg -l | grep -c ^ii)
|
||||||
|
packages=$((packages+count))
|
||||||
|
fi
|
||||||
|
if eval $BYOBU_TEST snap >/dev/null 2>&1; then
|
||||||
|
count=$(snap list | grep -c -v "^Name\s")
|
||||||
|
packages=$((packages+count))
|
||||||
|
fi
|
||||||
|
if eval $BYOBU_TEST apk >/dev/null 2>&1; then
|
||||||
|
count=$(apk info | wc -l)
|
||||||
|
packages=$((packages+count))
|
||||||
|
fi
|
||||||
|
[ -n "$packages" ] || return
|
||||||
|
color w y; printf "[%s]" "$count"; color --;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# vi: syntax=sh ts=4 noexpandtab
|
|
@ -3,7 +3,7 @@
|
||||||
# updates_available: calculate and cache the number of updates available
|
# updates_available: calculate and cache the number of updates available
|
||||||
#
|
#
|
||||||
# Copyright (C) 2008 Canonical Ltd.
|
# Copyright (C) 2008 Canonical Ltd.
|
||||||
# Copyright (C) 2011-2014 Dustin Kirkland
|
# Copyright (C) 2011-2023 Dustin Kirkland
|
||||||
#
|
#
|
||||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
|
@ -81,6 +81,13 @@ ___update_cache() {
|
||||||
else
|
else
|
||||||
brew outdated | wc -l >$mycache &
|
brew outdated | wc -l >$mycache &
|
||||||
fi
|
fi
|
||||||
|
elif eval $BYOBU_TEST apk >/dev/null; then
|
||||||
|
# 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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,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
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# byobu's tmux f-key keybindings
|
# byobu's tmux f-key keybindings
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2014 Dustin Kirkland <kirkland@byobu.org>
|
# Copyright (C) 2011-2024 Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
# Authors: 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
|
# Byobu's Keybindings
|
||||||
# Documented in: $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt
|
# Documented in: $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt
|
||||||
bind-key -n F1 new-window -n config byobu-config
|
bind-key -n F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
|
||||||
bind-key -n S-F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
|
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 F2 new-window -c "#{pane_current_path}" \; rename-window "-"
|
||||||
bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}"
|
bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# byobu's bashrc -- colorize the prompt
|
# byobu's bashrc -- colorize the prompt
|
||||||
# Copyright (C) 2014 Dustin Kirkland
|
# Copyright (C) 2014 Dustin Kirkland
|
||||||
|
# Copyright (C) 2023, 2024 Dustin Kirkland
|
||||||
#
|
#
|
||||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
|
@ -22,22 +23,45 @@ case "$TERM" in
|
||||||
export TERM="xterm-256color"
|
export TERM="xterm-256color"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if [ -n "$TMUX" ] || [ "${TERMCAP#*screen}" != "${TERMCAP}" ]; then
|
|
||||||
# Ensure that we're in bash, in a byobu environment
|
|
||||||
if [ -n "$BYOBU_BACKEND" ] && [ -n "$BASH" ]; then
|
|
||||||
byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e "$e "; }
|
|
||||||
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
|
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
|
||||||
byobu_prompt_symbol() {
|
[ -z "$USER" ] && export USER=$(whoami)
|
||||||
if [ "$USER" = "root" ]; then
|
[ -d "$BYOBU_PREFIX" ] || BYOBU_PREFIX="/usr"
|
||||||
printf "%s" "#";
|
[ -r "$BYOBU_PREFIX/lib/byobu/include/dirs" ] && . "$BYOBU_PREFIX/lib/byobu/include/dirs"
|
||||||
else
|
|
||||||
printf "%s" "\$"
|
byobu_prompt_git() { git branch 2>/dev/null | sed -e "/^[^*]/d" -e "s/* \(.*\)/ (\1)/"; }
|
||||||
fi
|
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
|
||||||
|
# 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
|
case "$BYOBU_DISTRO" in
|
||||||
"Ubuntu")
|
"Ubuntu")
|
||||||
# Use Ubuntu colors (grey / orange / aubergine)
|
# Use Ubuntu colors (grey / orange / aubergine)
|
||||||
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 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
|
||||||
|
@ -52,10 +76,15 @@ if [ -n "$TMUX" ] || [ "${TERMCAP#*screen}" != "${TERMCAP}" ]; then
|
||||||
. "$BYOBU_RUN_DIR/dircolors"
|
. "$BYOBU_RUN_DIR/dircolors"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
"Wolfi")
|
||||||
|
# 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
|
||||||
|
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
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
# and $HOME/.byobu otherwise.
|
# and $HOME/.byobu otherwise.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Canonical Ltd.
|
# Copyright (C) 2009-2011 Canonical Ltd.
|
||||||
|
# Copyright (C) 2023 Dustin Kirkland
|
||||||
#
|
#
|
||||||
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
||||||
#
|
#
|
||||||
|
@ -26,12 +27,13 @@
|
||||||
screen_upper_left="color"
|
screen_upper_left="color"
|
||||||
screen_upper_right="color whoami hostname ip_address menu"
|
screen_upper_right="color whoami hostname ip_address menu"
|
||||||
screen_lower_left="color logo distro release #arch session"
|
screen_lower_left="color logo distro release #arch session"
|
||||||
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
|
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes #packages load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
|
||||||
|
|
||||||
# Tmux has one status line, with 2 halves for status
|
# Tmux has one status line, with 2 halves for status
|
||||||
tmux_left="logo #distro release #arch session"
|
tmux_left="logo #distro release #arch session"
|
||||||
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
|
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
|
||||||
tmux_right="#network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #whoami #hostname #ip_address #time_utc date time"
|
tmux_right="#network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #fan_speed #cpu_temp #battery #wifi_quality #processes #packages load_average cpu_count cpu_freq memory #swap disk #whoami #hostname #ip_address #time_utc date time"
|
||||||
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
|
#tmux_right="network disk_io uptime processes packages load_average cpu_count cpu_freq memory disk date time"
|
||||||
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime fan_speed cpu_temp battery wifi_quality #processes #packages load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
|
||||||
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
|
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes #packages load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
||||||
|
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime fan_speed cpu_temp #battery #wifi_quality #processes #packages #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.TH byobu-prompt 1 "26 July 2013" byobu "byobu"
|
.TH byobu-prompt 1 "16 January 2024" byobu "byobu"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice color prompt to your shell configuration
|
byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice color prompt with a previous command timer to your shell configuration
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBbyobu-prompt\fP
|
\fBbyobu-prompt\fP
|
||||||
|
@ -11,7 +11,7 @@ byobu-prompt, byobu-enable-prompt, byobu-disable-prompt \- add and remove a nice
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
\fBbyobu-enable-prompt\fP will add one line to your \fI~/.bashrc\fP.
|
\fBbyobu-enable-prompt\fP will add one line to your \fI~/.bashrc\fP.
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,8 @@ The background colors of the \fBbyobu\fP status lines can be adjusted by editing
|
||||||
|
|
||||||
\fBnotify_osd\fP \- Send on-screen notification messages to screen's notification buffer
|
\fBnotify_osd\fP \- Send on-screen notification messages to screen's notification buffer
|
||||||
|
|
||||||
|
\fBpackages\fP \- total number of packages installed on the system; displayed in the lower bar in yellow text on a white background inside of square brackets, '[xxx]'
|
||||||
|
|
||||||
\fBprocesses\fP \- total number of processes running on the system; displayed in the lower bar in white text on a dark yellow background with a trailing '&' indicating 'background processes'
|
\fBprocesses\fP \- total number of processes running on the system; displayed in the lower bar in white text on a dark yellow background with a trailing '&' indicating 'background processes'
|
||||||
|
|
||||||
\fBreboot_required\fP \- symbol present if a reboot is required following a system update; displayed in the lower bar white text on a blue background by the symbol '(R)'; additionally, reboot_required will print '<F5>' in white text on a blue background, if Byobu requires you to reload your profile to affect some changes; it will also detect if your system is currently in \fBpowernap\fP(8) state and if so print '.zZ'; if your system is currently performing an \fBunattended-upgrade\fP(1) you will see a white warning sign on a red background.
|
\fBreboot_required\fP \- symbol present if a reboot is required following a system update; displayed in the lower bar white text on a blue background by the symbol '(R)'; additionally, reboot_required will print '<F5>' in white text on a blue background, if Byobu requires you to reload your profile to affect some changes; it will also detect if your system is currently in \fBpowernap\fP(8) state and if so print '.zZ'; if your system is currently performing an \fBunattended-upgrade\fP(1) you will see a white warning sign on a red background.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue