c - NCURSES 在 elementryOS 终端中不显示滚动条

标签 c linux scrollbar ncurses

我一直在使用 NCURSES 库来完成我的作业,但它有一个大问题。 我无法在终端窗口上显示滚动条。我已经尝试了我发现的任何东西 here但它们似乎都不起作用。 我在 StackExhcange 中找到了这个代码部分,但即使这样也不显示滚动条。

#include <ncurses.h>

int main(void)
{
int i = 0;

initscr();

scrollok(stdscr,TRUE);

while(i<500) {
    printw("%3d - lots and lots of lines flowing down the terminal\n", i);
    ++i;
    refresh();
}

getchar();

endwin();
return 0;
}

是不是 elementaryOS 的问题,因为我听说它已经被修改了。

最佳答案

两种可能性:

  • 终端描述可能使用了xterm alternate screen feature .一些终端在使用备用屏幕时不显示滚动条,因为滚动被禁用。例如,VTE 是您默认使用的真实终端,在此模式下具有(硬编码)行为,可将您的滚动转换为上/下光标键。
  • OP 期望 curses 应用程序显示滚动条。他们不会,除非应用程序模拟滚动条。

例如,dialog做后者。这是一个例子:

screenshot of dialog with simulated scrollbars

关于c - NCURSES 在 elementryOS 终端中不显示滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41563207/

相关文章:

c - 在这种情况下增量运算符的功能

c - snprintf() 不适用于就地修改字符串

c - 在 C 中使用 PCRE 在文件中搜索和替换

linux - Bash合并文件中的2个连续行

c - 在结构体中使用 char

linux - 使用 grep 打印模式后的匹配词

python - Linux/ python : Monitor/proc/acpi files without polling?

javascript - 是否可以在IE中实现WebKit的Scrollbar效果?

javascript - 使用 SVG 和 d3.js 创建滚动条

html - 如何仅在悬停时显示滚动条? (支持手机)