ncurses透明控制台背景
我的控制台启用了透明度,当我运行其他ncurses应用程序时,我看到背景保持透明。 我正在努力使我的应用程序保持透明度,而不是应用深黑色不透明背景。
这就是我到目前为止所做的
start_color(); init_pair(1, COLOR_GREEN, COLOR_BLACK); attron(COLOR_PAIR(1)); mvprintw(10,10, "Hello"); refresh(); attroff(COLOR_PAIR(1));
有任何想法吗?
谢谢
如果您的应用程序调用use_default_colors
,则ncurses(和NetBSD curses )提供基于ECMA-48 SGR 39和49“默认颜色”的扩展。 执行此操作时,ncurses会禁止显式着色前景和/或背景颜色与其关于终端颜色的假设相匹配的单元格。
还有一个附加functionassume_default_colors
可用于改善默认颜色function,其中终端(例如)在白色背景上使用黑色文本。
您使用的大多数支持颜色的终端都支持SGR 39/49代码,因此大多数时候都可以使用该function。
进一步阅读:
- 默认颜色