* usr/bin/byobu, usr/bin/byobu-janitor, usr/lib/byobu/.shutil:

- flatten bold/dim/bright modifiers when in 8-color mode
This commit is contained in:
Dustin Kirkland 2011-08-20 10:32:35 -07:00
commit a3cc7d6cf2
4 changed files with 41 additions and 27 deletions

2
debian/changelog vendored
View file

@ -74,6 +74,8 @@ byobu (4.30) unreleased; urgency=low
* usr/lib/byobu/reboot_required:
* usr/bin/byobu-select-session:
- add session selection support for tmux
* usr/bin/byobu, usr/bin/byobu-janitor, usr/lib/byobu/.shutil:
- flatten bold/dim/bright modifiers when in 8-color mode
-- Dustin Kirkland <kirkland@ubuntu.com> Thu, 11 Aug 2011 10:31:31 -0500

View file

@ -79,7 +79,7 @@ case $BYOBU_BACKEND in
# Check if our terminfo supports 256 colors
if command -v tput >/dev/null; then
if [ "$(tput colors 2>/dev/null || echo 0)" = "256" ]; then
SCREEN_TERM="-T screen-256color"
export SCREEN_TERM="-T screen-256color"
fi
fi
# Some users want to maintain separate configurations

View file

@ -36,6 +36,8 @@ for i in "$BYOBU_PREFIX/lib/$PKG/"*; do
[ -n "$num" ] && echo "backtick $num # $i" >> "$BYOBU_CONFIG_DIR/backticks"
fi
done
# Ensure that all updates get run immediately
rm -rf "$BYOBU_RUN_DIR/.last.$BYOBU_BACKEND"
# Exit immediately, if we're not forced, and there is no reload flag
FLAG="$BYOBU_RUN_DIR/reload-required"

View file

@ -27,31 +27,40 @@ color_screen() {
-) printf "$ESC{-}" ;;
--) printf "$ESC{-} " ;;
esc) printf "$ESC" ;;
bold1) printf "$ESC{=b }" ;;
bold2) printf "$ESC{+b }" ;;
bold1) [ -n "$SCREEN_TERM" ] && printf "$ESC{=b }" ;;
bold2) [ -n "$SCREEN_TERM" ] && printf "$ESC{+b }" ;;
none) printf "$ESC{= }" ;;
invert) printf "$ESC{=r }" ;;
*)
if [ "$#" = "2" ]; then
[ "$MONOCHROME" = "1" ] && printf "$ESC{= }" || printf "$ESC{= $1$2}"
else
[ "$MONOCHROME" = "1" ] && printf "$ESC{=$1 }" || printf "$ESC{=$1 $2$3}"
fi
local attr fg bg
case $# in
2)
attr= ; fg=$1 ; bg=$2
;;
3)
attr= ; fg=$2 ; bg=$3
;;
esac
[ "$MONOCHROME" = "1" ] && (fg= ; bg= )
[ -n "$SCREEN_TERM" ] || attr=
printf "$ESC{=$attr $fg$bg}"
;;
esac
}
color_map() {
local mod
[ -n "$SCREEN_TERM" ] && mod=",dim"
case "$1" in
k) _RET=black,dim ;;
r) _RET=red,dim ;;
g) _RET=green,dim ;;
y) _RET=yellow,dim ;;
b) _RET=blue,dim ;;
m) _RET=magenta,dim ;;
c) _RET=cyan,dim ;;
w) _RET=white,dim ;;
d) _RET=color0,dim ;;
k) _RET="black$mod" ;;
r) _RET="red$mod" ;;
g) _RET="green$mod" ;;
y) _RET="yellow$mod" ;;
b) _RET="blue$mod" ;;
m) _RET="magenta$mod" ;;
c) _RET="cyan$mod" ;;
w) _RET="white$mod" ;;
d) _RET="color0$mod" ;;
K) _RET="#555555" ;;
R) _RET="#FF0000" ;;
G) _RET="#00FF00" ;;
@ -66,16 +75,17 @@ color_map() {
attr_map() {
case "$1" in
d) _RET=,dim ;;
u) _RET=,underscore ;;
b) _RET=,bold ;;
r) _RET=,reverse ;;
s) _RET=,standout ;;
B) _RET=,blinking ;;
h) _RET=,hidden ;;
i) _RET=,italics ;;
*) _RET= ;;
d) _RET=,dim ;;
u) _RET=,underscore ;;
b) _RET=,bold ;;
r) _RET=,reverse ;;
s) _RET=,standout ;;
B) _RET=,blinking ;;
h) _RET=,hidden ;;
i) _RET=,italics ;;
*) _RET= ;;
esac
[ -n "$SCREEN_TERM" ] || _RET=
}
color_tmux() {
@ -85,7 +95,7 @@ color_tmux() {
-) printf "#[default]" ;;
--) printf "#[default] " ;;
esc) printf "" ;;
bold*) printf "#[fg=bold]" ;;
bold*) [ -n "$SCREEN_TERM" ] && printf "#[fg=bold]" ;;
none) printf "#[default]" ;;
invert) printf "#[reverse]" ;;
*)