attron (A_BLINK), используя Ncurses, ничего не делает

Я использую Ubuntu 14.04, gcc 4.8.2 и Ncurses 5.9.20140118; всякий раз, когда я запускаю любой код, например

attron(A_BLINK); printw("Hi"); refresh(); 

текст, который печатается на терминале, не мигает (или делает hoola-hoops) – это обычный текст, который был бы напечатан

 printw("Hi"); refresh(); 

Я тестировал его на xterm, по умолчанию терминал ubuntu, терминал gnome и Guake с тем же результатом. Нужны ли мне специальные шрифты с поддержкой Blink или что-то для этого?

Я думаю, что ваша проблема связана с используемым терминальным эмулятором и значением, которым установлена ​​переменная $TERM . Я смог использовать некоторый пример кода, который я обнаружил, что работа с этими двумя условиями была выполнена, но это не сработало бы в том же gnome-terminal или terminator .

Образец кода

 #include <ncurses.h> int main(void) { initscr(); attron(A_BOLD); addstr("Twinkle, twinkle little star\n"); attron(A_BLINK); addstr("How I wonder what you are.\n"); attroff(A_BOLD); addstr("Up above the world so high,\n"); addstr("Like a diamond in the sky.\n"); attrset(A_NORMAL); addstr("Twinkle, twinkle little star\n"); addstr("How I wonder what you are.\n"); refresh(); endwin(); return 0; } 

Я скомпилировал его так:

 $ gcc -o blink blink.c -lncurses 

Вы можете видеть, что он работает, подключая свой вывод к hexdump :

 $ ./blink | hexdump -C 00000000 1b 5b 3f 31 30 34 39 68 1b 5b 31 3b 33 31 72 1b |.[?1049h.[1;31r.| 00000010 28 42 1b 5b 6d 1b 5b 34 6c 1b 5b 3f 37 68 1b 5b |(B.[m.[4l.[?7h.[| 00000020 48 1b 5b 32 4a 1b 28 42 1b 5b 30 3b 31 6d 54 77 |H.[2J.(B.[0;1mTw| 00000030 69 6e 6b 6c 65 2c 20 74 77 69 6e 6b 6c 65 20 6c |inkle, twinkle l| 00000040 69 74 74 6c 65 20 73 74 61 72 0d 0a 1b 28 42 1b |ittle star...(B.| 00000050 5b 30 3b 31 3b 35 6d 48 6f 77 20 49 20 77 6f 6e |[0;1;5mHow I won| 00000060 64 65 72 20 77 68 61 74 20 79 6f 75 20 61 72 65 |der what you are| 00000070 2e 0d 0a 1b 28 42 1b 5b 30 3b 35 6d 55 70 20 61 |....(B.[0;5mUp a| 00000080 62 6f 76 65 20 74 68 65 20 77 6f 72 6c 64 20 73 |bove the world s| 00000090 6f 20 68 69 67 68 2c 0d 0a 4c 69 6b 65 20 61 20 |o high,..Like a | 000000a0 64 69 61 6d 6f 6e 64 20 69 6e 20 74 68 65 20 73 |diamond in the s| 000000b0 6b 79 2e 0d 0a 1b 28 42 1b 5b 6d 54 77 69 6e 6b |ky....(B.[mTwink| 000000c0 6c 65 2c 20 74 77 69 6e 6b 6c 65 20 6c 69 74 74 |le, twinkle litt| 000000d0 6c 65 20 73 74 61 72 0d 0a 48 6f 77 20 49 20 77 |le star..How I w| 000000e0 6f 6e 64 65 72 20 77 68 61 74 20 79 6f 75 20 61 |onder what you a| 000000f0 72 65 2e 0d 0a 1b 5b 33 31 3b 31 48 1b 5b 3f 31 |re....[31;1H.[?1| 00000100 30 34 39 6c 0d 1b 5b 3f 31 6c 1b 3e |049l..[?1l.>| 0000010c 

Переход на xterm с $TERM установленным на vt100 . Вот скриншот терминала.

сс # 1

сс # 2