будет работать, если у вас есть полная база данных терминала ...

учаю два разных поведения с использованием разных терминалов, это мой код:

(use ncurses)

(initscr)
(curs_set 0)
(noecho)
(start_color)

(define win (newwin 20 50 1 1))

(wclear win)

(box win 0 0) 
(for-each (lambda (y) 
    (for-each (lambda (x) 
        (mvwaddch win y x #\. ))
    (iota 49)))
(iota 19))

(wrefresh win)

(wgetch win)

(endwin)

Код написан на Chicken Scheme, но он легко читается любым, кто знает nCurses. Я думаю, что моя проблема не касается библиотеки, потому что это простая оболочка, которая вызывает функции Си.

Тем не менее, я получаю правильное поведение (окно в штучной упаковке), если я использую xterm, uxterm или терминал linux, вы можете войти с помощью CTRL-ALT-F1.

.................................................┐
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
└────────────────────────────────────────────────┘

Но если я использую любые другие терминалы, такие как gnome-терминал, терминатор или сакура, я получаю это:

 .┐
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 └─┘

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

 Andrea Ciceri11 сент. 2017 г., 21:48
Я думаю, что это ошибка используемой версии библиотеки, я пробовал этот код на машине Xubuntu 17.04 с пакетом ncurses 2016-06-25, и он отлично работает. Я попробовал другие терминалы на моем компьютере, ArchLinux с последним пакетомкурсы 6.0 + 20170902-1 и проблема сохраняется.
 Andrea Ciceri11 сент. 2017 г., 23:13
Я подтверждаю, что при понижении версии пакета на ArchLinux проблема не возникает, я не знаю, это ошибка или что
 Andrea Ciceri11 сент. 2017 г., 23:01
@ThomasDickey мой терминал не такой маленький, кроме того, программа выполняется и завершается без ошибок.
 Thomas Dickey11 сент. 2017 г., 22:16
Если окно вашего терминала меньше 20x50, это не удастся:(define win (newwin 20 50 1 1))

Ответы на вопрос(1)

Решение Вопроса

TERM переменная установлена ​​вxterm, что иногда создает проблемы для терминалов на основе VTE (gnome-Terminal и т. д.). Это FAQ (Почему бы просто не использовать TERM со значением "xterm"?).

Это не ошибка (во всяком случае, в ncurses).

Установка его вvte будет работать, если у вас есть полная база данных терминала ...

Ваш ответ на вопрос