Я использую следующий код для определения размера терминала (столбцы и строки).
struct winsize ts = {0};
signed const rc = ioctl(STDOUT_FILENO, TIOCGWINSZ, &ts);
Перед инициализацией curses с вызовом initscr () возвращается правильное количество строк. После инициализации значение, возвращаемое для строк, на единицу меньше истинного значения. Количество столбцов одинаково. Это выглядит одинаково для разных платформ и библиотек curses.
Это ожидаемое поведение при использовании проклятий? Я не смог найти документацию по этому вопросу.