Если вы не хотите писать собственный код замены Windows для того места, где вы используете ioctl ()
. Вам нужно будет скомпилировать и связать со средами выполнения Cygwin
или MSYS (2)
. Однако я не знаю, насколько хорошо эмулируется ioctl ()
.
Если вы пойдете по этому пути, вы должны знать, что вы больше не можете выполнять кросс-компиляцию только с помощью инструментальной цепочки MinGW. И вам нужно будет использовать вино, если я не ошибаюсь.
Я бы порекомендовал вам начать экспериментировать с MSYS2
. И тестирование вашего кода в реальной среде Windows является обязательным.
Эти превью на самом деле не являются «панелями» в терминологии tmux, даже если они разделяют область терминала аналогичным образом. Таким образом, (в текущих tmux
, 2.7 )не имеет собственной настройки конфигурации и будет отображаться с помощью active-window-style
. Если вы считаете, что это недосмотр, вы можете запросить функцию :
Why doesn't tmux do $x?
Please send feature requests by email to tmux-users@googlegroups.com.
В качестве альтернативы, если вам удобно собирать 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
распознает цвета в следующих форматах:
The colour is one of: black, red, green, yellow, blue, magenta, cyan, white, aixterm bright variants (if supported: brightred, brightgreen, and so on), colour0 to colour255 from the 256-colour set, default, or a hexadecimal RGB string such as ‘#ffffff’.
При установке их в источнике вы должны предоставить их как int
. Читая функциюcolour_fromstring
в colour.c
,вы можете найти их числовые представления:
COLOUR_FLAG_256 |
индексCOLOUR_FLAG_RGB | 0x
RRGGBB