Согласно справочной странице curs_set
:
Процедура curs_set
устанавливает состояние курсора на невидимый , нормальный или очень видимый для visibility
, равный 0
, 1
или 2
соответственно. Если терминал поддерживает
запрашиваемая видимость, возвращается предыдущее состояние курсора; в противном случае возвращается ERR
.
Но следующая простая программа не вернула предыдущее состояние:
[STEP 107] # cat curs_set.c
#include <stdio.h>
#include <curses.h>
int main()
{
int ret;
initscr();
ret = curs_set(1);
endwin();
printf("curs_set() returned %d\n", ret);
return 0;
}
[STEP 108] # gcc curs_set.c -lncurses
[STEP 109] # setterm -cursor off
[STEP 110] # ./a.out <-- cursor invisible
curs_set() returned 1 <-- why not 0?
[STEP 111] # tput civis <-- cursor visible
[STEP 112] # ./a.out <-- cursor invisible
curs_set() returned 1 <-- why not 0?
[STEP 113] # <-- cursor visible
Я что-то пропустил?