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 он попытки изменить размер экрана до заданного размера. […] «

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

0

Другие решения

Других решений пока нет …