Трудно делать такие вещи с диалогами оболочки,
в zenity я не думаю, что вы можете что-либо сделать с кнопками, но есть еще и zenity, у которого есть некоторые другие опции, такие как скрытие кнопок, но вы все еще не можете знать, когда пользователь вводит что-либо до того, как он нажимает ввод,
Таким образом, вы можете продолжать показывать диалоговое окно без кнопок, пока пользователь не введет в него что-либо, а затем отобразит кнопки, но каждый раз, когда пользователю нужно либо нажать «ввод», либо нажать «ок»
вот как вы можете это сделать
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