1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-09-26 02:46:13 -04:00

[terminfo] Terminfo also for mono terminals

This commit is contained in:
Witold Filipczyk 2023-07-20 12:25:41 +02:00
parent bda0a3d1b7
commit c45209729f
3 changed files with 25 additions and 21 deletions

View File

@ -588,11 +588,7 @@ set_screen_driver_opt(struct screen_driver *driver, struct option *term_spec)
}
} /* !utf8_io */
#ifdef CONFIG_TERMINFO
if (driver->opt.color_mode == COLOR_MODE_MONO) {
driver->opt.terminfo = 0;
} else {
driver->opt.terminfo = get_cmd_opt_bool("terminfo");
}
driver->opt.terminfo = get_cmd_opt_bool("terminfo");
#endif
}
@ -965,8 +961,13 @@ add_char16(struct string *screen, struct screen_driver *driver,
#ifdef CONFIG_TERMINFO
if (driver->opt.terminfo) {
add_to_string(screen, terminfo_set_bold(bold));
add_to_string(screen, terminfo_set_foreground(TERM_COLOR_FOREGROUND_16(ch->c.color)));
add_to_string(screen, terminfo_set_background(TERM_COLOR_BACKGROUND_16(ch->c.color)));
if (driver->opt.color_mode != COLOR_MODE_MONO) {
add_to_string(screen, terminfo_set_foreground(TERM_COLOR_FOREGROUND_16(ch->c.color)));
add_to_string(screen, terminfo_set_background(TERM_COLOR_BACKGROUND_16(ch->c.color)));
} else if (ch->attr & SCREEN_ATTR_STANDOUT) {
add_to_string(screen, terminfo_set_standout(ch->attr & SCREEN_ATTR_STANDOUT));
}
if (italic)
add_to_string(screen, terminfo_set_italics(italic));

View File

@ -31,8 +31,7 @@ terminfo_clear_screen(void)
{
char *res = tiparm(clear_screen);
if (res) return res;
return "";
return res ?: "";
}
const char *
@ -40,8 +39,7 @@ terminfo_set_bold(int arg)
{
char *res = tiparm(arg ? enter_bold_mode : exit_attribute_mode);
if (res) return res;
return "";
return res ?: "";
}
const char *
@ -49,8 +47,7 @@ terminfo_set_italics(int arg)
{
char *res = tiparm(arg ? enter_italics_mode : exit_italics_mode);
if (res) return res;
return "";
return res ?: "";
}
const char *
@ -58,8 +55,7 @@ terminfo_set_underline(int arg)
{
char *res = tiparm(arg ? enter_underline_mode : exit_underline_mode);
if (res) return res;
return "";
return res ?: "";
}
const char *
@ -67,8 +63,7 @@ terminfo_set_background(int arg)
{
char *res = tiparm(set_a_background, arg);
if (res) return res;
return "";
return res ?: "";
}
const char *
@ -76,8 +71,15 @@ terminfo_set_foreground(int arg)
{
char *res = tiparm(set_a_foreground, arg);
if (res) return res;
return "";
return res ?: "";
}
const char *
terminfo_set_standout(int arg)
{
char *res = tiparm(arg ? enter_standout_mode : exit_standout_mode);
return res ?: "";
}
int
@ -91,6 +93,5 @@ terminfo_cursor_address(int y, int x)
{
char *res = tiparm(cursor_address, y, x);
if (res) return res;
return "";
return res ?: "";
}

View File

@ -12,6 +12,8 @@ const char *terminfo_set_italics(int arg);
const char *terminfo_set_underline(int arg);
const char *terminfo_set_foreground(int arg);
const char *terminfo_set_background(int arg);
const char *terminfo_set_standout(int arg);
int terminfo_max_colors(void);
const char *terminfo_cursor_address(int y, int x);