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).
我正在使用 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).