答案1
在 tmux 术语中,这些预览实际上并不是“窗格”,尽管它们以类似的方式共享终端区域。因此(在当前的tmux
2.7 中),它们没有自己的配置设置,并将使用active-window-style
.如果您认为这是一个疏忽,您可以提出功能要求:
为什么 tmux 不做 $x ?
请将功能请求通过电子邮件发送至[电子邮件受保护]。
打补丁并重新编译
或者,如果您习惯tmux
从源代码构建,则修改负责的函数也很容易。
预览之间的垂直线由 绘制screen_write_vline
,所有垂直线周围的框由 绘制screen_write_box
。这两个函数都可以在screen-write.c
,并包含这一行:
memcpy(&gc, &grid_default_cell, sizeof gc);
gc
类型为struct grid_cell
,其中包括成员fg
和 ,bg
分别代表前台和后台。
grid_default_cell
是一个const
,定义于grid.c
。和fg
都是bg
8,意思是:它将使用与、 或(如果未设置)终端自己的默认值default
相同的值。window-active-style
要覆盖此设置,您可以gc
随后立即更改:
memcpy(&gc, &grid_default_cell, sizeof gc);
gc.fg = 1;
这会将前景设置为红色,然后再绘制相关线条。
颜色到整数的转换
在配置文件中,tmux
识别以下格式的颜色:
颜色是以下之一:黑色、红色、绿色、黄色、蓝色、品红色、青色、白色、aixterm 明亮变体(如果支持:明亮红色、明亮绿色等)、256 色集中的 color0 到 color255(默认)、或十六进制 RGB 字符串,例如“#ffffff”。
在源中设置它们时,您必须将它们作为int
.从读取函数colour_fromstring
在colour.c
,你可以找到它们的数值表示:
- 基本颜色:0-7
- 默认值:8
- 基本颜色的“明亮”版本:90-97
- 索引来自256个调色板:
COLOUR_FLAG_256 |
指数 - 真彩色(24 位 RGB):
COLOUR_FLAG_RGB | 0x
RRGGBB