我试图将文本阅读器/伪命令行设置为man
,但是我很难使文本滚动到想要的样子。最初,我在滚动时无法显示新文本时遇到麻烦,但最终我发现填充板将为我解决该问题,而我目前正在集成它们。
我的问题是,我怎样才能将文本包裹在笔记本中?目前,我的程序在调整大小时会自动刷新,因此将焊盘定义为与终端一样多的列并不能解决所有问题。当我的终端收到KEY_RESIZE
时,我可以使键盘根据需要自动调整大小吗?不仅是显示的大小,还有垫子的大小,由于垫子的末端,文本被向下推了一行。此外,调整其大小仍会保留文本,如有必要,将其向下移动,还是需要刷新键盘的内容?
不幸的是,我在查找具有这些详细信息的资源时遇到了麻烦,ncurses中的文档并没有详细说明调整焊盘大小的行为。
非常感谢!
在回答后进行编辑:ncurses不会执行此操作,因此我将尝试制作一些字符串数组,一个用于存储文件中的文本(在\n
处断开),另一个用于换行(在KEY_RESIZE
上刷新,每个字符串具有终端行的最大长度),根据滚动位置等将其部分打印到主体窗口。我正在进行此编辑,以便以后看到此问题的其他任何人都可以看到我的解决方案。我尚未完成此操作,因此如果失败,我将再次对其进行编辑。再次感谢Stack Overflow对此提供的帮助!
答案 0 :(得分:1)
ncurses不会执行您的预期:
addch
会包裹起来-但您使用的 视口 在平板电脑中显示数据不是窗口,并且在平板电脑右侧包装不一定与该视口有关。如果要调整大小和重新包装,程序应允许重写窗口中的所有文本(按照您的意愿进行布局),而不必依赖ncurses来决定如何重新包装文本。 / p>