From a3cc7d6cf277e4a83db4a1f92fd86ebeadd3d30d Mon Sep 17 00:00:00 2001 From: Dustin Kirkland Date: Sat, 20 Aug 2011 10:32:35 -0700 Subject: [PATCH] * usr/bin/byobu, usr/bin/byobu-janitor, usr/lib/byobu/.shutil: - flatten bold/dim/bright modifiers when in 8-color mode --- debian/changelog | 2 ++ usr/bin/byobu | 2 +- usr/bin/byobu-janitor | 2 ++ usr/lib/byobu/.shutil | 62 +++++++++++++++++++++++++------------------ 4 files changed, 41 insertions(+), 27 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6aeeafa0..9fd2b99b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Thu, 11 Aug 2011 10:31:31 -0500 diff --git a/usr/bin/byobu b/usr/bin/byobu index 9c365295..f8217c9c 100755 --- a/usr/bin/byobu +++ b/usr/bin/byobu @@ -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 diff --git a/usr/bin/byobu-janitor b/usr/bin/byobu-janitor index b5e60a39..01cf3bdf 100755 --- a/usr/bin/byobu-janitor +++ b/usr/bin/byobu-janitor @@ -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" diff --git a/usr/lib/byobu/.shutil b/usr/lib/byobu/.shutil index 90fa7a9b..9d1de475 100755 --- a/usr/lib/byobu/.shutil +++ b/usr/lib/byobu/.shutil @@ -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]" ;; *)