【问题标题】:NCurses doesn't change colours, shows 16 colours onlyNCurses 不改变颜色,仅显示 16 种颜色
【发布时间】:2014-02-25 21:53:58
【问题描述】:

我正在尝试为 Windows 上的 Curses 和 Ruby 提供 256 色支持。我很确定这是可能的,因为 Brogue 使用 curses,并且对 Windows 有 256 色支持。

现在,我的设置是使用 Ruby 1.8.7 (yech) 和 NCurses(0.9.1 预编译的二进制文件)。

我现在看到两个问题,我怀疑它们是相关的:

  • Curses.colors 返回16
  • Curses.init_color(...) 不会出错,但不会做任何事情。

一些跑腿工作:

  • ENV['TERM'] 计算为 xterm-256color
  • 尝试了 Ruby 1.9.3 和 2.0(未加载 NCurses)
  • can_change_color 返回false

我错过了什么?

【问题讨论】:

  • 您的目标是标准 Windows 控制台窗口,例如cmd.exe?
  • @echristopherson 是的,我是。

标签: ruby windows ncurses


【解决方案1】:

Windows 控制台窗口仅支持 16 种颜色。使用 minttyConEmuConsole2 等另一个控制台/终端模拟器会更好。

【讨论】:

  • 据我所知,Brogue 使用 NCurses 成功了。我不认为这是真的。
  • Brogue 使用 SDL 实现自己的终端窗口。
  • 你确定吗?我查看了term.h,看到了像init_color(...) 这样的原始诅咒调用。无论如何,他们的终端看起来不像 Windows 控制台,而且 Windows 控制台似乎按照您的建议限制为 16 种颜色。
  • 我很确定,但我并没有深入研究代码。我认为它使用 curses 是可移植的,然后在 Windows 上有一个与 curses 对话的终端层。
  • 仅供参考,我尝试了所有三种颜色,但都没有产生 256 种颜色。
猜你喜欢
  • 2012-05-16
  • 1970-01-01
  • 2021-07-20
  • 2014-08-14
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
相关资源
最近更新 更多