NCurses с WSL неправильно отображают поля - PullRequest
0 голосов
/ 13 марта 2019

Я использую Ubuntu на своем компьютере с Windows и использую подсистему Windows для Linux, чтобы скомпилировать простую программу, использующую ncurses в C, которая показывает окно внутри окна ncurses.Как видно на рисунке ниже, окно не отображается полностью.Что-то не так с моим кодом или это проблема в WSL?

Нарисованное поле отображается неправильно Поле должно растягиваться и соединять левую и правую стороны

    int main()
{
    initscr();
    noecho();
    cbreak();

    int sizeY, sizeX;
    getmaxyx(stdscr, sizeY, sizeX);

    WINDOW *mainMenu = newwin(10, 10, 5, 10);
    box(mainMenu, 0, 0);
    refresh();
    wrefresh(mainMenu);
    keypad(mainMenu, true);

    getch();
    endwin();

    return 0;
}

1 Ответ

1 голос
/ 13 марта 2019

getch(); должно быть wgetch(mainMenu); В противном случае перекраска stdscr может уничтожить часть mainWindow.

Но это не похоже на проблему, показанную на рисунке. Вероятно, это использует TERM=xterm (или TERM=xterm-256color) на каком-то терминале, который не полностью соответствует xterm , например, повтор .

...