我正在寻找一个对话框,需要用户输入才能启用“确定”按钮。
我要编写一个Shell脚本来触发该动作。我是否可以知道zenity有任何选项可以在用户键入任何输入之前隐藏按钮?
这是我的脚本:
DISPLAY=:0.0 zenity --entry \
--title="Testing!" \
--text "Would you like to do something?\nPlease provide a valid reason:" \
--ok-label="OK" \
--cancel-label="Cancel" 2>/dev/null &
答案 0 :(得分:0)
使用shell对话框很难做到这一点, 在zenity中,我认为您无法对按钮执行任何操作,但是有yad的zenity叉具有其他一些选项,例如隐藏按钮,但是您仍然不知道用户何时在按下Enter键之前输入了任何内容,
因此,您可以一直显示没有按钮的对话框,直到用户向对话框中输入任何内容然后显示按钮为止,但是每次用户需要按“ enter”或单击“ ok”
这是您可以做到的方式
x='';while [ -z $x ] ; do x=`yad --entry --no-buttons --title="Testing!" --text "Would you like to do something?\nPlease provide a valid reason:"`; done;yad --entry --title="Testing!" --text "Would you like to do something?\nPlease provide a valid reason:" --entry-text=$x