如何为 Linux 控制台(不是 X,而是“终端”控制台)制作一个对话框小部件,该小部件会在可能是菜单列表或文本框的小部件旁边显示以秒为单位的倒计时?
理想情况下,这可能是一个独立的程序,如对话框,提供参数来控制其行为。
当倒计时到达 0 时,返回小部件的选定值。如果没有人在场(或者人更喜欢默认值),可能会有一个默认值。像 grub 和 lilo 这样的引导加载程序已经可以做到这一点,几乎。我浏览了对话框手册页,找不到这个功能集。
到目前为止尝试过:
dialog --timeout 30 --menu 'Menu Title' 20 60 3 'A' 'Choose A' 'B' 'Choose B' 'C' 'Choose C'
已接近,但未显示 30 秒计时器正在计时。
dialog --pause 'Hurry!' 10 60 30 --
显示一条消息并在计时器运行时确定/取消,但仅是插页式的,不适用于用户输入。
可以像这样组合多行:
dialog --menu 'Menu Title' 10 60 3 'A' 'Choose A' 'B' 'Choose B' 'C' 'Choose C' --pause 'Hurry up' 10 60 30
但这会按顺序显示小部件,而不是在一页上组合。在这里,在没有计时器回答菜单后,您会收到带有计时器的消息。