【问题标题】:ncurses transparent console backgroundncurses透明控制台背景
【发布时间】:2011-01-25 02:15:43
【问题描述】:

我的控制台启用了透明度,当我运行其他 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();
  • 允许并鼓励回答您自己的问题。你甚至可以从中获得一些代表。
  • 回复以便可以正确回答。

标签: c ncurses


【解决方案1】:

如果您的应用程序调用use_default_colors,ncurses(和NetBSD curses)提供基于ECMA-48 SGR 39 和49“默认颜色”的扩展。执行此操作时,ncurses 会避免显式着色前景色和/或背景色与其对终端颜色的假设相匹配的单元格。

还有一个附加功能 assume_default_colors 可用于改进默认颜色功能,例如,终端使用白色背景上的黑色文本。

您使用的大多数彩色终端都支持 SGR 39/49 代码,因此该功能大部分时间都可以使用。

进一步阅读:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多