gdialog не позволяет вводить или двойной щелчок

Дело в том, что у меня были довольно трудные времена с gdialog в последнее время. Давайте сначала продемонстрируем проблему с помощью этого примера кода bash:

#!/bin/bash
source ./Functionlib

temp1=$(mktemp -t tfile.XXXXXX)
while [ 1 ]
do
gdialog --title "ExampleProgram" --menu "Program Menu" 20 30 10 1 "FirstFunction" 2 "SecondFunction" 3 "ThirdFunction" 4 "Exit" 2> $temp1
if [ $? -eq 1 ]; then
    break
fi
selection=$(cat $temp1)

case $selection in
1) FirstFunction
   ;;
2) SecondFunction
   ;;
3) ThirdFunction
   ;;
4) break
   ;;
*) gdialog --msgbox "Invalid selection" 10 30
esac
done
rm -f $temp1

Итак, в основном все работает нормально. Но есть еще проблема. Когда я пытаюсь перемещаться между опциями, и я нажимаю клавишу ввода, когда он на нем, он запускает опцию Invalid selection . Неважно, если я перемещаюсь с нажатием правой цифры или клавиш со стрелками. Точно так же происходит при двойном нажатии. Таким образом, кажется, что единственный способ выбрать опцию - сначала нажать на нее, чтобы сделать ее активной, а затем нажать «ОК».

Изначально я просто подумал, что должно быть что-то в gdialog , которого я не знаю. Но я использовал для создания такого рода меню сначала диалог , а затем . И все вышеперечисленное работало отлично. Я пытался найти ответ везде, но не так много информации о gdialog . Тем не менее, как я выяснил, он использует те же опции, что и диалог .

Итак, есть ли что-то, о чем я не знаю? Да, он довольно старый, я знаю, но могу ли я заставить его работать? Или я должен вместо этого использовать zenity ?

Текущая система: Ubuntu 14.04.4 LTS

Версия ядра: 4.2.0-35-generic

0
задан 15 July 2016 в 20:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: