Различие между set_foreground
и set_a_foreground
(а также фоновыми возможностями) находится в terminfo(5)
страница руководства в Цвет Раздел обработки. Имейте в виду, что длинные имена используются нечасто, и вам следует искать setf
, а не setaf
:
The setaf/setab and setf/setb capabilities take a single
numeric argument each. Argument values 0-7 of setaf/setab
are portably defined as follows (the middle column is the
symbolic #define available in the header for the curses or
ncurses libraries). The terminal hardware is free to map
these as it likes, but the RGB values indicate normal
locations in color space.
Color #define Value RGB
black COLOR_BLACK 0 0, 0, 0
red COLOR_RED 1 max,0,0
green COLOR_GREEN 2 0,max,0
yellow COLOR_YELLOW 3 max,max,0
blue COLOR_BLUE 4 0,0,max
magenta COLOR_MAGENTA 5 max,0,max
cyan COLOR_CYAN 6 0,max,max
white COLOR_WHITE 7 max,max,max
The argument values of setf/setb historically correspond
to a different mapping, i.e.,
Color #define Value RGB
black COLOR_BLACK 0 0, 0, 0
blue COLOR_BLUE 1 0,0,max
green COLOR_GREEN 2 0,max,0
cyan COLOR_CYAN 3 0,max,max
red COLOR_RED 4 max,0,0
magenta COLOR_MAGENTA 5 max,0,max
yellow COLOR_YELLOW 6 max,max,0
white COLOR_WHITE 7 max,max,max
It is important to not confuse the two sets of color capa-
bilities; otherwise red/blue will be interchanged on the
display.
Большинство приложений, использующих только terminfo (а не curses), используют tparm
для форматирования строки, заменив (числовой) параметр, а затем используйте tputs
для результирующей строки, чтобы фактически записать ее. Два из них учитывают отступы и задержки (обычно не встречаются в возможностях color, но в целом в terminfo).
Программа ncurses-examples dots использует эти функции для произвольного рисования цветных ячеек на экране. (В примере tparm2
, tparm3
— это макросы, предоставляющие дополнительные параметры, которые требуются прототипу tparm
).
person
Thomas Dickey
schedule
11.03.2017