Приветствую. Как оставить открытым окно в kdialog --menu после нажатия кнопки?
#!/bin/bash
choice=$(kdialog --menu "CHOOSE
ONE:" 1 "RED" 2 "YELLOW" 3 "GREEN");
if [ "$?" = 0 ]; then
if [ "$choice" = 1 ]; then
kdialog --msgbox "YOU CHOSE RED";
elif [ "$choice" = 2 ]; then
kdialog --msgbox "YOU CHOSE YELLOW";
elif [ "$choice" = 3 ]; then
kdialog --msgbox "YOU CHOSE GREEN";
else
kdialog --error "ERROR";
fi;
elif [ "$?" = 1 ];then
kdialog --sorry "YOU CHOSE CANCEL" | exec
else
kdialog --error "ERROR";
fi;
Нужно оставить окно открытым после выбора пункта меню, чтобы можно было выбрать и другие варианты.
1) Сделать цикл. Пока не завершится - не закрывать. Т.е. следующее окно открываться будет "поверх" предыдущего.
2) Сделать функцию. И после каждого вызова её теребонькать.
Т.е. Вызываем функцию выбора цветов. Выбрал цвет - вызываем ещё функцию в функции. И так пока не выберет Cancel например )
3) Переписать на PyQT например. Или на C/C++.
Я заюзал zenity для одного своего проекта. Но смысл приблизительно представляю что вам надо.
Вот гляньте моё кривое поделие. Там легко понять и разобраться как я эти циклы рисовал. Главное разобраться где какая функция фунциклирует... 8)
Ну вот тут сам "запускатр", а дальше понятно где искать "функции".
Готовый пакет можно пощупать тут
Ну пока остановился на подобном варианте, только в kdialog. С Qdbus не получилось.
Отправить комментарий