Add workaround for lack of A_ITALIC in old ncurses
A_BLINK has probably always existed, but there's no good reason to ever use it, so make it do italics instead. Normally all attributes are set by a single set_attributes string if it's set, so clear it to force ncurses to use the reassigned enter_blink_mode string. If the terminal has no enter_italics_mode string, then nothing will happen. This makes setting multiple attributes a bit less efficient, but I don't think it's likely to make much of a difference since using multiple attributes at once is so uncommon.master
parent
06fb025496
commit
f4e8f055fb
11
ui.c
11
ui.c
|
@ -53,10 +53,6 @@
|
||||||
#undef lines
|
#undef lines
|
||||||
#undef tab
|
#undef tab
|
||||||
|
|
||||||
#ifndef A_ITALIC
|
|
||||||
#define A_ITALIC A_NORMAL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
StatusLines = 1,
|
StatusLines = 1,
|
||||||
MarkerLines = 1,
|
MarkerLines = 1,
|
||||||
|
@ -241,6 +237,13 @@ void uiInitEarly(void) {
|
||||||
colorInit();
|
colorInit();
|
||||||
atexit(errExit);
|
atexit(errExit);
|
||||||
|
|
||||||
|
#ifndef A_ITALIC
|
||||||
|
#define A_ITALIC A_BLINK
|
||||||
|
// Force ncurses to use individual enter_attr_mode strings:
|
||||||
|
set_attributes = NULL;
|
||||||
|
enter_blink_mode = enter_italics_mode;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!to_status_line && !strncmp(termname(), "xterm", 5)) {
|
if (!to_status_line && !strncmp(termname(), "xterm", 5)) {
|
||||||
to_status_line = "\33]2;";
|
to_status_line = "\33]2;";
|
||||||
from_status_line = "\7";
|
from_status_line = "\7";
|
||||||
|
|
Loading…
Reference in New Issue