с ncurses.h
, мога да създам C + + проект в OS X.
Ето един пример:
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 за отговор № 1ncurses реакция по до събития за промяна на прозореца, т.е., SIGWINCH
, Това е така не преоразмерете терминала (вижте ръководството за resizeterm
).
Xterm а някои други емулатори на терминали отговарят на последователност на евакуация, която я кара да преоразмерява. Можете да го упражнявате с помощта на програмата resize
, например,
resize -s 40 80
да направите 40 реда от 80 колони. На OSX, Terminal.app
отговаря на тази последователност на бягство. iTerm 2
не.