mirror of
https://github.com/dustinkirkland/byobu
synced 2025-08-22 22:34:23 -07:00
* usr/bin/byobu-status, usr/lib/byobu/apport, usr/lib/byobu/battery,
usr/lib/byobu/cpu_freq, usr/lib/byobu/cpu_temp, usr/lib/byobu/custom, usr/lib/byobu/disk_io, usr/lib/byobu/ec2_cost, usr/lib/byobu/fan_speed, usr/lib/byobu/hostname, usr/lib/byobu/ip_address, usr/lib/byobu/load_average, usr/lib/byobu/logo, usr/lib/byobu/mail, usr/lib/byobu/mem_available, usr/lib/byobu/mem_used, usr/lib/byobu/menu, usr/lib/byobu/network, usr/lib/byobu/processes, usr/lib/byobu/raid, usr/lib/byobu/rcs_cost, usr/lib/byobu/reboot_required, usr/lib/byobu/release, usr/lib/byobu/services, usr/lib/byobu/swap, usr/lib/byobu/time_utc, usr/lib/byobu/updates_available, usr/lib/byobu/uptime, usr/lib/byobu/users, usr/lib/byobu/whoami, usr/lib/byobu/wifi_quality, usr/share/byobu/tests/byobu-time- notifications: - with advice from Scott Moser, almost all $(color ...) calls have been updated to inline calls to the color() function, which does the printf itself - this provides some measurable performance improvements
This commit is contained in:
parent
ab3cb30703
commit
d20cbe22ca
33 changed files with 87 additions and 45 deletions
18
debian/changelog
vendored
18
debian/changelog
vendored
|
@ -6,6 +6,24 @@ byobu (4.1) unreleased; urgency=low
|
|||
* usr/bin/byobu-status:
|
||||
- move byobu-status back to sh (dash?), for a 2x performance improvement
|
||||
- note that we cannot pass arguments to sourced scripts
|
||||
* usr/bin/byobu-status, usr/lib/byobu/apport, usr/lib/byobu/battery,
|
||||
usr/lib/byobu/cpu_freq, usr/lib/byobu/cpu_temp,
|
||||
usr/lib/byobu/custom, usr/lib/byobu/disk_io, usr/lib/byobu/ec2_cost,
|
||||
usr/lib/byobu/fan_speed, usr/lib/byobu/hostname,
|
||||
usr/lib/byobu/ip_address, usr/lib/byobu/load_average,
|
||||
usr/lib/byobu/logo, usr/lib/byobu/mail, usr/lib/byobu/mem_available,
|
||||
usr/lib/byobu/mem_used, usr/lib/byobu/menu, usr/lib/byobu/network,
|
||||
usr/lib/byobu/processes, usr/lib/byobu/raid, usr/lib/byobu/rcs_cost,
|
||||
usr/lib/byobu/reboot_required, usr/lib/byobu/release,
|
||||
usr/lib/byobu/services, usr/lib/byobu/swap, usr/lib/byobu/time_utc,
|
||||
usr/lib/byobu/updates_available, usr/lib/byobu/uptime,
|
||||
usr/lib/byobu/users, usr/lib/byobu/whoami,
|
||||
usr/lib/byobu/wifi_quality, usr/share/byobu/tests/byobu-time-
|
||||
notifications:
|
||||
- with advice from Scott Moser, almost all $(color ...) calls have
|
||||
been updated to inline calls to the color() function, which does
|
||||
the printf itself
|
||||
- this provides some measurable performance improvements
|
||||
|
||||
[ Scott Moser ]
|
||||
* usr/bin/byobu-status:
|
||||
|
|
|
@ -40,6 +40,7 @@ color() {
|
|||
case "$1" in
|
||||
"") return 0 ;;
|
||||
-) printf "$ESC{-}" ;;
|
||||
--) printf "$ESC{-} " ;;
|
||||
esc) printf "$ESC" ;;
|
||||
bold1) printf "$ESC{=b }" ;;
|
||||
bold2) printf "$ESC{+b }" ;;
|
||||
|
|
|
@ -36,4 +36,7 @@ if [ "$1" = "--detail" ]; then
|
|||
fi
|
||||
|
||||
# Print {!} if a /var/crash/*.crash file exists
|
||||
ls /var/crash/*.crash >/dev/null 2>&1 && printf "$(color y k){!}$(color -) "
|
||||
for i in /var/crash/*.crash; do
|
||||
color y k; printf "{!}"; color --
|
||||
exit 0
|
||||
done
|
||||
|
|
|
@ -50,14 +50,14 @@ for bat in $BATTERY /proc/acpi/battery/*; do
|
|||
|
||||
percent=$( echo "$rem" "$full" | awk '{printf "%.0f", 100*$1/$2}')
|
||||
if [ "$percent" -lt 33 ]; then
|
||||
color="$(color R k)"
|
||||
bcolor="$(color b R k)"
|
||||
color="R k"
|
||||
bcolor="b R k"
|
||||
elif [ "$percent" -lt 67 ]; then
|
||||
color="$(color Y k)"
|
||||
bcolor="$(color b Y k)"
|
||||
color="Y k"
|
||||
bcolor="b Y k"
|
||||
else
|
||||
color="$(color G k)"
|
||||
bcolor="$(color b G k)"
|
||||
color="G k"
|
||||
bcolor="b G k"
|
||||
fi
|
||||
percent="$percent%"
|
||||
|
||||
|
@ -77,6 +77,6 @@ for bat in $BATTERY /proc/acpi/battery/*; do
|
|||
sign="$state"
|
||||
;;
|
||||
esac
|
||||
printf "$bcolor%s$(color -)$color|%s|$(color -) " "$percent" "$sign"
|
||||
color $bcolor; printf "%s" "$percent"; color -; color $color; printf "|%s|" "$sign"; color --
|
||||
break
|
||||
done
|
||||
|
|
|
@ -37,4 +37,4 @@ else
|
|||
freq=$(echo "$freq" "$count" | awk '{printf "%.1f\n", $1/$2/1000}')
|
||||
fi
|
||||
fi
|
||||
printf "$(color b c W)%s$(color -)$(color c W)%s$(color -) " "$freq" "GHz"
|
||||
color b c W; printf "%s" "$freq"; color -; color c W; printf "%s" "GHz"; color --
|
||||
|
|
|
@ -48,7 +48,7 @@ for i in $MONITORED_TEMP /sys/class/hwmon/hwmon*/temp*_input /proc/acpi/ibm/ther
|
|||
t=$(echo "$t" | awk '{printf "%.0f", $1 *9/5 + 32}')
|
||||
unit="$ICON_F"
|
||||
fi
|
||||
printf "$(color b k Y)%s$(color -)$(color k Y)$ICON%s$(color -) " "$t" "$unit"
|
||||
color b k Y; printf "%s" "$t"; color -; color k Y; printf "%s%s" "$ICON" "$unit"; color --
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -46,7 +46,7 @@ for i in "$DATA/bin/"[0-9]*_*; do
|
|||
;;
|
||||
*)
|
||||
# Default to inverted coloring
|
||||
printf "$(color invert)$output$(color -) "
|
||||
color invert; printf "%s" "$output"; color --
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
|
@ -68,5 +68,5 @@ for i in "read" "write"; do
|
|||
fi
|
||||
fi
|
||||
[ "$rate" != "0" ] || continue
|
||||
printf "$(color b M W)$symbol$rate$(color -)$(color M W)$unit$(color -) "
|
||||
color b M W; printf "%s%s" "$symbol" "$rate"; color -; color M W; printf "%s" "$unit"; color --
|
||||
done
|
||||
|
|
|
@ -97,4 +97,4 @@ if [ "$DETAIL" = "1" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
printf "$(color K G)~\$$(color -)$(color b K G)%s$(color -) " $total_cost
|
||||
color K G; printf "A\$"; color -; color b K G; printf "%s" "$total_cost"; color --
|
||||
|
|
|
@ -32,7 +32,7 @@ DIR="/sys/class/hwmon"
|
|||
for i in $(find $DIR/*/*/ -type f -name "fan1_input"); do
|
||||
speed=$(cat "$i")
|
||||
if [ "$speed" -gt 0 ]; then
|
||||
printf "$(color bold1)%s$(color -)$(color none)%s$(color -) " "$speed" "rpm"
|
||||
color bold1; printf "%s" "$speed"; color -; color none; printf "rpm"; color --
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
@ -45,7 +45,7 @@ if [ -r /proc/i8k ]; then
|
|||
# use `modprobe i8k fan_mult=1` to disable if unneeded,
|
||||
# resulting in nonsensical speeds
|
||||
[ "$speed" -gt 10000 ] && speed=$((${speed} / 30))
|
||||
printf "$(color bold1)%s$(color -)$(color none)%s$(color -) " "$speed" "rpm"
|
||||
color bold1; printf "%s" "$speed"; color -; color none; printf "rpm"; color --
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -27,6 +27,5 @@ if [ "$1" = "--detail" ]; then
|
|||
fi
|
||||
|
||||
. "$DATA/status"
|
||||
[ "$whoami" = "1" ] && at="@"
|
||||
|
||||
printf "$(color bold2)%s%s$(color -)" "$at" $(hostname -s 2>/dev/null || hostname)
|
||||
color bold2; printf "%s" "$(hostname -s 2>/dev/null || hostname)"; color --
|
||||
|
|
|
@ -29,8 +29,6 @@ if [ "$1" = "--detail" ]; then
|
|||
fi
|
||||
|
||||
. "$DATA/status"
|
||||
[ "$hostname" = "1" ] && space=" "
|
||||
[ "$whoami" = "1" ] && space=" "
|
||||
|
||||
# Allow interface overrides in $DATA/statusrc
|
||||
if [ -n "$MONITORED_NETWORK" ]; then
|
||||
|
@ -57,4 +55,4 @@ case "$IPV6" in
|
|||
;;
|
||||
esac
|
||||
|
||||
printf "%s$(color bold2)%s$(color -)" "$space" "$ipaddr"
|
||||
color bold2; printf "%s" "$ipaddr"; color --
|
||||
|
|
|
@ -25,4 +25,4 @@ if [ "$1" = "--detail" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
printf "$(color Y k)%s$(color -) " $(awk '{print $1}' /proc/loadavg)
|
||||
color Y k; printf "%s" "$(awk '{print $1}' /proc/loadavg)"; color --
|
||||
|
|
|
@ -32,8 +32,11 @@ print_logo() {
|
|||
distro=`echo "$1" | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' `
|
||||
case "$distro" in
|
||||
*ubuntu*)
|
||||
#$MARKUP && printf "$(color b k r)%s$(color -)$(color k y)%s$(color -)$(color b k Y)%s$(color -)" "\\" "o" "/" || printf "\\o/"
|
||||
$MARKUP && printf "$(color m W)%s$(color -)" " U " || printf "\\o/"
|
||||
if $MARKUP; then
|
||||
color m W; printf " U "; color -
|
||||
else
|
||||
printf "\\o/"
|
||||
fi
|
||||
;;
|
||||
*altlinux*)
|
||||
logo="alt"
|
||||
|
|
|
@ -27,4 +27,6 @@ if [ "$1" = "--detail" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
[ -s "$mailfile" ] && printf "$(color b)$ICON$(color -) " || exit 0
|
||||
if [ -s "$mailfile" ]; then
|
||||
color b; printf "%s" "$ICON"; color --
|
||||
fi
|
||||
|
|
|
@ -40,4 +40,5 @@ else
|
|||
mem="$mem"
|
||||
unit="KB"
|
||||
fi
|
||||
printf "$(color b g W)%s$(color -)$(color g W)$unit%s$(color -)%s" "$mem" "$comma" "$whitespace"
|
||||
|
||||
color b g W; printf "%s" "$mem"; color -; color g W; printf "%s%s" "$unit" "$comma"; color -; printf "%s" "$whitespace"
|
||||
|
|
|
@ -26,4 +26,4 @@ if [ "$1" = "--detail" ]; then
|
|||
fi
|
||||
|
||||
f=$(free | awk '/buffers\/cache:/ {printf "%.0f", 100*$3/($3 + $4)}')
|
||||
printf "$(color b g W)%s$(color -)$(color g W)%%$(color -) " "$f"
|
||||
color b g W; printf "%s" "$f"; color -; color g W; printf "%%"; color --
|
||||
|
|
|
@ -33,4 +33,5 @@ else
|
|||
key="F9"
|
||||
fi
|
||||
|
||||
printf " $(color k w)%s:<$(color -)$(color b k w)$key$(color k w)>" `gettext "Menu"`
|
||||
text=$(gettext "Menu")
|
||||
color k w; printf "%s:<" "$text"; color -; color b k w; printf "%s" "$key"; color k w; printf ">"
|
||||
|
|
|
@ -85,5 +85,7 @@ for i in up down; do
|
|||
;;
|
||||
esac
|
||||
fi
|
||||
[ "$rate" != "0" ] && printf "$(color b m w)$symbol$rate$(color -)$(color m w)$unit$(color -) "
|
||||
if [ "$rate" != "0" ]; then
|
||||
color b m w; printf "%s%s" "$symbol" "$rate"; color -; color m w; printf "%s" "$unit"; color --
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -25,4 +25,5 @@ if [ "$1" = "--detail" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
printf "$(color b y w)%s$(color -)$(color y w)&$(color -) " $(ls -d /proc/[0-9]* 2>/dev/null| wc -l)
|
||||
count=$(ls -d /proc/[0-9]* 2>/dev/null| wc -l)
|
||||
color b y w; printf "%s" "$count"; color -; color y w; printf "&"; color --
|
||||
|
|
|
@ -41,5 +41,5 @@ if grep -qs \% /proc/mdstat; then
|
|||
fi
|
||||
|
||||
if [ -n "$msg" ]; then
|
||||
printf "$(color B w r)%s$(color -) " "$msg"
|
||||
color B w r; printf "%s" "$msg"; color --
|
||||
fi
|
||||
|
|
|
@ -96,4 +96,4 @@ if [ "$DETAIL" = "1" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
printf "$(color K G)~\$$(color -)$(color b K G)%s$(color -) " $total_cost
|
||||
color K G; printf "R\$%s"; color -; color b K G; printf "%s" "$total_cost"; color --
|
||||
|
|
|
@ -33,7 +33,11 @@ case "$1" in
|
|||
[ -e "$reboot" ] && printf "Yes" || printf "No"
|
||||
;;
|
||||
*)
|
||||
[ -e "$reboot" ] && printf "$(color b W)($(color -)$(color b b W)%s$(color -)$(color b W))$(color -) " "R"
|
||||
[ -e "$reload" ] && printf "$(color b W)<$(color -)$(color b b W)%s$(color -)$(color b W)>$(color -) " "F5"
|
||||
if [ -e "$reboot" ]; then
|
||||
color b W; printf "("; color -; color b b W; printf "R"; color -; color b W; printf ")"; color --
|
||||
fi
|
||||
if [ -e "$reload" ]; then
|
||||
color b W; printf "<"; color -; color b b W; printf "F5"; color -; color b W; printf ">"; color -; printf " "
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -66,4 +66,4 @@ else
|
|||
DISTRO="Byobu"
|
||||
fi
|
||||
|
||||
printf "$(color bold2)%s$(color -) " "$DISTRO"
|
||||
color bold2; printf "%s" "$DISTRO"; color --
|
||||
|
|
|
@ -70,4 +70,5 @@ for i in $SERVICES; do
|
|||
esac
|
||||
done
|
||||
[ -n "$output" ] || exit 0
|
||||
printf "$(color w c)${output#,}$(color -) "
|
||||
|
||||
color w c; printf "%s" ${output#,}; color --
|
||||
|
|
|
@ -37,4 +37,7 @@ else
|
|||
mem="$mem"
|
||||
unit="KB"
|
||||
fi
|
||||
printf "$(color b G W)s%s$(color -)$(color G W)%s,$(color -)$(color b G W)%s$(color -)$(color G W)%%$(color -) " "$mem" "$unit" "$f"
|
||||
|
||||
[ "$f" = "0" ] && exit 0
|
||||
|
||||
color b G W; printf "s%s" "$mem"; color -; color G W; printf "%s," "$unit"; color -; color b G W; printf "%s" "$f"; color -; color G W; printf "%%"; color --
|
||||
|
|
|
@ -24,7 +24,8 @@ case "$1" in
|
|||
date -u
|
||||
;;
|
||||
*)
|
||||
printf "$(color invert)%s UTC$(color -) " $(date -u +%H:%M)
|
||||
d=$(date -u +%H:%M)
|
||||
color invert; printf "%s UTC" "$d"; color --
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -39,13 +39,13 @@ print_updates() {
|
|||
s=$2
|
||||
if [ -n "$u" ]; then
|
||||
if [ "$u" -gt 0 ]; then
|
||||
printf "$(color b r W)%d$(color -)$(color r W)!" "$u"
|
||||
color b r W; printf "%d" "$u"; color -; color r W; printf "!"
|
||||
if [ -n "$s" ]; then
|
||||
if [ "$s" -gt 0 ]; then
|
||||
printf "!"
|
||||
fi
|
||||
fi
|
||||
printf "$(color -) "
|
||||
color --
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ if [ "$1" = "--detail" ]; then
|
|||
fi
|
||||
|
||||
u=$(sed "s/\..*$//" /proc/uptime)
|
||||
printf "$(color w b)"
|
||||
color w b
|
||||
if [ "$u" -gt 86400 ]; then
|
||||
echo "$u" | awk '{printf "%dd%dh", $1 / 86400, ($1 % 86400)/3600 }'
|
||||
elif [ "$u" -gt 3600 ]; then
|
||||
|
@ -39,4 +39,4 @@ elif [ "$u" -gt 60 ]; then
|
|||
else
|
||||
printf "%ds" "$u"
|
||||
fi
|
||||
printf "$(color -) "
|
||||
color --
|
||||
|
|
|
@ -31,4 +31,7 @@ fi
|
|||
# Note: we'd like to use pgrep -c, however, this isn't available in
|
||||
# busybox and some distro's pgrep (and it doesn't exit non-zero).
|
||||
count=`pgrep -f "sshd:.*@" | wc -l` || exit 0
|
||||
[ $count -gt 0 ] && printf "$(color b w r)%d$(color -)$(color w r)#$(color -) " $count
|
||||
|
||||
if [ $count -gt 0 ]; then
|
||||
color b w r; printf "%d" "$count"; color -; color w r; printf "#"; color --
|
||||
fi
|
||||
|
|
|
@ -24,4 +24,4 @@ if [ "$1" = "--detail" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
printf "$(color bold2)%s$(color -)" $(whoami)
|
||||
color bold2; printf "%s@" "$(whoami)"; color -
|
||||
|
|
|
@ -36,4 +36,5 @@ else
|
|||
quality=`echo "$quality" | awk -F/ '{printf "%.0f", 100*$1/$2}'`
|
||||
fi
|
||||
[ "$quality" = "0" ] && exit 0
|
||||
printf "${ICON}$(color b C k)%s$(color -)$(color C k)%s,$(color -)$(color b C k)%s$(color -)$(color C k)%%$(color -) " "$bitrate" "Mbps" "$quality"
|
||||
|
||||
printf "${ICON}"; color b C k; printf "%s" "$bitrate"; color -; color C k; printf "%s," "Mbps"; color -; color b C k; printf "%s" "$quality"; color -; color C k; printf "%%"; color --
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
|
||||
PKG=byobu
|
||||
RUNS=10
|
||||
RUNS=100
|
||||
[ -z "$BYOBU_PREFIX" ] && BYOBU_PREFIX="/usr"
|
||||
export BYOBU_PREFIX
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue