【问题标题】:Hot to set termcap capability 'bw' flag?热设置 termcap 能力'bw'标志?
【发布时间】:2019-07-10 10:52:32
【问题描述】:

我正在学习 termcap 库。我正在尝试在终端中做一个行编辑器。我有一个可以在线移动的光标。一条线一切都很好。但是如果我的行大于终端宽度,我不能使用le 命令将光标从第二行返回到第一行(将光标移到左侧)。我需要设置bw 标志来执行此操作。函数tgetflag() 只返回一个值。我认为我需要使用tcsetsttr() 设置此标志,但找不到正确的标志宏。如何设置bw 标志?

struct termios  stored_settings;
struct termios  new_settings;

tcgetattr(0, &stored_settings);
new_settings = stored_settings;
new_settings.c_lflag &= (~ICANON & ~ECHO);
new_settings.c_cc[VTIME] = 0;
new_settings.c_cc[VMIN] = 1;
tcsetattr(0, TCSANOW, &new_settings);

【问题讨论】:

  • 您可以使用 xterm 来做到这一点(请参阅 Reverse-wraparound Mode),但没有一个模仿者提供该功能。

标签: c shell console termcap


【解决方案1】:

如何设置bw 标志?

auto_left_margin (bw) 是终端功能 之一,即。 e.它仅指示 cub1 是否从第 0 列换行到最后一列。你不能改变终端的行为,你只能查询它并适当地调整你的程序,例如。 G。通过将一条线与其他功能一起定位到其末端。

【讨论】:

    猜你喜欢
    • 2022-08-20
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多