В Gnome/metacity можем ли мы привязать ключ к команде, которая требует ввода данных с клавиатуры?
Все,
У меня есть небольшая утилита, написанная на C, которая требует, чтобы пользователь нажимал клавишу для выбора меню. Код предсказуемо прост:
system("stty raw");
save_ID = getchar();
system("stty cooked");
Он захватывает нажатие клавиши и не нужно ждать ENTER. Он отлично работает из командной строки, однако, когда я пытаюсь привязать команду к горячей клавише в Gnome/metacity, он ждет нажатия клавиши в порядке, но, похоже, нажатие клавиши обрабатывается не как ввод в команду, а как если бы это была отдельная команда. Например. если мое нажатие клавиши "1", и я в терминале, я вижу:
"команда zsh: не найдена: 1"
Я пробовал без "системных" строк, но ничего не изменилось. Возможно, есть какая-то специальная версия "getchar", которая работает с графическим интерфейсом? Кстати, неинтерактивная версия программы прекрасно работает, когда привязана к горячей клавише, поэтому программа в основном функциональна, просто ее нельзя использовать в интерактивном режиме.
Спасибо
1 ответ
Я верю, что GTK может вас заинтересовать, хотя я никогда не использовал его лично.
,
Вы также должны быть в состоянии запустить gnome-терминал. Используя /opt/appFoo/appFoo в качестве команды для нормального запуска приложения, вы запустите
gnome-terminal -e "/opt/appFoo/appFoo" &