PDCurses resize_term произвольно завершается неудачно или успешно

Я пытаюсь изменить размер окна терминала, в котором я печатал, с помощью PDCurses. Это работает только иногда. В противном случае он просто устанавливает себе размер по умолчанию, даже не возвращая ошибку.

Примеры размеров, которые работают:

resize_term(50, 50);
resize_term(100, 100);
resize_term(51, 100);
resize_term(50, 51);
resize_term(2, 60);

Примеры размеров, которые не работают:

resize_term(51, 51);
resize_term(51, 50);
resize_term(100, 51);
resize_term(60, 2);

Кто-нибудь знает, почему эти определенные диапазоны размеров не работают?

(Также имейте в виду, что resize_term принимает ширину в качестве второго аргумента, а не первого)

1 ответ

Я заметил, что curses не изменяет размеры терминала, когда он "думает", что он может выйти за пределы экрана (физического, реального мира).

Извините за отсутствие деталей, я не знаю основную механику этого поведения.

РЕДАКТИРОВАТЬ:
Вот цитата из документации PDCurses:

"resize_term () - это две функции: при вызове с ненулевыми значениями для nlines и ncols он пытается изменить размер экрана до заданного размера.[...]"

Очевидно, подчеркивается "попытка", но она не дает никакой дополнительной информации...

Другие вопросы по тегам