【发布时间】:2020-09-27 04:36:26
【问题描述】:
我有一个使用 ncurses 的终端程序,它会定期更改前景色和背景色。不幸的是,光标颜色在终端滚动之前不会改变。 ncurses 在滚动期间做了什么导致 xterm 和其他符合 ANSI 的终端仿真器更改光标颜色?
我的 .Xresources 中有这个:
xterm*cursorColor: *XtDefaultForeground
我发现了这个:How do I change the cursor color in ncurses forms? 向我展示了更改光标颜色的转义序列,但它没有考虑到光标实际上更亮的事实,因为它是粗体。我可以将我从color_content() 得到的值乘以 1.48,但这让我觉得以后会招来麻烦。
出于某种原因,我无法弄清楚,仅将粗体颜色除以非粗体颜色(使用颜色选择器获得的值)不起作用。结果颜色更亮,但与目标值不匹配,所以我通过反复试验找到了 1.48。
如果我坚持使用转义序列,那没关系,但我想知道一种更简洁的方法来正确加粗颜色。
【问题讨论】:
标签: terminal ncurses xterm terminal-emulator