Python curses 闪烁功能在 gnome 终端中不起作用

Python curses blink function doesn't work in gnome-terminal

我正在使用 python curses 库。我正在尝试使用此代码使星号闪烁 win.addstr(6, 4, "*", curses.A_BLINK) 但是它在 gnome 终端上不起作用。我尝试在 xterm 上使用它并且它有效。它也不适用于恢复 shell。如何使用 curses 库或其他方法使文本闪烁?

可以制作一个程序(无论是用诅咒还是硬编码)在屏幕上绘制文本并用空白覆盖它,并有适当的时间延迟(如果它太短,它会惹恼人们 — 请参阅 PuTTY 以获取 that) 的示例。

缺点是"blink"只在程序运行的时候才会,当然有点复杂。

作为 shell 脚本,您可以这样做:

  • 保存 stty 设置,
  • 更改 stty 设置以防止回车 return (\r) 的输出被转换为 \r\n
  • 打印文本,以 \r
  • 结尾
  • 稍等,例如sleep 1
  • 在你写文字的地方打印空白
  • 稍等
  • 循环回到第一个"print"
  • 退出时,恢复 stty 设置。

对于 curses 应用程序 - 您可以通过以类似的方式替换文本来实现 "blink"。对于它的价值,xmas 示例 ncurses-examples uses a combination of window copying and terminal blinking for its animation effects (see C blinkit function and Python translation).