在用户的本地配置文件中覆盖byobu插件颜色的简单方法?

时间:2013-09-26 22:51:34

标签: byobu

我想更改所有内置byobu插件/指示灯的颜色,以匹配我的tmux / vim / emacs / terminal的曝光调色板。

有没有一种简单的方法可以在用户的​​rc文件中覆盖它们,还是我必须在/ usr / lib / byobu / *中更改它们?

1 个答案:

答案 0 :(得分:8)

事实上,这是可能的。

您需要获取color_map()函数的定义,该函数在/usr/lib/byobu/include/shutil中定义。

复制整个函数并将其粘贴到本地用户的~/.byobu/color.tmux配置文件中。该功能目前看起来像这样:

color_map() {
        case "$1" in
                "k") _RET="black" ;;
                "r") _RET="red" ;;
                "g") _RET="green" ;;
                "y") _RET="yellow" ;;
                "b") _RET="blue" ;;
                "m") _RET="magenta" ;;
                "c") _RET="cyan" ;;
                "w") _RET="white" ;;
                "d") _RET="black" ;;
                "K") _RET="brightblack" ;;
                "R") _RET="brightred" ;;
                "G") _RET="brightgreen" ;;
                "Y") _RET="brightyellow" ;;
                "B") _RET="brightblue" ;;
                "M") _RET="brightmagenta" ;;
                "C") _RET="brightcyan" ;;
                "W") _RET="brightwhite" ;;
                *) _RET= ;;
        esac
}

现在,您可以根据需要更改这些颜色。例如,如果将“Y”定义从“brightyellow”更改为“magenta”,您应该会看到系统负载指示器从黄色变为紫色。

如果你使用曝光,你可能想要使用Tmux的256色支持。在这种情况下,您可能希望指定256色选择而不是16色选择,例如“color52”您可以使用此xterm颜色图表作为指南:

xterm color chart

如果您确实创建了一个曝光的主题,请分享它,因为我很乐意将其作为一个选项包含在[Byobu][2]中!

完全披露:我是Byobu的作者和维护者。