2015-12-15 3 views
0

с ncurses.h, я могу создать C++ проект в OS X.
OS X: C++ Xcode Ncurses размер терминала

Вот пример:

int main(int argc, char *argv[]) 
{ 
    // resizeterm(50, 50); 
    initscr(); 
    // resizeterm(50, 50); 
    move(10, 10); 
    printw("%c", 'x'); 
    return 0; 
} 

Я скомпилировать его в терминале:

g++ -std=c++11 main.cpp -o main.o 
g++ -std=c++11 -lncurses main.o 

Затем я получил исполняемый файл: a.out.

Теперь, если я нахожу ./a.out в терминале, терминал распечатает x в позиции (10, 10).

Теперь я хочу изменить размер терминала. Это означает, что при запуске ./a.out я могу сразу получить терминал с размером, который я установил. Google дал мне функцию: resizeterm(int, int). Но это не сработает.

Когда я открываю терминал, его размер составляет 80 * 24 по умолчанию.
Затем я выполняю ./a.out, размер терминала не изменяется. Это всегда 80 * 24.

+0

Я считаю, что 'resizeterm' работает только с окнами X11. – molbdnilo

ответ

0

ncursesresponds в окно изменения размера событий, то есть, SIGWINCH. Он не изменить размер терминала (см. Страницу руководства для resizeterm).

xterm и некоторые другие терминальные эмуляторы реагируют на escape-последовательность, которая сообщает об изменении размера. Вы можете воспользоваться, что с помощью программы утилиты resize, например,

resize -s 40 80 

сделать 40 строк и 80 столбцов. В OSX Terminal.app отвечает на эту escape-последовательность. iTerm 2 нет.

Смежные вопросы