【问题标题】:OS X: c++ xcode ncurses resize terminalOS X: c++ xcode ncurses 调整终端大小
【发布时间】:2016-03-21 09:53:00
【问题描述】:

使用ncurses.h,我可以在 OS X 中创建一个 c++ 项目。

这是一个例子:

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,终端将在 (10, 10) 的位置打印 x

现在我想更改终端的大小。这意味着当我运行./a.out 时,我可以立即获得一个具有我设置的大小的终端。谷歌给了我一个函数:resizeterm(int, int)。但它不起作用。

当我打开一个终端时,它的大小默认为 80 * 24。
然后我执行./a.out,终端的大小没有改变。它总是 80 * 24。

【问题讨论】:

  • 我相信resizeterm 只适用于 X11 窗口。

标签: c++ xcode macos terminal resize


【解决方案1】:

ncurses responds 到窗口大小调整事件,即SIGWINCH。它不会调整终端的大小(请参阅resizeterm 的手册页)。

xterm 和其他一些终端仿真器响应一个转义序列,告诉它调整大小。您可以使用实用程序 resize 来练习,例如,

resize -s 40 80

制作 40 行 80 列。在 OSX 上,Terminal.app 响应这个转义序列。 iTerm 2 没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-21
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2017-11-06
    相关资源
    最近更新 更多